diff --git a/pythonbindings/src/gpu/submodules/grid_scaling_factory.cpp b/pythonbindings/src/gpu/submodules/grid_scaling_factory.cpp index 04c5fef2dc9c002e97447d16fc6aa96458bdb54f..51a2c12b87bb33eb3bb1f4f99e249394cff8357f 100644 --- a/pythonbindings/src/gpu/submodules/grid_scaling_factory.cpp +++ b/pythonbindings/src/gpu/submodules/grid_scaling_factory.cpp @@ -46,7 +46,6 @@ namespace grid_scaling_factory py::enum_<GridScalingFactory::GridScaling>(parentModule, "GridScaling") .value("ScaleCompressible", GridScalingFactory::GridScaling::ScaleCompressible) - .value("ScaleRhoSq", GridScalingFactory::GridScaling::ScaleRhoSq) .value("NotSpecified", GridScalingFactory::GridScaling::NotSpecified); } } \ No newline at end of file diff --git a/src/gpu/core/Calculation/UpdateGrid27.cpp b/src/gpu/core/Calculation/UpdateGrid27.cpp index beeb1ed66518295581c5c1db5df5e2c4543606ce..d921322faf1a19af208ac8e407b3c7a33c8fdd25 100644 --- a/src/gpu/core/Calculation/UpdateGrid27.cpp +++ b/src/gpu/core/Calculation/UpdateGrid27.cpp @@ -316,28 +316,11 @@ void UpdateGrid27::preCollisionBC(int level, unsigned int t) void UpdateGrid27::fineToCoarse(int level, InterpolationCells* fineToCoarse, ICellNeigh &neighborFineToCoarse, CudaStreamIndex streamIndex) { gridScalingKernelManager->runFineToCoarseKernelLB(level, fineToCoarse, neighborFineToCoarse, streamIndex); - - if (para->getDiffOn()) { - if (para->getStreamManager()->streamIsRegistered(streamIndex)) { - printf("fineToCoarse Advection Diffusion not implemented"); // TODO - return; - } - gridScalingKernelManager->runFineToCoarseKernelAD(level); - } } void UpdateGrid27::coarseToFine(int level, InterpolationCells* coarseToFine, ICellNeigh &neighborCoarseToFine, CudaStreamIndex streamIndex) { this->gridScalingKernelManager->runCoarseToFineKernelLB(level, coarseToFine, neighborCoarseToFine, streamIndex); - - if (para->getDiffOn()) - { - if(para->getStreamManager()->streamIsRegistered(streamIndex)){ - printf("CoarseToFineWithStream Advection Diffusion not implemented"); // TODO - return; - } - this->gridScalingKernelManager->runCoarseToFineKernelAD(level); - } } void UpdateGrid27::interactWithActuators(int level, unsigned int t) diff --git a/src/gpu/core/GridScaling/GridScalingFactory.cpp b/src/gpu/core/GridScaling/GridScalingFactory.cpp index 9eb24781c2f5e11c39381adef541ca72ed5df6a4..999e1910ddf5a50c5a1c15a91412710f9641bd2f 100644 --- a/src/gpu/core/GridScaling/GridScalingFactory.cpp +++ b/src/gpu/core/GridScaling/GridScalingFactory.cpp @@ -26,8 +26,9 @@ // You should have received a copy of the GNU General Public License along // with VirtualFluids (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // -//! \author Anna Wellmann, Martin Schönherr +//! \author Anna Wellmann, Martin Schoenherr //======================================================================================= + #include "GridScalingFactory.h" #include "Scaling.cuh" @@ -40,12 +41,9 @@ gridScaling GridScalingFactory::getGridScalingFC(bool hasTurbulentViscosity) con { // for descriptions of the scaling types refer to the header switch (gridScalingType) { - case GridScaling::ScaleRhoSq: - return ScaleFC_RhoSq_comp_27; - break; case GridScaling::ScaleCompressible: - if(hasTurbulentViscosity) return ScaleFC_compressible<true>; - else return ScaleFC_compressible<false>; + if(hasTurbulentViscosity) return scaleFineToCoarseCompressible<true>; + else return scaleFineToCoarseCompressible<false>; break; default: return nullptr; @@ -56,13 +54,10 @@ gridScaling GridScalingFactory::getGridScalingCF(bool hasTurbulentViscosity) con { // for descriptions of the scaling types refer to the header switch (gridScalingType) { - case GridScaling::ScaleRhoSq: - return ScaleCF_RhoSq_comp_27; - break; case GridScaling::ScaleCompressible: { - if(hasTurbulentViscosity) return ScaleCF_compressible<true>; - else return ScaleCF_compressible<false>; + if(hasTurbulentViscosity) return scaleCoarseToFineCompressible<true>; + else return scaleCoarseToFineCompressible<false>; break; } default: diff --git a/src/gpu/core/GridScaling/GridScalingFactory.h b/src/gpu/core/GridScaling/GridScalingFactory.h index 1df9102a3ebb65d5905601c1a4f550c28b0aca0a..b17f573a1ede507c099056d0b178e5f234ebf77d 100644 --- a/src/gpu/core/GridScaling/GridScalingFactory.h +++ b/src/gpu/core/GridScaling/GridScalingFactory.h @@ -26,7 +26,7 @@ // You should have received a copy of the GNU General Public License along // with VirtualFluids (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // -//! \author Anna Wellmann, Martin Schönherr +//! \author Anna Wellmann, Martin Schoenherr //======================================================================================= #ifndef GS_FACTORY #define GS_FACTORY @@ -49,8 +49,7 @@ public: enum class GridScaling { //! - ScaleCompressible = basic scaling for compressible fluid flow ScaleCompressible, - //! - DEPRECATED: ScaleRhoSq = scaling for cumulant kernel rho squared - ScaleRhoSq, + //! - not specified scaling NotSpecified }; diff --git a/src/gpu/core/GridScaling/GridScalingKernelManager.cpp b/src/gpu/core/GridScaling/GridScalingKernelManager.cpp index 611addf31f32f3b0957a32a1efb5b7c10f72656e..fc7751853680490c2e2537718d5f0020947d2ad8 100644 --- a/src/gpu/core/GridScaling/GridScalingKernelManager.cpp +++ b/src/gpu/core/GridScaling/GridScalingKernelManager.cpp @@ -61,442 +61,11 @@ GridScalingKernelManager::GridScalingKernelManager(SPtr<Parameter> parameter, Gr void GridScalingKernelManager::runFineToCoarseKernelLB(const int level, InterpolationCells *fineToCoarse, ICellNeigh &neighborFineToCoarse, CudaStreamIndex streamIndex) const { cudaStream_t stream = para->getStreamManager()->getStream(streamIndex); - this->scalingFineToCoarse(para->getParD(level).get(), para->getParD(level+1).get(), fineToCoarse, neighborFineToCoarse, stream); - - // ScaleFC_comp_D3Q27F3( - // para->getParD(level)->distributions.f[0], - // para->getParD(level+1)->distributions.f[0], - // para->getParD(level)->g6.g[0], - // para->getParD(level)->neighborX, - // para->getParD(level)->neighborY, - // para->getParD(level)->neighborZ, - // para->getParD(level+1)->neighborX, - // para->getParD(level+1)->neighborY, - // para->getParD(level+1)->neighborZ, - // para->getParD(level)->numberOfNodes, - // para->getParD(level+1)->numberOfNodes, - // para->getParD(level)->isEvenTimestep, - // icellFC->ICellFCC, - // icellFC->ICellFCF, - // icellFC->kFC, - // para->getParD(level)->omega, - // para->getParD(level+1)->omega, - // para->getParD(level)->vis, - // para->getParD(level)->nx, - // para->getParD(level)->ny, - // para->getParD(level+1)->nx, - // para->getParD(level+1)->ny, - // para->getParD(level)->numberofthreads, - // para->getParD(level)->offFC, - // stream); - - // ScaleFC_0817_comp_27( - // para->getParD(level)->distributions.f[0], - // para->getParD(level+1)->distributions.f[0], - // para->getParD(level)->neighborX, - // para->getParD(level)->neighborY, - // para->getParD(level)->neighborZ, - // para->getParD(level+1)->neighborX, - // para->getParD(level+1)->neighborY, - // para->getParD(level+1)->neighborZ, - // para->getParD(level)->numberOfNodes, - // para->getParD(level+1)->numberOfNodes, - // para->getParD(level)->isEvenTimestep, - // icellFC->ICellFCC, - // icellFC->ICellFCF, - // icellFC->kFC, - // para->getParD(level)->omega, - // para->getParD(level+1)->omega, - // para->getParD(level)->vis, - // para->getParD(level)->nx, - // para->getParD(level)->ny, - // para->getParD(level+1)->nx, - // para->getParD(level+1)->ny, - // para->getParD(level)->numberofthreads, - // para->getParD(level)->offFC, - // stream); - - // ScaleFC_RhoSq_3rdMom_comp_27( - // para->getParD(level)->distributions.f[0], - // para->getParD(level+1)->distributions.f[0], - // para->getParD(level)->neighborX, - // para->getParD(level)->neighborY, - // para->getParD(level)->neighborZ, - // para->getParD(level+1)->neighborX, - // para->getParD(level+1)->neighborY, - // para->getParD(level+1)->neighborZ, - // para->getParD(level)->numberOfNodes, - // para->getParD(level+1)->numberOfNodes, - // para->getParD(level)->isEvenTimestep, - // icellFC->ICellFCC, - // icellFC->ICellFCF, - // icellFC->kFC, - // para->getParD(level)->omega, - // para->getParD(level+1)->omega, - // para->getParD(level)->vis, - // para->getParD(level)->nx, - // para->getParD(level)->ny, - // para->getParD(level+1)->nx, - // para->getParD(level+1)->ny, - // para->getParD(level)->numberofthreads, - // para->getParD(level)->offFC, - // stream); - - // ScaleFC_AA2016_comp_27( - // para->getParD(level)->distributions.f[0], - // para->getParD(level+1)->distributions.f[0], - // para->getParD(level)->neighborX, - // para->getParD(level)->neighborY, - // para->getParD(level)->neighborZ, - // para->getParD(level+1)->neighborX, - // para->getParD(level+1)->neighborY, - // para->getParD(level+1)->neighborZ, - // para->getParD(level)->numberOfNodes, - // para->getParD(level+1)->numberOfNodes, - // para->getParD(level)->isEvenTimestep, - // icellFC->ICellFCC, - // icellFC->ICellFCF, - // icellFC->kFC, - // para->getParD(level)->omega, - // para->getParD(level+1)->omega, - // para->getParD(level)->vis, - // para->getParD(level)->nx, - // para->getParD(level)->ny, - // para->getParD(level+1)->nx, - // para->getParD(level+1)->ny, - // para->getParD(level)->numberofthreads, - // para->getParD(level)->offFC, - // stream); - - - ////////////////////////////////////////////////////////////////////////// - // D E P R E C A T E D - ////////////////////////////////////////////////////////////////////////// - - //ScaleFC27( para->getParD(level)->distributions.f[0], para->getParD(level+1)->distributions.f[0], - // para->getParD(level)->neighborX, para->getParD(level)->neighborY, para->getParD(level)->neighborZ, - // para->getParD(level+1)->neighborX, para->getParD(level+1)->neighborY, para->getParD(level+1)->neighborZ, - // para->getParD(level)->numberOfNodes, para->getParD(level+1)->numberOfNodes, para->getParD(level)->isEvenTimestep, - // para->getParD(level)->intFC.ICellFCC, para->getParD(level)->intFC.ICellFCF, - // para->getParD(level)->K_FC, para->getParD(level)->omega, para->getParD(level+1)->omega, - // para->getParD(level)->vis, para->getParD(level)->nx, para->getParD(level)->ny, - // para->getParD(level+1)->nx, para->getParD(level+1)->ny, para->getParD(level)->gridNX); - //getLastCudaError("ScaleFC27 execution failed"); - - //ScaleFCEff27( para->getParD(level)->distributions.f[0], para->getParD(level+1)->distributions.f[0], - // para->getParD(level)->neighborX, para->getParD(level)->neighborY, para->getParD(level)->neighborZ, - // para->getParD(level+1)->neighborX, para->getParD(level+1)->neighborY, para->getParD(level+1)->neighborZ, - // para->getParD(level)->numberOfNodes, para->getParD(level+1)->numberOfNodes, para->getParD(level)->isEvenTimestep, - // para->getParD(level)->intFC.ICellFCC, para->getParD(level)->intFC.ICellFCF, - // para->getParD(level)->K_FC, para->getParD(level)->omega, para->getParD(level+1)->omega, - // para->getParD(level)->vis, para->getParD(level)->nx, para->getParD(level)->ny, - // para->getParD(level+1)->nx, para->getParD(level+1)->ny, para->getParD(level)->numberofthreads, - // para->getParD(level)->offFC); - //getLastCudaError("ScaleFC27 execution failed"); - - //ScaleFCLast27( para->getParD(level)->distributions.f[0], para->getParD(level+1)->distributions.f[0], - // para->getParD(level)->neighborX, para->getParD(level)->neighborY, para->getParD(level)->neighborZ, - // para->getParD(level+1)->neighborX, para->getParD(level+1)->neighborY, para->getParD(level+1)->neighborZ, - // para->getParD(level)->numberOfNodes, para->getParD(level+1)->numberOfNodes, para->getParD(level)->isEvenTimestep, - // para->getParD(level)->intFC.ICellFCC, para->getParD(level)->intFC.ICellFCF, - // para->getParD(level)->K_FC, para->getParD(level)->omega, para->getParD(level+1)->omega, - // para->getParD(level)->vis, para->getParD(level)->nx, para->getParD(level)->ny, - // para->getParD(level+1)->nx, para->getParD(level+1)->ny, para->getParD(level)->numberofthreads, - // para->getParD(level)->offFC); - //getLastCudaError("ScaleFC27 execution failed"); - - //ScaleFCpress27(para->getParD(level)->distributions.f[0], para->getParD(level+1)->distributions.f[0], - // para->getParD(level)->neighborX, para->getParD(level)->neighborY, para->getParD(level)->neighborZ, - // para->getParD(level+1)->neighborX, para->getParD(level+1)->neighborY, para->getParD(level+1)->neighborZ, - // para->getParD(level)->numberOfNodes, para->getParD(level+1)->numberOfNodes, para->getParD(level)->isEvenTimestep, - // para->getParD(level)->intFC.ICellFCC, para->getParD(level)->intFC.ICellFCF, - // para->getParD(level)->K_FC, para->getParD(level)->omega, para->getParD(level+1)->omega, - // para->getParD(level)->vis, para->getParD(level)->nx, para->getParD(level)->ny, - // para->getParD(level+1)->nx, para->getParD(level+1)->ny, para->getParD(level)->numberofthreads, - // para->getParD(level)->offFC); - //getLastCudaError("ScaleFC27 execution failed"); - - // ScaleFC_Fix_comp_27( para->getParD(level)->distributions.f[0], para->getParD(level+1)->distributions.f[0], - // para->getParD(level)->neighborX, para->getParD(level)->neighborY, para->getParD(level)->neighborZ, - // para->getParD(level+1)->neighborX, para->getParD(level+1)->neighborY, para->getParD(level+1)->neighborZ, - // para->getParD(level)->numberOfNodes, para->getParD(level+1)->numberOfNodes, para->getParD(level)->isEvenTimestep, - // para->getParD(level)->intFC.ICellFCC, para->getParD(level)->intFC.ICellFCF, - // para->getParD(level)->K_FC, para->getParD(level)->omega, para->getParD(level+1)->omega, - // para->getParD(level)->vis, para->getParD(level)->nx, para->getParD(level)->ny, - // para->getParD(level+1)->nx, para->getParD(level+1)->ny, para->getParD(level)->numberofthreads, - // para->getParD(level)->offFC); - // getLastCudaError("ScaleFC27 execution failed"); - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // incompressible - //ScaleFC_Fix_27(para->getParD(level)->distributions.f[0], para->getParD(level+1)->distributions.f[0], - // para->getParD(level)->neighborX, para->getParD(level)->neighborY, para->getParD(level)->neighborZ, - // para->getParD(level+1)->neighborX, para->getParD(level+1)->neighborY, para->getParD(level+1)->neighborZ, - // para->getParD(level)->numberOfNodes, para->getParD(level+1)->numberOfNodes, para->getParD(level)->isEvenTimestep, - // para->getParD(level)->intFC.ICellFCC, para->getParD(level)->intFC.ICellFCF, - // para->getParD(level)->K_FC, para->getParD(level)->omega, para->getParD(level+1)->omega, - // para->getParD(level)->vis, para->getParD(level)->nx, para->getParD(level)->ny, - // para->getParD(level+1)->nx, para->getParD(level+1)->ny, para->getParD(level)->numberofthreads, - // para->getParD(level)->offFC); - //getLastCudaError("ScaleFC27 execution failed"); - - //ScaleFC_NSPress_27(para->getParD(level)->distributions.f[0], para->getParD(level+1)->distributions.f[0], - // para->getParD(level)->neighborX, para->getParD(level)->neighborY, para->getParD(level)->neighborZ, - // para->getParD(level+1)->neighborX, para->getParD(level+1)->neighborY, para->getParD(level+1)->neighborZ, - // para->getParD(level)->numberOfNodes, para->getParD(level+1)->numberOfNodes, para->getParD(level)->isEvenTimestep, - // para->getParD(level)->intFC.ICellFCC, para->getParD(level)->intFC.ICellFCF, - // para->getParD(level)->K_FC, para->getParD(level)->omega, para->getParD(level+1)->omega, - // para->getParD(level)->vis, para->getParD(level)->nx, para->getParD(level)->ny, - // para->getParD(level+1)->nx, para->getParD(level+1)->ny, para->getParD(level)->numberofthreads, - // para->getParD(level)->offFC); - //getLastCudaError("ScaleFC27 execution failed"); -} - -void GridScalingKernelManager::runFineToCoarseKernelAD(const int level) const -{ - //A D V E C T I O N D I F F U S I O N - - ScaleFCThS27( - para->getParD(level)->distributions.f[0], - para->getParD(level+1)->distributions.f[0], - para->getParD(level)->distributionsAD.f[0], - para->getParD(level+1)->distributionsAD.f[0], - para->getParD(level)->neighborX, - para->getParD(level)->neighborY, - para->getParD(level)->neighborZ, - para->getParD(level+1)->neighborX, - para->getParD(level+1)->neighborY, - para->getParD(level+1)->neighborZ, - para->getParD(level)->numberOfNodes, - para->getParD(level+1)->numberOfNodes, - para->getParD(level)->isEvenTimestep, - para->getParD(level)->fineToCoarse.coarseCellIndices, - para->getParD(level)->fineToCoarse.fineCellIndices, - para->getParD(level)->fineToCoarse.numberOfCells, - para->getParD(level)->viscosity, - para->getParD(level)->diffusivity, - para->getParD(level)->numberofthreads, - para->getParD(level)->neighborFineToCoarse); } void GridScalingKernelManager::runCoarseToFineKernelLB(const int level, InterpolationCells* coarseToFine, ICellNeigh &neighborFineToCoarse, CudaStreamIndex streamIndex) const { cudaStream_t stream = para->getStreamManager()->getStream(streamIndex); this->scalingCoarseToFine(para->getParD(level).get(), para->getParD(level+1).get(), coarseToFine, neighborFineToCoarse, stream); - - // ScaleCF_comp_D3Q27F3( - // para->getParD(level)->distributions.f[0], - // para->getParD(level+1)->distributions.f[0], - // para->getParD(level+1)->g6.g[0], - // para->getParD(level)->neighborX, - // para->getParD(level)->neighborY, - // para->getParD(level)->neighborZ, - // para->getParD(level+1)->neighborX, - // para->getParD(level+1)->neighborY, - // para->getParD(level+1)->neighborZ, - // para->getParD(level)->numberOfNodes, - // para->getParD(level+1)->numberOfNodes, - // para->getParD(level)->isEvenTimestep, - // icellCF->ICellCFC, - // icellCF->ICellCFF, - // icellCF->kCF, - // para->getParD(level)->omega, - // para->getParD(level+1)->omega, - // para->getParD(level)->vis, - // para->getParD(level)->nx, - // para->getParD(level)->ny, - // para->getParD(level+1)->nx, - // para->getParD(level+1)->ny, - // para->getParD(level)->numberofthreads, - // offCF, - // stream); - - // ScaleCF_0817_comp_27( - // para->getParD(level)->distributions.f[0], - // para->getParD(level + 1)->distributions.f[0], - // para->getParD(level)->neighborX, - // para->getParD(level)->neighborY, - // para->getParD(level)->neighborZ, - // para->getParD(level+1)->neighborX, - // para->getParD(level+1)->neighborY, - // para->getParD(level+1)->neighborZ, - // para->getParD(level)->numberOfNodes, - // para->getParD(level+1)->numberOfNodes, - // para->getParD(level)->isEvenTimestep, - // icellCF->ICellCFC, - // icellCF->ICellCFF, - // icellCF->kCF, - // para->getParD(level)->omega, - // para->getParD(level+1)->omega, - // para->getParD(level)->vis, - // para->getParD(level)->nx, - // para->getParD(level)->ny, - // para->getParD(level+1)->nx, - // para->getParD(level+1)->ny, - // para->getParD(level)->numberofthreads, - // offCF, - // stream); - - // ScaleCF_RhoSq_3rdMom_comp_27( - // para->getParD(level)->distributions.f[0], - // para->getParD(level+1)->distributions.f[0], - // para->getParD(level)->neighborX, - // para->getParD(level)->neighborY, - // para->getParD(level)->neighborZ, - // para->getParD(level+1)->neighborX, - // para->getParD(level+1)->neighborY, - // para->getParD(level+1)->neighborZ, - // para->getParD(level)->numberOfNodes, - // para->getParD(level+1)->numberOfNodes, - // para->getParD(level)->isEvenTimestep, - // icellCF->ICellCFC, - // icellCF->ICellCFF, - // icellCF->kCF, - // para->getParD(level)->omega, - // para->getParD(level+1)->omega, - // para->getParD(level)->vis, - // para->getParD(level)->nx, - // para->getParD(level)->ny, - // para->getParD(level+1)->nx, - // para->getParD(level+1)->ny, - // para->getParD(level)->numberofthreads, - // offCF, - // stream); - - // ScaleCF_AA2016_comp_27( - // para->getParD(level)->distributions.f[0], - // para->getParD(level+1)->distributions.f[0], - // para->getParD(level)->neighborX, - // para->getParD(level)->neighborY, - // para->getParD(level)->neighborZ, - // para->getParD(level+1)->neighborX, - // para->getParD(level+1)->neighborY, - // para->getParD(level+1)->neighborZ, - // para->getParD(level)->numberOfNodes, - // para->getParD(level+1)->numberOfNodes, - // para->getParD(level)->isEvenTimestep, - // icellCF->ICellCFC, - // icellCF->ICellCFF, - // icellCF->kCF, - // para->getParD(level)->omega, - // para->getParD(level+1)->omega, - // para->getParD(level)->vis, - // para->getParD(level)->nx, - // para->getParD(level)->ny, - // para->getParD(level+1)->nx, - // para->getParD(level+1)->ny, - // para->getParD(level)->numberofthreads, - // offCF, - // stream); - - - ////////////////////////////////////////////////////////////////////////// - // D E P R E C A T E D - ////////////////////////////////////////////////////////////////////////// - - //ScaleCF27( para->getParD(level)->distributions.f[0], para->getParD(level+1)->distributions.f[0], - // para->getParD(level)->neighborX, para->getParD(level)->neighborY, para->getParD(level)->neighborZ, - // para->getParD(level+1)->neighborX, para->getParD(level+1)->neighborY, para->getParD(level+1)->neighborZ, - // para->getParD(level)->numberOfNodes, para->getParD(level+1)->numberOfNodes, para->getParD(level)->isEvenTimestep, - // para->getParD(level)->intCF.ICellCFC, para->getParD(level)->intCF.ICellCFF, - // para->getParD(level)->K_CF, para->getParD(level)->omega, para->getParD(level+1)->omega, - // para->getParD(level)->vis, para->getParD(level)->nx, para->getParD(level)->ny, - // para->getParD(level+1)->nx, para->getParD(level+1)->ny, para->getParD(level)->gridNX); - //getLastCudaError("ScaleCF27 execution failed"); - - //ScaleCFEff27( para->getParD(level)->distributions.f[0], para->getParD(level+1)->distributions.f[0], - // para->getParD(level)->neighborX, para->getParD(level)->neighborY, para->getParD(level)->neighborZ, - // para->getParD(level+1)->neighborX, para->getParD(level+1)->neighborY, para->getParD(level+1)->neighborZ, - // para->getParD(level)->numberOfNodes, para->getParD(level+1)->numberOfNodes, para->getParD(level)->isEvenTimestep, - // para->getParD(level)->intCF.ICellCFC, para->getParD(level)->intCF.ICellCFF, - // para->getParD(level)->K_CF, para->getParD(level)->omega, para->getParD(level+1)->omega, - // para->getParD(level)->vis, para->getParD(level)->nx, para->getParD(level)->ny, - // para->getParD(level+1)->nx, para->getParD(level+1)->ny, para->getParD(level)->numberofthreads, - // para->getParD(level)->offCF); - //getLastCudaError("ScaleCF27 execution failed"); - - //ScaleCFLast27( para->getParD(level)->distributions.f[0], para->getParD(level+1)->distributions.f[0], - // para->getParD(level)->neighborX, para->getParD(level)->neighborY, para->getParD(level)->neighborZ, - // para->getParD(level+1)->neighborX, para->getParD(level+1)->neighborY, para->getParD(level+1)->neighborZ, - // para->getParD(level)->numberOfNodes, para->getParD(level+1)->numberOfNodes, para->getParD(level)->isEvenTimestep, - // para->getParD(level)->intCF.ICellCFC, para->getParD(level)->intCF.ICellCFF, - // para->getParD(level)->K_CF, para->getParD(level)->omega, para->getParD(level+1)->omega, - // para->getParD(level)->vis, para->getParD(level)->nx, para->getParD(level)->ny, - // para->getParD(level+1)->nx, para->getParD(level+1)->ny, para->getParD(level)->numberofthreads, - // para->getParD(level)->offCF); - //getLastCudaError("ScaleCF27 execution failed"); - - //ScaleCFpress27(para->getParD(level)->distributions.f[0], para->getParD(level+1)->distributions.f[0], - // para->getParD(level)->neighborX, para->getParD(level)->neighborY, para->getParD(level)->neighborZ, - // para->getParD(level+1)->neighborX, para->getParD(level+1)->neighborY, para->getParD(level+1)->neighborZ, - // para->getParD(level)->numberOfNodes, para->getParD(level+1)->numberOfNodes, para->getParD(level)->isEvenTimestep, - // para->getParD(level)->intCF.ICellCFC, para->getParD(level)->intCF.ICellCFF, - // para->getParD(level)->K_CF, para->getParD(level)->omega, para->getParD(level+1)->omega, - // para->getParD(level)->vis, para->getParD(level)->nx, para->getParD(level)->ny, - // para->getParD(level+1)->nx, para->getParD(level+1)->ny, para->getParD(level)->numberofthreads, - // para->getParD(level)->offCF); - //getLastCudaError("ScaleCF27 execution failed"); - - // ScaleCF_Fix_comp_27( para->getParD(level)->distributions.f[0], para->getParD(level+1)->distributions.f[0], - // para->getParD(level)->neighborX, para->getParD(level)->neighborY, para->getParD(level)->neighborZ, - // para->getParD(level+1)->neighborX, para->getParD(level+1)->neighborY, para->getParD(level+1)->neighborZ, - // para->getParD(level)->numberOfNodes, para->getParD(level+1)->numberOfNodes, para->getParD(level)->isEvenTimestep, - // para->getParD(level)->intCF.ICellCFC, para->getParD(level)->intCF.ICellCFF, - // para->getParD(level)->K_CF, para->getParD(level)->omega, para->getParD(level+1)->omega, - // para->getParD(level)->vis, para->getParD(level)->nx, para->getParD(level)->ny, - // para->getParD(level+1)->nx, para->getParD(level+1)->ny, para->getParD(level)->numberofthreads, - // para->getParD(level)->offCF); - // getLastCudaError("ScaleCF27 execution failed"); - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // incompressible - //ScaleCF_Fix_27(para->getParD(level)->distributions.f[0], para->getParD(level+1)->distributions.f[0], - // para->getParD(level)->neighborX, para->getParD(level)->neighborY, para->getParD(level)->neighborZ, - // para->getParD(level+1)->neighborX, para->getParD(level+1)->neighborY, para->getParD(level+1)->neighborZ, - // para->getParD(level)->numberOfNodes, para->getParD(level+1)->numberOfNodes, para->getParD(level)->isEvenTimestep, - // para->getParD(level)->intCF.ICellCFC, para->getParD(level)->intCF.ICellCFF, - // para->getParD(level)->K_CF, para->getParD(level)->omega, para->getParD(level+1)->omega, - // para->getParD(level)->vis, para->getParD(level)->nx, para->getParD(level)->ny, - // para->getParD(level+1)->nx, para->getParD(level+1)->ny, para->getParD(level)->numberofthreads, - // para->getParD(level)->offCF); - //getLastCudaError("ScaleCF27 execution failed"); - - //ScaleCF_NSPress_27(para->getParD(level)->distributions.f[0], para->getParD(level+1)->distributions.f[0], - // para->getParD(level)->neighborX, para->getParD(level)->neighborY, para->getParD(level)->neighborZ, - // para->getParD(level+1)->neighborX, para->getParD(level+1)->neighborY, para->getParD(level+1)->neighborZ, - // para->getParD(level)->numberOfNodes, para->getParD(level+1)->numberOfNodes, para->getParD(level)->isEvenTimestep, - // para->getParD(level)->intCF.ICellCFC, para->getParD(level)->intCF.ICellCFF, - // para->getParD(level)->K_CF, para->getParD(level)->omega, para->getParD(level+1)->omega, - // para->getParD(level)->vis, para->getParD(level)->nx, para->getParD(level)->ny, - // para->getParD(level+1)->nx, para->getParD(level+1)->ny, para->getParD(level)->numberofthreads, - // para->getParD(level)->offCF); - //getLastCudaError("ScaleCF27 execution failed"); -} - -void GridScalingKernelManager::runCoarseToFineKernelAD(const int level) const -{ - // A D V E C T I O N D I F F U S I O N - - ScaleCFThS27( - para->getParD(level)->distributions.f[0], - para->getParD(level+1)->distributions.f[0], - para->getParD(level)->distributionsAD.f[0], - para->getParD(level+1)->distributionsAD.f[0], - para->getParD(level)->neighborX, - para->getParD(level)->neighborY, - para->getParD(level)->neighborZ, - para->getParD(level+1)->neighborX, - para->getParD(level+1)->neighborY, - para->getParD(level+1)->neighborZ, - para->getParD(level)->numberOfNodes, - para->getParD(level+1)->numberOfNodes, - para->getParD(level)->isEvenTimestep, - para->getParD(level)->coarseToFine.coarseCellIndices, - para->getParD(level)->coarseToFine.fineCellIndices, - para->getParD(level)->coarseToFine.numberOfCells, - para->getParD(level)->viscosity, - para->getParD(level+1)->diffusivity, - para->getParD(level)->numberofthreads, - para->getParD(level)->neighborCoarseToFine); } diff --git a/src/gpu/core/GridScaling/GridScalingKernelManager.h b/src/gpu/core/GridScaling/GridScalingKernelManager.h index 29af993316427b8c46c1b97c7c9747f6f2a560ee..84ae680fb2be21c309ff279d29c3f5e2eab9a866 100644 --- a/src/gpu/core/GridScaling/GridScalingKernelManager.h +++ b/src/gpu/core/GridScaling/GridScalingKernelManager.h @@ -62,15 +62,9 @@ public: //! \brief calls the device function of the fine to coarse grid interpolation kernelH void runFineToCoarseKernelLB(const int level, InterpolationCells *fineToCoarse, ICellNeigh &neighborFineToCoarse, CudaStreamIndex streamIndex) const; - //! \brief calls the device function of the fine to coarse grid interpolation kernel (advection diffusion) - void runFineToCoarseKernelAD(const int level) const; - //! \brief calls the device function of the coarse to fine grid interpolation kernel void runCoarseToFineKernelLB(const int level, InterpolationCells *coarseToFine, ICellNeigh &neighborCoarseToFine, CudaStreamIndex streamIndex) const; - //! \brief calls the device function of the coarse to fine grid interpolation kernel (advection diffusion) - void runCoarseToFineKernelAD(const int level) const; - private: //! \brief check if grid scaling was set //! \throws std::runtime_error if interpolation nodes were assigned, but no scaling function was set in the grid diff --git a/src/gpu/core/GridScaling/GridScalingKernelManagerTest.cpp b/src/gpu/core/GridScaling/GridScalingKernelManagerTest.cpp index b6096e748929e0318cef9a83740beda7ff3028ee..9c2c5251c3d78c49d4fadca00ec40426087a1fa1 100644 --- a/src/gpu/core/GridScaling/GridScalingKernelManagerTest.cpp +++ b/src/gpu/core/GridScaling/GridScalingKernelManagerTest.cpp @@ -96,7 +96,7 @@ TEST_F(GridScalingKernelManagerTest_Initialization, multipleLevelWithoutInterpol // multiple levels and NO interpolation nodes specified, but the user provided a scaling function anyway --> no error para->setMaxLevel(2); para->initLBMSimulationParameter(); - scalingFactory.setScalingFactory(GridScalingFactory::GridScaling::ScaleRhoSq); + scalingFactory.setScalingFactory(GridScalingFactory::GridScaling::ScaleCompressible); EXPECT_NO_THROW(GridScalingKernelManager(para, &scalingFactory)); } diff --git a/src/gpu/core/GridScaling/ScaleCF27.cu b/src/gpu/core/GridScaling/ScaleCF27.cu deleted file mode 100644 index 7505c0fcd92b7e3bdc8d00370d502e7755a0abc2..0000000000000000000000000000000000000000 --- a/src/gpu/core/GridScaling/ScaleCF27.cu +++ /dev/null @@ -1,51225 +0,0 @@ -// _ ___ __ __________ _ __ ______________ __ -// | | / (_)____/ /___ ______ _/ / ____/ /_ __(_)___/ /____ / ___/ __ / / / / -// | | / / / ___/ __/ / / / __ `/ / /_ / / / / / / __ / ___/ / /___/ /_/ / / / / -// | |/ / / / / /_/ /_/ / /_/ / / __/ / / /_/ / / /_/ (__ ) / /_) / ____/ /__/ / -// |___/_/_/ \__/\__,_/\__,_/_/_/ /_/\__,_/_/\__,_/____/ \____/_/ \_____/ -// -////////////////////////////////////////////////////////////////////////// -/* Device code */ -#include "Calculation/Calculation.h" -#include "lbm/constants/D3Q27.h" -#include <basics/constants/NumericConstants.h> - -using namespace vf::basics::constant; -using namespace vf::lbm::dir; - -////////////////////////////////////////////////////////////////////////// -__global__ void scaleCF_0817_comp_27( real* DC, - real* DF, - unsigned int* neighborCX, - unsigned int* neighborCY, - unsigned int* neighborCZ, - unsigned int* neighborFX, - unsigned int* neighborFY, - unsigned int* neighborFZ, - unsigned long long numberOfLBnodesCoarse, - unsigned long long numberOfLBnodesFine, - bool isEvenTimestep, - unsigned int* posCSWB, - unsigned int* posFSWB, - unsigned int kCF, - real omCoarse, - real omFine, - real nu, - unsigned int nxC, - unsigned int nyC, - unsigned int nxF, - unsigned int nyF, - ICellNeigh offCF) -{ - real - *fP00dest, *fM00dest, *f0P0dest, *f0M0dest, *f00Pdest, *f00Mdest, *fPP0dest, *fMM0dest, *fPM0dest, - *fMP0dest, *fP0Pdest, *fM0Mdest, *fP0Mdest, *fM0Pdest, *f0PPdest, *f0MMdest, *f0PMdest, *f0MPdest, - *f000dest, *fMMMdest, *fMMPdest, *fMPPdest, *fMPMdest, *fPPMdest, *fPPPdest, *fPMPdest, *fPMMdest; - - - fP00dest = &DF[dP00 * numberOfLBnodesFine]; - fM00dest = &DF[dM00 * numberOfLBnodesFine]; - f0P0dest = &DF[d0P0 * numberOfLBnodesFine]; - f0M0dest = &DF[d0M0 * numberOfLBnodesFine]; - f00Pdest = &DF[d00P * numberOfLBnodesFine]; - f00Mdest = &DF[d00M * numberOfLBnodesFine]; - fPP0dest = &DF[dPP0 * numberOfLBnodesFine]; - fMM0dest = &DF[dMM0 * numberOfLBnodesFine]; - fPM0dest = &DF[dPM0 * numberOfLBnodesFine]; - fMP0dest = &DF[dMP0 * numberOfLBnodesFine]; - fP0Pdest = &DF[dP0P * numberOfLBnodesFine]; - fM0Mdest = &DF[dM0M * numberOfLBnodesFine]; - fP0Mdest = &DF[dP0M * numberOfLBnodesFine]; - fM0Pdest = &DF[dM0P * numberOfLBnodesFine]; - f0PPdest = &DF[d0PP * numberOfLBnodesFine]; - f0MMdest = &DF[d0MM * numberOfLBnodesFine]; - f0PMdest = &DF[d0PM * numberOfLBnodesFine]; - f0MPdest = &DF[d0MP * numberOfLBnodesFine]; - f000dest = &DF[d000 * numberOfLBnodesFine]; - fMMMdest = &DF[dMMM * numberOfLBnodesFine]; - fMMPdest = &DF[dMMP * numberOfLBnodesFine]; - fMPPdest = &DF[dMPP * numberOfLBnodesFine]; - fMPMdest = &DF[dMPM * numberOfLBnodesFine]; - fPPMdest = &DF[dPPM * numberOfLBnodesFine]; - fPPPdest = &DF[dPPP * numberOfLBnodesFine]; - fPMPdest = &DF[dPMP * numberOfLBnodesFine]; - fPMMdest = &DF[dPMM * numberOfLBnodesFine]; - - real - *fP00source, *fM00source, *f0P0source, *f0M0source, *f00Psource, *f00Msource, *fPP0source, *fMM0source, *fPM0source, - *fMP0source, *fP0Psource, *fM0Msource, *fP0Msource, *fM0Psource, *f0PPsource, *f0MMsource, *f0PMsource, *f0MPsource, - *f000source, *fMMMsource, *fMMPsource, *fMPPsource, *fMPMsource, *fPPMsource, *fPPPsource, *fPMPsource, *fPMMsource; - - if (isEvenTimestep == true) - { - fP00source = &DC[dP00 * numberOfLBnodesCoarse]; - fM00source = &DC[dM00 * numberOfLBnodesCoarse]; - f0P0source = &DC[d0P0 * numberOfLBnodesCoarse]; - f0M0source = &DC[d0M0 * numberOfLBnodesCoarse]; - f00Psource = &DC[d00P * numberOfLBnodesCoarse]; - f00Msource = &DC[d00M * numberOfLBnodesCoarse]; - fPP0source = &DC[dPP0 * numberOfLBnodesCoarse]; - fMM0source = &DC[dMM0 * numberOfLBnodesCoarse]; - fPM0source = &DC[dPM0 * numberOfLBnodesCoarse]; - fMP0source = &DC[dMP0 * numberOfLBnodesCoarse]; - fP0Psource = &DC[dP0P * numberOfLBnodesCoarse]; - fM0Msource = &DC[dM0M * numberOfLBnodesCoarse]; - fP0Msource = &DC[dP0M * numberOfLBnodesCoarse]; - fM0Psource = &DC[dM0P * numberOfLBnodesCoarse]; - f0PPsource = &DC[d0PP * numberOfLBnodesCoarse]; - f0MMsource = &DC[d0MM * numberOfLBnodesCoarse]; - f0PMsource = &DC[d0PM * numberOfLBnodesCoarse]; - f0MPsource = &DC[d0MP * numberOfLBnodesCoarse]; - f000source = &DC[d000 * numberOfLBnodesCoarse]; - fMMMsource = &DC[dMMM * numberOfLBnodesCoarse]; - fMMPsource = &DC[dMMP * numberOfLBnodesCoarse]; - fMPPsource = &DC[dMPP * numberOfLBnodesCoarse]; - fMPMsource = &DC[dMPM * numberOfLBnodesCoarse]; - fPPMsource = &DC[dPPM * numberOfLBnodesCoarse]; - fPPPsource = &DC[dPPP * numberOfLBnodesCoarse]; - fPMPsource = &DC[dPMP * numberOfLBnodesCoarse]; - fPMMsource = &DC[dPMM * numberOfLBnodesCoarse]; - } - else - { - fP00source = &DC[dM00 * numberOfLBnodesCoarse]; - fM00source = &DC[dP00 * numberOfLBnodesCoarse]; - f0P0source = &DC[d0M0 * numberOfLBnodesCoarse]; - f0M0source = &DC[d0P0 * numberOfLBnodesCoarse]; - f00Psource = &DC[d00M * numberOfLBnodesCoarse]; - f00Msource = &DC[d00P * numberOfLBnodesCoarse]; - fPP0source = &DC[dMM0 * numberOfLBnodesCoarse]; - fMM0source = &DC[dPP0 * numberOfLBnodesCoarse]; - fPM0source = &DC[dMP0 * numberOfLBnodesCoarse]; - fMP0source = &DC[dPM0 * numberOfLBnodesCoarse]; - fP0Psource = &DC[dM0M * numberOfLBnodesCoarse]; - fM0Msource = &DC[dP0P * numberOfLBnodesCoarse]; - fP0Msource = &DC[dM0P * numberOfLBnodesCoarse]; - fM0Psource = &DC[dP0M * numberOfLBnodesCoarse]; - f0PPsource = &DC[d0MM * numberOfLBnodesCoarse]; - f0MMsource = &DC[d0PP * numberOfLBnodesCoarse]; - f0PMsource = &DC[d0MP * numberOfLBnodesCoarse]; - f0MPsource = &DC[d0PM * numberOfLBnodesCoarse]; - f000source = &DC[d000 * numberOfLBnodesCoarse]; - fMMMsource = &DC[dPPP * numberOfLBnodesCoarse]; - fMMPsource = &DC[dPPM * numberOfLBnodesCoarse]; - fMPPsource = &DC[dPMM * numberOfLBnodesCoarse]; - fMPMsource = &DC[dPMP * numberOfLBnodesCoarse]; - fPPMsource = &DC[dMMP * numberOfLBnodesCoarse]; - fPPPsource = &DC[dMMM * numberOfLBnodesCoarse]; - fPMPsource = &DC[dMPM * numberOfLBnodesCoarse]; - fPMMsource = &DC[dMPP * numberOfLBnodesCoarse]; - } - //////////////////////////////////////////////////////////////////////////////// - const unsigned ix = threadIdx.x; // Globaler x-Index - const unsigned iy = blockIdx.x; // Globaler y-Index - const unsigned iz = blockIdx.y; // Globaler z-Index - - const unsigned nx = blockDim.x; - const unsigned ny = gridDim.x; - - const unsigned k = nx*(ny*iz + iy) + ix; - ////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////// - real eps_new = c1o2; - real omegaS = omCoarse;//-omCoarse; - real o = omFine;//-omFine; - real oP = o;//:( - //real op = one; - //real cu_sq; - - real xoff, yoff, zoff; - real xoff_sq, yoff_sq, zoff_sq; - - // real drho; - real vvx, vvy, vvz, vx2, vy2, vz2; - real press;//,drho,vx1,vx2,vx3; - real /*pressMMP,*/drhoMMP,vx1MMP,vx2MMP,vx3MMP; - real /*pressMPP,*/drhoMPP,vx1MPP,vx2MPP,vx3MPP; - real /*pressPPP,*/drhoPPP,vx1PPP,vx2PPP,vx3PPP; - real /*pressPMP,*/drhoPMP,vx1PMP,vx2PMP,vx3PMP; - real /*pressMMM,*/drhoMMM,vx1MMM,vx2MMM,vx3MMM; - real /*pressMPM,*/drhoMPM,vx1MPM,vx2MPM,vx3MPM; - real /*pressPPM,*/drhoPPM,vx1PPM,vx2PPM,vx3PPM; - real /*pressPMM,*/drhoPMM,vx1PMM,vx2PMM,vx3PMM; - real fP00,fM00,f0P0,f0M0,f00P,f00M,fPP0,fMM0,fPM0,fMP0,fP0P,fM0M,fP0M,fM0P,f0PP,f0MM,f0PM,f0MP,f000,fPPP, fMMP, fPMP, fMPP, fPPM, fMMM, fPMM, fMPM; - //real feqP00,feqM00,feq0P0,feq0M0,feq00P,feq00M,feqPP0,feqMM0,feqPM0,feqMP0,feqP0P,feqM0M,feqP0M,feqM0P,feq0PP,feq0MM,feq0PM,feq0MP,feq000,feqPPP, feqMMP, feqPMP, feqMPP, feqPPM, feqMMM, feqPMM, feqMPM; - real kxyFromfcNEQMMP, kyzFromfcNEQMMP, kxzFromfcNEQMMP, kxxMyyFromfcNEQMMP, kxxMzzFromfcNEQMMP, kyyMzzFromfcNEQMMP; - real kxyFromfcNEQMPP, kyzFromfcNEQMPP, kxzFromfcNEQMPP, kxxMyyFromfcNEQMPP, kxxMzzFromfcNEQMPP, kyyMzzFromfcNEQMPP; - real kxyFromfcNEQPPP, kyzFromfcNEQPPP, kxzFromfcNEQPPP, kxxMyyFromfcNEQPPP, kxxMzzFromfcNEQPPP, kyyMzzFromfcNEQPPP; - real kxyFromfcNEQPMP, kyzFromfcNEQPMP, kxzFromfcNEQPMP, kxxMyyFromfcNEQPMP, kxxMzzFromfcNEQPMP, kyyMzzFromfcNEQPMP; - real kxyFromfcNEQMMM, kyzFromfcNEQMMM, kxzFromfcNEQMMM, kxxMyyFromfcNEQMMM, kxxMzzFromfcNEQMMM, kyyMzzFromfcNEQMMM; - real kxyFromfcNEQMPM, kyzFromfcNEQMPM, kxzFromfcNEQMPM, kxxMyyFromfcNEQMPM, kxxMzzFromfcNEQMPM, kyyMzzFromfcNEQMPM; - real kxyFromfcNEQPPM, kyzFromfcNEQPPM, kxzFromfcNEQPPM, kxxMyyFromfcNEQPPM, kxxMzzFromfcNEQPPM, kyyMzzFromfcNEQPPM; - real kxyFromfcNEQPMM, kyzFromfcNEQPMM, kxzFromfcNEQPMM, kxxMyyFromfcNEQPMM, kxxMzzFromfcNEQPMM, kyyMzzFromfcNEQPMM; - real a0, ax, ay, az, axx, ayy, azz, axy, axz, ayz, b0, bx, by, bz, bxx, byy, bzz, bxy, bxz, byz, c0, cx, cy, cz, cxx, cyy, czz, cxy, cxz, cyz, axyz, bxyz, cxyz; - real d0, dx, dy, dz, dxy, dxz, dyz, dxyz; - - real x,y,z; - - - if(k<kCF) - { - ////////////////////////////////////////////////////////////////////////// - xoff = offCF.x[k]; - yoff = offCF.y[k]; - zoff = offCF.z[k]; - xoff_sq = xoff * xoff; - yoff_sq = yoff * yoff; - zoff_sq = zoff * zoff; - ////////////////////////////////////////////////////////////////////////// - //SWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - unsigned int k000base = posCSWB[k]; - unsigned int kM00base = neighborCX[k000base]; - unsigned int k0M0base = neighborCY[k000base]; - unsigned int k00Mbase = neighborCZ[k000base]; - unsigned int kMM0base = neighborCY[kM00base]; - unsigned int kM0Mbase = neighborCZ[kM00base]; - unsigned int k0MMbase = neighborCZ[k0M0base]; - unsigned int kMMMbase = neighborCZ[kMM0base]; - ////////////////////////////////////////////////////////////////////////// - //index - unsigned int k000 = k000base; - unsigned int kM00 = kM00base; - unsigned int k0M0 = k0M0base; - unsigned int k00M = k00Mbase; - unsigned int kMM0 = kMM0base; - unsigned int kM0M = kM0Mbase; - unsigned int k0MM = k0MMbase; - unsigned int kMMM = kMMMbase; - //////////////////////////////////////////////////////////////////////////////// - fP00 = fP00source[k000]; - fM00 = fM00source[kM00]; - f0P0 = f0P0source[k000]; - f0M0 = f0M0source[k0M0]; - f00P = f00Psource[k000]; - f00M = f00Msource[k00M]; - fPP0 = fPP0source[k000]; - fMM0 = fMM0source[kMM0]; - fPM0 = fPM0source[k0M0]; - fMP0 = fMP0source[kM00]; - fP0P = fP0Psource[k000]; - fM0M = fM0Msource[kM0M]; - fP0M = fP0Msource[k00M]; - fM0P = fM0Psource[kM00]; - f0PP = f0PPsource[k000]; - f0MM = f0MMsource[k0MM]; - f0PM = f0PMsource[k00M]; - f0MP = f0MPsource[k0M0]; - f000 = f000source[k000]; - fMMM = fMMMsource[kMMM]; - fMMP = fMMPsource[kMM0]; - fMPP = fMPPsource[kM00]; - fMPM = fMPMsource[kM0M]; - fPPM = fPPMsource[k00M]; - fPPP = fPPPsource[k000]; - fPMP = fPMPsource[k0M0]; - fPMM = fPMMsource[k0MM]; - - drhoMMM = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM; - vx1MMM = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoMMM); - vx2MMM = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMMM); - vx3MMM = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMMM); - - kxyFromfcNEQMMM = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMM) - ((vx1MMM*vx2MMM))); - kyzFromfcNEQMMM = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMMM) - ((vx2MMM*vx3MMM))); - kxzFromfcNEQMMM = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMM) - ((vx1MMM*vx3MMM))); - kxxMyyFromfcNEQMMM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMMM) - ((vx1MMM*vx1MMM - vx2MMM*vx2MMM))); - kxxMzzFromfcNEQMMM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMMM) - ((vx1MMM*vx1MMM - vx3MMM*vx3MMM))); - kyyMzzFromfcNEQMMM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMMM) - ((vx2MMM*vx2MMM - vx3MMM*vx3MMM))); - - ////////////////////////////////////////////////////////////////////////// - //SWT// - ////////////////////////////////////////////////////////////////////////// - //index - k000 = k00M; - kM00 = kM0M; - k0M0 = k0MM; - k00M = neighborCZ[k00M]; - kMM0 = kMMM; - kM0M = neighborCZ[kM0M]; - k0MM = neighborCZ[k0MM]; - kMMM = neighborCZ[kMMM]; - //////////////////////////////////////////////////////////////////////////////// - fP00 = fP00source[k000]; - fM00 = fM00source[kM00]; - f0P0 = f0P0source[k000]; - f0M0 = f0M0source[k0M0]; - f00P = f00Psource[k000]; - f00M = f00Msource[k00M]; - fPP0 = fPP0source[k000]; - fMM0 = fMM0source[kMM0]; - fPM0 = fPM0source[k0M0]; - fMP0 = fMP0source[kM00]; - fP0P = fP0Psource[k000]; - fM0M = fM0Msource[kM0M]; - fP0M = fP0Msource[k00M]; - fM0P = fM0Psource[kM00]; - f0PP = f0PPsource[k000]; - f0MM = f0MMsource[k0MM]; - f0PM = f0PMsource[k00M]; - f0MP = f0MPsource[k0M0]; - f000 = f000source[k000]; - fMMM = fMMMsource[kMMM]; - fMMP = fMMPsource[kMM0]; - fMPP = fMPPsource[kM00]; - fMPM = fMPMsource[kM0M]; - fPPM = fPPMsource[k00M]; - fPPP = fPPPsource[k000]; - fPMP = fPMPsource[k0M0]; - fPMM = fPMMsource[k0MM]; - - drhoMMP = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM; - vx1MMP = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoMMP); - vx2MMP = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMMP); - vx3MMP = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMMP); - - kxyFromfcNEQMMP = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMP) - ((vx1MMP*vx2MMP))); - kyzFromfcNEQMMP = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMMP) - ((vx2MMP*vx3MMP))); - kxzFromfcNEQMMP = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMP) - ((vx1MMP*vx3MMP))); - kxxMyyFromfcNEQMMP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMMP) - ((vx1MMP*vx1MMP - vx2MMP*vx2MMP))); - kxxMzzFromfcNEQMMP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMMP) - ((vx1MMP*vx1MMP - vx3MMP*vx3MMP))); - kyyMzzFromfcNEQMMP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMMP) - ((vx2MMP*vx2MMP - vx3MMP*vx3MMP))); - - ////////////////////////////////////////////////////////////////////////// - //SET// - ////////////////////////////////////////////////////////////////////////// - //index - k000 = kM00; - kM00 = neighborCX[kM00]; - k0M0 = kMM0; - k00M = kM0M; - kMM0 = neighborCX[kMM0]; - kM0M = neighborCX[kM0M]; - k0MM = kMMM; - kMMM = neighborCX[kMMM]; - //////////////////////////////////////////////////////////////////////////////// - fP00 = fP00source[k000]; - fM00 = fM00source[kM00]; - f0P0 = f0P0source[k000]; - f0M0 = f0M0source[k0M0]; - f00P = f00Psource[k000]; - f00M = f00Msource[k00M]; - fPP0 = fPP0source[k000]; - fMM0 = fMM0source[kMM0]; - fPM0 = fPM0source[k0M0]; - fMP0 = fMP0source[kM00]; - fP0P = fP0Psource[k000]; - fM0M = fM0Msource[kM0M]; - fP0M = fP0Msource[k00M]; - fM0P = fM0Psource[kM00]; - f0PP = f0PPsource[k000]; - f0MM = f0MMsource[k0MM]; - f0PM = f0PMsource[k00M]; - f0MP = f0MPsource[k0M0]; - f000 = f000source[k000]; - fMMM = fMMMsource[kMMM]; - fMMP = fMMPsource[kMM0]; - fMPP = fMPPsource[kM00]; - fMPM = fMPMsource[kM0M]; - fPPM = fPPMsource[k00M]; - fPPP = fPPPsource[k000]; - fPMP = fPMPsource[k0M0]; - fPMM = fPMMsource[k0MM]; - - drhoPMP = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM; - vx1PMP = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoPMP); - vx2PMP = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPMP); - vx3PMP = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPMP); - - kxyFromfcNEQPMP = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMP) - ((vx1PMP*vx2PMP))); - kyzFromfcNEQPMP = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPMP) - ((vx2PMP*vx3PMP))); - kxzFromfcNEQPMP = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMP) - ((vx1PMP*vx3PMP))); - kxxMyyFromfcNEQPMP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPMP) - ((vx1PMP*vx1PMP - vx2PMP*vx2PMP))); - kxxMzzFromfcNEQPMP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPMP) - ((vx1PMP*vx1PMP - vx3PMP*vx3PMP))); - kyyMzzFromfcNEQPMP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPMP) - ((vx2PMP*vx2PMP - vx3PMP*vx3PMP))); - - ////////////////////////////////////////////////////////////////////////// - //SEB// - ////////////////////////////////////////////////////////////////////////// - //index - k00M = k000; - kM0M = kM00; - k0MM = k0M0; - kMMM = kMM0; - k000 = kM00base; - kM00 = neighborCX[kM00base]; - k0M0 = kMM0base; - kMM0 = neighborCX[kMM0base]; - //////////////////////////////////////////////////////////////////////////////// - fP00 = fP00source[k000]; - fM00 = fM00source[kM00]; - f0P0 = f0P0source[k000]; - f0M0 = f0M0source[k0M0]; - f00P = f00Psource[k000]; - f00M = f00Msource[k00M]; - fPP0 = fPP0source[k000]; - fMM0 = fMM0source[kMM0]; - fPM0 = fPM0source[k0M0]; - fMP0 = fMP0source[kM00]; - fP0P = fP0Psource[k000]; - fM0M = fM0Msource[kM0M]; - fP0M = fP0Msource[k00M]; - fM0P = fM0Psource[kM00]; - f0PP = f0PPsource[k000]; - f0MM = f0MMsource[k0MM]; - f0PM = f0PMsource[k00M]; - f0MP = f0MPsource[k0M0]; - f000 = f000source[k000]; - fMMM = fMMMsource[kMMM]; - fMMP = fMMPsource[kMM0]; - fMPP = fMPPsource[kM00]; - fMPM = fMPMsource[kM0M]; - fPPM = fPPMsource[k00M]; - fPPP = fPPPsource[k000]; - fPMP = fPMPsource[k0M0]; - fPMM = fPMMsource[k0MM]; - - drhoPMM = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM; - vx1PMM = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoPMM); - vx2PMM = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPMM); - vx3PMM = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPMM); - - kxyFromfcNEQPMM = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMM) - ((vx1PMM*vx2PMM))); - kyzFromfcNEQPMM = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPMM) - ((vx2PMM*vx3PMM))); - kxzFromfcNEQPMM = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMM) - ((vx1PMM*vx3PMM))); - kxxMyyFromfcNEQPMM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPMM) - ((vx1PMM*vx1PMM - vx2PMM*vx2PMM))); - kxxMzzFromfcNEQPMM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPMM) - ((vx1PMM*vx1PMM - vx3PMM*vx3PMM))); - kyyMzzFromfcNEQPMM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPMM) - ((vx2PMM*vx2PMM - vx3PMM*vx3PMM))); - - ////////////////////////////////////////////////////////////////////////// - //NWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - k000base = k0M0base; - kM00base = kMM0base; - k0M0base = neighborCY[k0M0base]; - k00Mbase = k0MMbase; - kMM0base = neighborCY[kMM0base]; - kM0Mbase = kMMMbase; - k0MMbase = neighborCY[k0MMbase]; - kMMMbase = neighborCY[kMMMbase]; - ////////////////////////////////////////////////////////////////////////// - //index - k000 = k000base; - kM00 = kM00base; - k0M0 = k0M0base; - k00M = k00Mbase; - kMM0 = kMM0base; - kM0M = kM0Mbase; - k0MM = k0MMbase; - kMMM = kMMMbase; - //////////////////////////////////////////////////////////////////////////////// - fP00 = fP00source[k000]; - fM00 = fM00source[kM00]; - f0P0 = f0P0source[k000]; - f0M0 = f0M0source[k0M0]; - f00P = f00Psource[k000]; - f00M = f00Msource[k00M]; - fPP0 = fPP0source[k000]; - fMM0 = fMM0source[kMM0]; - fPM0 = fPM0source[k0M0]; - fMP0 = fMP0source[kM00]; - fP0P = fP0Psource[k000]; - fM0M = fM0Msource[kM0M]; - fP0M = fP0Msource[k00M]; - fM0P = fM0Psource[kM00]; - f0PP = f0PPsource[k000]; - f0MM = f0MMsource[k0MM]; - f0PM = f0PMsource[k00M]; - f0MP = f0MPsource[k0M0]; - f000 = f000source[k000]; - fMMM = fMMMsource[kMMM]; - fMMP = fMMPsource[kMM0]; - fMPP = fMPPsource[kM00]; - fMPM = fMPMsource[kM0M]; - fPPM = fPPMsource[k00M]; - fPPP = fPPPsource[k000]; - fPMP = fPMPsource[k0M0]; - fPMM = fPMMsource[k0MM]; - - drhoMPM = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM; - vx1MPM = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoMPM); - vx2MPM = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMPM); - vx3MPM = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMPM); - - kxyFromfcNEQMPM = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPM) - ((vx1MPM*vx2MPM))); - kyzFromfcNEQMPM = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMPM) - ((vx2MPM*vx3MPM))); - kxzFromfcNEQMPM = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPM) - ((vx1MPM*vx3MPM))); - kxxMyyFromfcNEQMPM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMPM) - ((vx1MPM*vx1MPM - vx2MPM*vx2MPM))); - kxxMzzFromfcNEQMPM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMPM) - ((vx1MPM*vx1MPM - vx3MPM*vx3MPM))); - kyyMzzFromfcNEQMPM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMPM) - ((vx2MPM*vx2MPM - vx3MPM*vx3MPM))); - - ////////////////////////////////////////////////////////////////////////// - //NWT// - ////////////////////////////////////////////////////////////////////////// - //index - k000 = k00M; - kM00 = kM0M; - k0M0 = k0MM; - k00M = neighborCZ[k00M]; - kMM0 = kMMM; - kM0M = neighborCZ[kM0M]; - k0MM = neighborCZ[k0MM]; - kMMM = neighborCZ[kMMM]; - //////////////////////////////////////////////////////////////////////////////// - fP00 = fP00source[k000]; - fM00 = fM00source[kM00]; - f0P0 = f0P0source[k000]; - f0M0 = f0M0source[k0M0]; - f00P = f00Psource[k000]; - f00M = f00Msource[k00M]; - fPP0 = fPP0source[k000]; - fMM0 = fMM0source[kMM0]; - fPM0 = fPM0source[k0M0]; - fMP0 = fMP0source[kM00]; - fP0P = fP0Psource[k000]; - fM0M = fM0Msource[kM0M]; - fP0M = fP0Msource[k00M]; - fM0P = fM0Psource[kM00]; - f0PP = f0PPsource[k000]; - f0MM = f0MMsource[k0MM]; - f0PM = f0PMsource[k00M]; - f0MP = f0MPsource[k0M0]; - f000 = f000source[k000]; - fMMM = fMMMsource[kMMM]; - fMMP = fMMPsource[kMM0]; - fMPP = fMPPsource[kM00]; - fMPM = fMPMsource[kM0M]; - fPPM = fPPMsource[k00M]; - fPPP = fPPPsource[k000]; - fPMP = fPMPsource[k0M0]; - fPMM = fPMMsource[k0MM]; - - drhoMPP = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM; - vx1MPP = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoMPP); - vx2MPP = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMPP); - vx3MPP = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMPP); - - kxyFromfcNEQMPP = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPP) - ((vx1MPP*vx2MPP))); - kyzFromfcNEQMPP = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMPP) - ((vx2MPP*vx3MPP))); - kxzFromfcNEQMPP = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPP) - ((vx1MPP*vx3MPP))); - kxxMyyFromfcNEQMPP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMPP) - ((vx1MPP*vx1MPP - vx2MPP*vx2MPP))); - kxxMzzFromfcNEQMPP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMPP) - ((vx1MPP*vx1MPP - vx3MPP*vx3MPP))); - kyyMzzFromfcNEQMPP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMPP) - ((vx2MPP*vx2MPP - vx3MPP*vx3MPP))); - - ////////////////////////////////////////////////////////////////////////// - //NET// - ////////////////////////////////////////////////////////////////////////// - //index - k000 = kM00; - kM00 = neighborCX[kM00]; - k0M0 = kMM0; - k00M = kM0M; - kMM0 = neighborCX[kMM0]; - kM0M = neighborCX[kM0M]; - k0MM = kMMM; - kMMM = neighborCX[kMMM]; - //////////////////////////////////////////////////////////////////////////////// - fP00 = fP00source[k000]; - fM00 = fM00source[kM00]; - f0P0 = f0P0source[k000]; - f0M0 = f0M0source[k0M0]; - f00P = f00Psource[k000]; - f00M = f00Msource[k00M]; - fPP0 = fPP0source[k000]; - fMM0 = fMM0source[kMM0]; - fPM0 = fPM0source[k0M0]; - fMP0 = fMP0source[kM00]; - fP0P = fP0Psource[k000]; - fM0M = fM0Msource[kM0M]; - fP0M = fP0Msource[k00M]; - fM0P = fM0Psource[kM00]; - f0PP = f0PPsource[k000]; - f0MM = f0MMsource[k0MM]; - f0PM = f0PMsource[k00M]; - f0MP = f0MPsource[k0M0]; - f000 = f000source[k000]; - fMMM = fMMMsource[kMMM]; - fMMP = fMMPsource[kMM0]; - fMPP = fMPPsource[kM00]; - fMPM = fMPMsource[kM0M]; - fPPM = fPPMsource[k00M]; - fPPP = fPPPsource[k000]; - fPMP = fPMPsource[k0M0]; - fPMM = fPMMsource[k0MM]; - - drhoPPP = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM; - vx1PPP = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoPPP); - vx2PPP = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPPP); - vx3PPP = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPPP); - - kxyFromfcNEQPPP = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPP) - ((vx1PPP*vx2PPP))); - kyzFromfcNEQPPP = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPPP) - ((vx2PPP*vx3PPP))); - kxzFromfcNEQPPP = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPP) - ((vx1PPP*vx3PPP))); - kxxMyyFromfcNEQPPP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPPP) - ((vx1PPP*vx1PPP - vx2PPP*vx2PPP))); - kxxMzzFromfcNEQPPP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPPP) - ((vx1PPP*vx1PPP - vx3PPP*vx3PPP))); - kyyMzzFromfcNEQPPP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPPP) - ((vx2PPP*vx2PPP - vx3PPP*vx3PPP))); - - ////////////////////////////////////////////////////////////////////////// - //NEB// - ////////////////////////////////////////////////////////////////////////// - //index - k00M = k000; - kM0M = kM00; - k0MM = k0M0; - kMMM = kMM0; - k000 = kM00base; - kM00 = neighborCX[kM00base]; - k0M0 = kMM0base; - kMM0 = neighborCX[kMM0base]; - //////////////////////////////////////////////////////////////////////////////// - fP00 = fP00source[k000]; - fM00 = fM00source[kM00]; - f0P0 = f0P0source[k000]; - f0M0 = f0M0source[k0M0]; - f00P = f00Psource[k000]; - f00M = f00Msource[k00M]; - fPP0 = fPP0source[k000]; - fMM0 = fMM0source[kMM0]; - fPM0 = fPM0source[k0M0]; - fMP0 = fMP0source[kM00]; - fP0P = fP0Psource[k000]; - fM0M = fM0Msource[kM0M]; - fP0M = fP0Msource[k00M]; - fM0P = fM0Psource[kM00]; - f0PP = f0PPsource[k000]; - f0MM = f0MMsource[k0MM]; - f0PM = f0PMsource[k00M]; - f0MP = f0MPsource[k0M0]; - f000 = f000source[k000]; - fMMM = fMMMsource[kMMM]; - fMMP = fMMPsource[kMM0]; - fMPP = fMPPsource[kM00]; - fMPM = fMPMsource[kM0M]; - fPPM = fPPMsource[k00M]; - fPPP = fPPPsource[k000]; - fPMP = fPMPsource[k0M0]; - fPMM = fPMMsource[k0MM]; - - drhoPPM = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM; - vx1PPM = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoPPM); - vx2PPM = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPPM); - vx3PPM = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPPM); - - kxyFromfcNEQPPM = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPM) - ((vx1PPM*vx2PPM))); - kyzFromfcNEQPPM = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPPM) - ((vx2PPM*vx3PPM))); - kxzFromfcNEQPPM = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPM) - ((vx1PPM*vx3PPM))); - kxxMyyFromfcNEQPPM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPPM) - ((vx1PPM*vx1PPM - vx2PPM*vx2PPM))); - kxxMzzFromfcNEQPPM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPPM) - ((vx1PPM*vx1PPM - vx3PPM*vx3PPM))); - kyyMzzFromfcNEQPPM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPPM) - ((vx2PPM*vx2PPM - vx3PPM*vx3PPM))); - - ////////////////////////////////////////////////////////////////////////// - //3 - ////////////////////////////////////////////////////////////////////////// - a0 = c1o8*(((vx1PPM + vx1PPP) + (vx1MPM + vx1MPP)) + ((vx1PMM + vx1PMP) + (vx1MMM + vx1MMP))); - ax = c1o4*(((vx1PPM - vx1MMP) + (vx1PPP - vx1MMM)) + ((vx1PMP - vx1MPM) + (vx1PMM - vx1MPP))); - ay = c1o4*(((vx1PPM - vx1MMP) + (vx1PPP - vx1MMM)) + ((vx1MPM - vx1PMP) + (vx1MPP - vx1PMM))); - az = c1o4*(((vx1MMP - vx1PPM) + (vx1PPP - vx1MMM)) + ((vx1PMP - vx1MPM) + (vx1MPP - vx1PMM))); - axy = c1o2*(((vx1PPM - vx1PMP) + (vx1MMM - vx1MPP)) + ((vx1MMP - vx1MPM) + (vx1PPP - vx1PMM))); - axz = c1o2*(((vx1PMP - vx1PPM) + (vx1MMM - vx1MPP)) + ((vx1MPM - vx1MMP) + (vx1PPP - vx1PMM))); - ayz = c1o2*(((vx1PPP - vx1MPM) + (vx1PMM - vx1MMP)) + ((vx1MPP - vx1PPM) + (vx1MMM - vx1PMP))); - axyz= ((vx1MMP - vx1PPM) + (vx1PPP - vx1MMM)) + ((vx1MPM - vx1PMP) + (vx1PMM - vx1MPP)) ; - b0 = c1o8*(((vx2PPM + vx2PPP) + (vx2MPM + vx2MPP)) + ((vx2PMM + vx2PMP) + (vx2MMM + vx2MMP))); - bx = c1o4*(((vx2PPM - vx2MMP) + (vx2PPP - vx2MMM)) + ((vx2PMP - vx2MPM) + (vx2PMM - vx2MPP))); - by = c1o4*(((vx2PPM - vx2MMP) + (vx2PPP - vx2MMM)) + ((vx2MPM - vx2PMP) + (vx2MPP - vx2PMM))); - bz = c1o4*(((vx2MMP - vx2PPM) + (vx2PPP - vx2MMM)) + ((vx2PMP - vx2MPM) + (vx2MPP - vx2PMM))); - bxy = c1o2*(((vx2PPM - vx2MPP) + (vx2MMM - vx2PMP)) + ((vx2MMP - vx2PMM) + (vx2PPP - vx2MPM))); - bxz = c1o2*(((vx2MMM - vx2PPM) + (vx2PMP - vx2MPP)) + ((vx2MPM - vx2PMM) + (vx2PPP - vx2MMP))); - byz = c1o2*(((vx2MPP - vx2PPM) + (vx2MMM - vx2PMP)) + ((vx2PMM - vx2MMP) + (vx2PPP - vx2MPM))); - bxyz= ((vx2MMP - vx2PPM) + (vx2PPP - vx2MMM)) + ((vx2MPM - vx2PMP) + (vx2PMM - vx2MPP)) ; - c0 = c1o8*(((vx3PPM + vx3PPP) + (vx3MPM + vx3MPP)) + ((vx3PMM + vx3PMP) + (vx3MMM + vx3MMP))); - cx = c1o4*(((vx3PPM - vx3MMP) + (vx3PPP - vx3MMM)) + ((vx3PMP - vx3MPM) + (vx3PMM - vx3MPP))); - cy = c1o4*(((vx3PPM - vx3MMP) + (vx3PPP - vx3MMM)) + ((vx3MPM - vx3PMP) + (vx3MPP - vx3PMM))); - cz = c1o4*(((vx3MMP - vx3PPM) + (vx3PPP - vx3MMM)) + ((vx3PMP - vx3MPM) + (vx3MPP - vx3PMM))); - cxy = c1o2*(((vx3PPM - vx3PMP) + (vx3MMM - vx3MPP)) + ((vx3MMP - vx3MPM) + (vx3PPP - vx3PMM))); - cxz = c1o2*(((vx3MMM - vx3PPM) + (vx3PMP - vx3MPP)) + ((vx3MPM - vx3PMM) + (vx3PPP - vx3MMP))); - cyz = c1o2*(((vx3MMM - vx3PPM) + (vx3MPP - vx3PMP)) + ((vx3PMM - vx3MPM) + (vx3PPP - vx3MMP))); - cxyz= ((vx3MMP - vx3PPM) + (vx3PPP - vx3MMM)) + ((vx3MPM - vx3PMP) + (vx3PMM - vx3MPP)) ; - - //bxx = zero; - //cxx = zero; - //ayy = zero; - //cyy = zero; - //azz = zero; - //bzz = zero; - //axx = zero; - //byy = zero; - //czz = zero; - - bxx = c1o8*(((kxyFromfcNEQPPP - kxyFromfcNEQMMM) + (kxyFromfcNEQPMM - kxyFromfcNEQMPP)) + ((kxyFromfcNEQPMP - kxyFromfcNEQMPM) + (kxyFromfcNEQPPM - kxyFromfcNEQMMP))) - c1o2*axy; - cxx = c1o8*(((kxzFromfcNEQPPP - kxzFromfcNEQMMM) + (kxzFromfcNEQPMM - kxzFromfcNEQMPP)) + ((kxzFromfcNEQPMP - kxzFromfcNEQMPM) + (kxzFromfcNEQPPM - kxzFromfcNEQMMP))) - c1o2*axz; - - ayy = c1o8*(((kxyFromfcNEQPPP - kxyFromfcNEQMMM) + (kxyFromfcNEQPPM - kxyFromfcNEQMMP)) - ((kxyFromfcNEQPMM - kxyFromfcNEQMPP) + (kxyFromfcNEQPMP - kxyFromfcNEQMPM))) - c1o2*bxy; - cyy = c1o8*(((kyzFromfcNEQPPP - kyzFromfcNEQMMM) + (kyzFromfcNEQPPM - kyzFromfcNEQMMP)) - ((kyzFromfcNEQPMM - kyzFromfcNEQMPP) + (kyzFromfcNEQPMP - kyzFromfcNEQMPM))) - c1o2*byz; - - azz = c1o8*(((kxzFromfcNEQPPP - kxzFromfcNEQMMM) - (kxzFromfcNEQPMM - kxzFromfcNEQMPP)) + ((kxzFromfcNEQPMP - kxzFromfcNEQMPM) - (kxzFromfcNEQPPM - kxzFromfcNEQMMP))) - c1o2*cxz; - bzz = c1o8*(((kyzFromfcNEQPPP - kyzFromfcNEQMMM) - (kyzFromfcNEQPMM - kyzFromfcNEQMPP)) + ((kyzFromfcNEQPMP - kyzFromfcNEQMPM) - (kyzFromfcNEQPPM - kyzFromfcNEQMMP))) - c1o2*cyz; - - axx = (c1o16*(((kxxMyyFromfcNEQPPP - kxxMyyFromfcNEQMMM) + (kxxMyyFromfcNEQPMM - kxxMyyFromfcNEQMPP)) + ((kxxMyyFromfcNEQPMP - kxxMyyFromfcNEQMPM) + (kxxMyyFromfcNEQPPM - kxxMyyFromfcNEQMMP))) - c1o4*bxy) - + (c1o16*(((kxxMzzFromfcNEQPPP - kxxMzzFromfcNEQMMM) + (kxxMzzFromfcNEQPMM - kxxMzzFromfcNEQMPP)) + ((kxxMzzFromfcNEQPMP - kxxMzzFromfcNEQMPM) + (kxxMzzFromfcNEQPPM - kxxMzzFromfcNEQMMP))) - c1o4*cxz); - - byy = (-c1o16*(((kxxMyyFromfcNEQPPP - kxxMyyFromfcNEQMMM) - (kxxMyyFromfcNEQPMM - kxxMyyFromfcNEQMPP)) + ((kxxMyyFromfcNEQPPM - kxxMyyFromfcNEQMMP) - (kxxMyyFromfcNEQPMP - kxxMyyFromfcNEQMPM))) - c1o4*axy) - + (c1o16*(((kyyMzzFromfcNEQPPP - kyyMzzFromfcNEQMMM) - (kyyMzzFromfcNEQPMM - kyyMzzFromfcNEQMPP)) + ((kyyMzzFromfcNEQPPM - kyyMzzFromfcNEQMMP) - (kyyMzzFromfcNEQPMP - kyyMzzFromfcNEQMPM))) - c1o4*cyz); - - czz = (-c1o16*(((kxxMzzFromfcNEQPPP - kxxMzzFromfcNEQMMM) - (kxxMzzFromfcNEQPMM - kxxMzzFromfcNEQMPP)) - ((kxxMzzFromfcNEQPPM - kxxMzzFromfcNEQMMP) - (kxxMzzFromfcNEQPMP - kxxMzzFromfcNEQMPM))) - c1o4*axz) - + (c1o16*(((kyyMzzFromfcNEQPPP - kyyMzzFromfcNEQMMM) - (kyyMzzFromfcNEQPMM - kyyMzzFromfcNEQMPP)) - ((kyyMzzFromfcNEQPPM - kyyMzzFromfcNEQMMP) - (kyyMzzFromfcNEQPMP - kyyMzzFromfcNEQMPM))) - c1o4*byz); - - a0 -= c1o4*(axx + ayy + azz); - b0 -= c1o4*(bxx + byy + bzz); - c0 -= c1o4*(cxx + cyy + czz); - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real kxyAverage = c0o1; - real kyzAverage = c0o1; - real kxzAverage = c0o1; - real kxxMyyAverage = c0o1; - real kxxMzzAverage = c0o1; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //Press - //d0 = ( pressPPM + pressPPP + pressMPM + pressMPP + pressPMM + pressPMP + pressMMM + pressMMP) * c1o8; - //dx = ( pressPPM + pressPPP - pressMPM - pressMPP + pressPMM + pressPMP - pressMMM - pressMMP) * c1o4; - //dy = ( pressPPM + pressPPP + pressMPM + pressMPP - pressPMM - pressPMP - pressMMM - pressMMP) * c1o4; - //dz = (-pressPPM + pressPPP - pressMPM + pressMPP - pressPMM + pressPMP - pressMMM + pressMMP) * c1o4; - //dxy = ( pressPPM + pressPPP - pressMPM - pressMPP - pressPMM - pressPMP + pressMMM + pressMMP) * c1o2; - //dxz = (-pressPPM + pressPPP + pressMPM - pressMPP - pressPMM + pressPMP + pressMMM - pressMMP) * c1o2; - //dyz = (-pressPPM + pressPPP - pressMPM + pressMPP + pressPMM - pressPMP + pressMMM - pressMMP) * c1o2; - //dxyz = -pressPPM + pressPPP + pressMPM - pressMPP + pressPMM - pressPMP - pressMMM + pressMMP; - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho - d0 = ( ((drhoPPM + drhoMMP) + (drhoMPM + drhoPMP)) + ((drhoPMM + drhoMPP) + (drhoMMM + drhoPPP))) * c1o8; - dx = ( ((drhoPPM - drhoMMP) + (drhoPMM - drhoMPP)) + ((drhoPMP - drhoMPM) + (drhoPPP - drhoMMM))) * c1o4; - dy = ( ((drhoPPM - drhoMMP) + (drhoMPP - drhoPMM)) + ((drhoMPM - drhoPMP) + (drhoPPP - drhoMMM))) * c1o4; - dz = ( ((drhoMMP - drhoPPM) + (drhoPPP - drhoMMM)) + ((drhoPMP - drhoMPM) + (drhoMPP - drhoPMM))) * c1o4; - dxy = ( ((drhoPPM - drhoPMP) + (drhoPPP - drhoPMM)) + ((drhoMMP - drhoMPM) + (drhoMMM - drhoMPP))) * c1o2; - dxz = ( ((drhoMMM - drhoPPM) + (drhoPPP - drhoMMP)) + ((drhoMPM - drhoPMM) + (drhoPMP - drhoMPP))) * c1o2; - dyz = ( ((drhoMPP - drhoPPM) + (drhoPPP - drhoMPM)) + ((drhoPMM - drhoMMP) + (drhoMMM - drhoPMP))) * c1o2; - dxyz = -drhoPPM + drhoPPP + drhoMPM - drhoMPP + drhoPMM - drhoPMP - drhoMMM + drhoMMP; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - // Bernd das Brot - // - // X------X - // | | x---x - // | ---+-+-> | ----> off-vector - // | | x---x - // X------X - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - a0 = a0 + xoff * ax + yoff * ay + zoff * az + xoff_sq * axx + yoff_sq * ayy + zoff_sq * azz + xoff*yoff*axy + xoff*zoff*axz + yoff*zoff*ayz; - ax = ax + c2o1 * xoff * axx + yoff * axy + zoff * axz; - ay = ay + c2o1 * yoff * ayy + xoff * axy + zoff * ayz; - az = az + c2o1 * zoff * azz + xoff * axz + yoff * ayz; - b0 = b0 + xoff * bx + yoff * by + zoff * bz + xoff_sq * bxx + yoff_sq * byy + zoff_sq * bzz + xoff*yoff*bxy + xoff*zoff*bxz + yoff*zoff*byz; - bx = bx + c2o1 * xoff * bxx + yoff * bxy + zoff * bxz; - by = by + c2o1 * yoff * byy + xoff * bxy + zoff * byz; - bz = bz + c2o1 * zoff * bzz + xoff * bxz + yoff * byz; - c0 = c0 + xoff * cx + yoff * cy + zoff * cz + xoff_sq * cxx + yoff_sq * cyy + zoff_sq * czz + xoff*yoff*cxy + xoff*zoff*cxz + yoff*zoff*cyz; - cx = cx + c2o1 * xoff * cxx + yoff * cxy + zoff * cxz; - cy = cy + c2o1 * yoff * cyy + xoff * cxy + zoff * cyz; - cz = cz + c2o1 * zoff * czz + xoff * cxz + yoff * cyz; - d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz; - dx = dx + yoff * dxy + zoff * dxz; - dy = dy + xoff * dxy + zoff * dyz; - dz = dz + xoff * dxz + yoff * dyz; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = c0o1; - real mfabb = c0o1; - real mfbcb = c0o1; - real mfbab = c0o1; - real mfbbc = c0o1; - real mfbba = c0o1; - real mfccb = c0o1; - real mfaab = c0o1; - real mfcab = c0o1; - real mfacb = c0o1; - real mfcbc = c0o1; - real mfaba = c0o1; - real mfcba = c0o1; - real mfabc = c0o1; - real mfbcc = c0o1; - real mfbaa = c0o1; - real mfbca = c0o1; - real mfbac = c0o1; - real mfbbb = c0o1; - real mfccc = c0o1; - real mfaac = c0o1; - real mfcac = c0o1; - real mfacc = c0o1; - real mfcca = c0o1; - real mfaaa = c0o1; - real mfcaa = c0o1; - real mfaca = c0o1; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real m0, m1, m2, oMdrho; - real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz; - //real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein - //real O3 = two - o; - //real residu, residutmp; - //residutmp = zero;// /*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new; - real NeqOn = c1o1;//zero;//one; //.... one = on ..... zero = off - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position SWB -0.25f, -0.25f, -0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = -c1o4; - y = -c1o4; - z = -c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //real mxoff = -xoff; - //real myoff = -yoff; - //real mzoff = -zoff; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c3o64*drho_NEB+c1o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c27o64*drho_SWB+c9o64*drho_SWT; - //press = press_SWT * (c9o64 + c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + - // press_NWT * (c3o64 + c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + - // press_SET * (c3o64 - c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + - // press_NET * (c1o64 - c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + - // press_NEB * (c3o64 - c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + - // press_NWB * (c9o64 + c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c9o64 - c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c27o64 + c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff); - //drho = drho_SWT * (c9o64 + c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + - // drho_NWT * (c3o64 + c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - // drho_SET * (c3o64 - c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + - // drho_NET * (c1o64 - c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + - // drho_NEB * (c3o64 - c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + - // drho_NWB * (c9o64 + c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c9o64 - c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c27o64 + c9o16 * xoff + c9o16 * yoff + c9o16 * zoff); - - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z )*eps_new / oP* (c1o1 + press); - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0o1; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0o1; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0o1; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0o1; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0o1; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0o1; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0o1; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index 0 - k000base = posFSWB[k]; - kM00base = neighborFX[k000base]; - k0M0base = neighborFY[k000base]; - k00Mbase = neighborFZ[k000base]; - kMM0base = neighborFY[kM00base]; - kM0Mbase = neighborFZ[kM00base]; - k0MMbase = neighborFZ[k0M0base]; - kMMMbase = neighborFZ[kMM0base]; - ////////////////////////////////////////////////////////////////////////// - //index - k000 = k000base; - kM00 = kM00base; - k0M0 = k0M0base; - k00M = k00Mbase; - kMM0 = kMM0base; - kM0M = kM0Mbase; - k0MM = k0MMbase; - kMMM = kMMMbase; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - fP00dest[k000] = mfcbb; - fM00dest[kM00] = mfabb; - f0P0dest[k000] = mfbcb; - f0M0dest[k0M0] = mfbab; - f00Pdest[k000] = mfbbc; - f00Mdest[k00M] = mfbba; - fPP0dest[k000] = mfccb; - fMM0dest[kMM0] = mfaab; - fPM0dest[k0M0] = mfcab; - fMP0dest[kM00] = mfacb; - fP0Pdest[k000] = mfcbc; - fM0Mdest[kM0M] = mfaba; - fP0Mdest[k00M] = mfcba; - fM0Pdest[kM00] = mfabc; - f0PPdest[k000] = mfbcc; - f0MMdest[k0MM] = mfbaa; - f0PMdest[k00M] = mfbca; - f0MPdest[k0M0] = mfbac; - f000dest[k000] = mfbbb; - fMMMdest[kMMM] = mfaaa; - fMMPdest[kMM0] = mfaac; - fMPPdest[kM00] = mfacc; - fMPMdest[kM0M] = mfaca; - fPPMdest[k00M] = mfcca; - fPPPdest[k000] = mfccc; - fPMPdest[k0M0] = mfcac; - fPMMdest[k0MM] = mfcaa; - //////////////////////////////////////////////////////////////////////////////////// - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position SWT -0.25f, -0.25f, 0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = -c1o4; - y = -c1o4; - z = c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c1o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c27o64*drho_SWT; - //press = press_SWT * (c27o64 + c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + - // press_NWT * (c9o64 + c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + - // press_SET * (c9o64 - c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + - // press_NET * (c3o64 - c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + - // press_NEB * (c1o64 - c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + - // press_NWB * (c3o64 + c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c3o64 - c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c9o64 + c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff); - //drho = drho_SWT * (c27o64 + c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + - // drho_NWT * (c9o64 + c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + - // drho_SET * (c9o64 - c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - // drho_NET * (c3o64 - c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + - // drho_NEB * (c1o64 - c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + - // drho_NWB * (c3o64 + c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c3o64 - c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c9o64 + c3o16 * xoff + c3o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press); - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0o1; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0o1; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0o1; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0o1; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0o1; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0o1; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0o1; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - //index - k000 = k00M; - kM00 = kM0M; - k0M0 = k0MM; - k00M = neighborFZ[k00M]; - kMM0 = kMMM; - kM0M = neighborFZ[kM0M]; - k0MM = neighborFZ[k0MM]; - kMMM = neighborFZ[kMMM]; - //////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - fP00dest[k000] = mfcbb; - fM00dest[kM00] = mfabb; - f0P0dest[k000] = mfbcb; - f0M0dest[k0M0] = mfbab; - f00Pdest[k000] = mfbbc; - f00Mdest[k00M] = mfbba; - fPP0dest[k000] = mfccb; - fMM0dest[kMM0] = mfaab; - fPM0dest[k0M0] = mfcab; - fMP0dest[kM00] = mfacb; - fP0Pdest[k000] = mfcbc; - fM0Mdest[kM0M] = mfaba; - fP0Mdest[k00M] = mfcba; - fM0Pdest[kM00] = mfabc; - f0PPdest[k000] = mfbcc; - f0MMdest[k0MM] = mfbaa; - f0PMdest[k00M] = mfbca; - f0MPdest[k0M0] = mfbac; - f000dest[k000] = mfbbb; - fMMMdest[kMMM] = mfaaa; - fMMPdest[kMM0] = mfaac; - fMPPdest[kM00] = mfacc; - fMPMdest[kM0M] = mfaca; - fPPMdest[k00M] = mfcca; - fPPPdest[k000] = mfccc; - fPMPdest[k0M0] = mfcac; - fPMMdest[k0MM] = mfcaa; - //////////////////////////////////////////////////////////////////////////////////// - - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position SET 0.25f, -0.25f, 0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = c1o4; - y = -c1o4; - z = c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho =c3o64*drho_NEB+c9o64*drho_NET+c1o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c27o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT; - //press = press_SET * (c27o64 - c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + - // press_NET * (c9o64 - c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c9o64 + c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + - // press_NWT * (c3o64 + c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + - // press_NWB * (c1o64 + c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + - // press_NEB * (c3o64 - c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c3o64 + c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c9o64 - c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff); - //drho = drho_SET * (c27o64 - c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + - // drho_NET * (c9o64 - c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c9o64 + c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - // drho_NWT * (c3o64 + c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + - // drho_NWB * (c1o64 + c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + - // drho_NEB * (c3o64 - c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c3o64 + c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c9o64 - c3o16 * xoff + c3o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press); - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0o1; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0o1; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0o1; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0o1; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0o1; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0o1; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0o1; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index - k000 = kM00; - kM00 = neighborFX[kM00]; - k0M0 = kMM0; - k00M = kM0M; - kMM0 = neighborFX[kMM0]; - kM0M = neighborFX[kM0M]; - k0MM = kMMM; - kMMM = neighborFX[kMMM]; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - fP00dest[k000] = mfcbb; - fM00dest[kM00] = mfabb; - f0P0dest[k000] = mfbcb; - f0M0dest[k0M0] = mfbab; - f00Pdest[k000] = mfbbc; - f00Mdest[k00M] = mfbba; - fPP0dest[k000] = mfccb; - fMM0dest[kMM0] = mfaab; - fPM0dest[k0M0] = mfcab; - fMP0dest[kM00] = mfacb; - fP0Pdest[k000] = mfcbc; - fM0Mdest[kM0M] = mfaba; - fP0Mdest[k00M] = mfcba; - fM0Pdest[kM00] = mfabc; - f0PPdest[k000] = mfbcc; - f0MMdest[k0MM] = mfbaa; - f0PMdest[k00M] = mfbca; - f0MPdest[k0M0] = mfbac; - f000dest[k000] = mfbbb; - fMMMdest[kMMM] = mfaaa; - fMMPdest[kMM0] = mfaac; - fMPPdest[kM00] = mfacc; - fMPMdest[kM0M] = mfaca; - fPPMdest[k00M] = mfcca; - fPPPdest[k000] = mfccc; - fPMPdest[k0M0] = mfcac; - fPMMdest[k0MM] = mfcaa; - //////////////////////////////////////////////////////////////////////////////////// - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position SEB 0.25f, -0.25f, -0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = c1o4; - y = -c1o4; - z = -c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho =c9o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c1o64*drho_NWT+c27o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT; - //press = press_SET * (c9o64 - c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + - // press_NET * (c3o64 - c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c3o64 + c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + - // press_NWT * (c1o64 + c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + - // press_NWB * (c3o64 + c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + - // press_NEB * (c9o64 - c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c9o64 + c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c27o64 - c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff); - //drho = drho_SET * (c9o64 - c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + - // drho_NET * (c3o64 - c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c3o64 + c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + - // drho_NWT * (c1o64 + c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + - // drho_NWB * (c3o64 + c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + - // drho_NEB * (c9o64 - c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c9o64 + c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c27o64 - c9o16 * xoff + c9o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press); - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0o1; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0o1; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0o1; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0o1; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0o1; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0o1; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0o1; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index - k00M = k000; - kM0M = kM00; - k0MM = k0M0; - kMMM = kMM0; - k000 = kM00base; - kM00 = neighborFX[kM00base]; - k0M0 = kMM0base; - kMM0 = neighborFX[kMM0base]; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - fP00dest[k000] = mfcbb; - fM00dest[kM00] = mfabb; - f0P0dest[k000] = mfbcb; - f0M0dest[k0M0] = mfbab; - f00Pdest[k000] = mfbbc; - f00Mdest[k00M] = mfbba; - fPP0dest[k000] = mfccb; - fMM0dest[kMM0] = mfaab; - fPM0dest[k0M0] = mfcab; - fMP0dest[kM00] = mfacb; - fP0Pdest[k000] = mfcbc; - fM0Mdest[kM0M] = mfaba; - fP0Mdest[k00M] = mfcba; - fM0Pdest[kM00] = mfabc; - f0PPdest[k000] = mfbcc; - f0MMdest[k0MM] = mfbaa; - f0PMdest[k00M] = mfbca; - f0MPdest[k0M0] = mfbac; - f000dest[k000] = mfbbb; - fMMMdest[kMMM] = mfaaa; - fMMPdest[kMM0] = mfaac; - fMPPdest[kM00] = mfacc; - fMPMdest[kM0M] = mfaca; - fPPMdest[k00M] = mfcca; - fPPPdest[k000] = mfccc; - fPMPdest[k0M0] = mfcac; - fPMMdest[k0MM] = mfcaa; - //////////////////////////////////////////////////////////////////////////////////// - - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position NWB -0.25f, 0.25f, -0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = -c1o4; - y = c1o4; - z = -c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c9o64*drho_NEB+c3o64*drho_NET+c27o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c1o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT; - //press = press_NWT * (c9o64 + c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + - // press_NET * (c3o64 - c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c3o64 + c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + - // press_SET * (c1o64 - c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + - // press_SEB * (c3o64 - c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + - // press_NEB * (c9o64 - c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c9o64 + c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + - // press_NWB * (c27o64 + c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff); - //drho = drho_NWT * (c9o64 + c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + - // drho_NET * (c3o64 - c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c3o64 + c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - // drho_SET * (c1o64 - c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + - // drho_SEB * (c3o64 - c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + - // drho_NEB * (c9o64 - c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c9o64 + c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + - // drho_NWB * (c27o64 + c9o16 * xoff - c9o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press); - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0o1; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0o1; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0o1; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0o1; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0o1; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0o1; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0o1; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index 0 - k000base = k0M0base; - kM00base = kMM0base; - k0M0base = neighborFY[k0M0base]; - k00Mbase = k0MMbase; - kMM0base = neighborFY[kMM0base]; - kM0Mbase = kMMMbase; - k0MMbase = neighborFY[k0MMbase]; - kMMMbase = neighborFY[kMMMbase]; - ////////////////////////////////////////////////////////////////////////// - //index - k000 = k000base; - kM00 = kM00base; - k0M0 = k0M0base; - k00M = k00Mbase; - kMM0 = kMM0base; - kM0M = kM0Mbase; - k0MM = k0MMbase; - kMMM = kMMMbase; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - fP00dest[k000] = mfcbb; - fM00dest[kM00] = mfabb; - f0P0dest[k000] = mfbcb; - f0M0dest[k0M0] = mfbab; - f00Pdest[k000] = mfbbc; - f00Mdest[k00M] = mfbba; - fPP0dest[k000] = mfccb; - fMM0dest[kMM0] = mfaab; - fPM0dest[k0M0] = mfcab; - fMP0dest[kM00] = mfacb; - fP0Pdest[k000] = mfcbc; - fM0Mdest[kM0M] = mfaba; - fP0Mdest[k00M] = mfcba; - fM0Pdest[kM00] = mfabc; - f0PPdest[k000] = mfbcc; - f0MMdest[k0MM] = mfbaa; - f0PMdest[k00M] = mfbca; - f0MPdest[k0M0] = mfbac; - f000dest[k000] = mfbbb; - fMMMdest[kMMM] = mfaaa; - fMMPdest[kMM0] = mfaac; - fMPPdest[kM00] = mfacc; - fMPMdest[kM0M] = mfaca; - fPPMdest[k00M] = mfcca; - fPPPdest[k000] = mfccc; - fPMPdest[k0M0] = mfcac; - fPMMdest[k0MM] = mfcaa; - //////////////////////////////////////////////////////////////////////////////////// - - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position NWT -0.25f, 0.25f, 0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = -c1o4; - y = c1o4; - z = c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c3o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c27o64*drho_NWT+c1o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT; - //press = press_NWT * (c27o64 + c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + - // press_NET * (c9o64 - c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c9o64 + c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + - // press_SET * (c3o64 - c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + - // press_SEB * (c1o64 - c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + - // press_NEB * (c3o64 - c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c3o64 + c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + - // press_NWB * (c9o64 + c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff); - //drho = drho_NWT * (c27o64 + c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + - // drho_NET * (c9o64 - c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c9o64 + c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + - // drho_SET * (c3o64 - c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + - // drho_SEB * (c1o64 - c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + - // drho_NEB * (c3o64 - c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c3o64 + c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - // drho_NWB * (c9o64 + c3o16 * xoff - c3o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press); - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0o1; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0o1; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0o1; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0o1; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0o1; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0o1; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0o1; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index - k000 = k00M; - kM00 = kM0M; - k0M0 = k0MM; - k00M = neighborFZ[k00M]; - kMM0 = kMMM; - kM0M = neighborFZ[kM0M]; - k0MM = neighborFZ[k0MM]; - kMMM = neighborFZ[kMMM]; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - fP00dest[k000] = mfcbb; - fM00dest[kM00] = mfabb; - f0P0dest[k000] = mfbcb; - f0M0dest[k0M0] = mfbab; - f00Pdest[k000] = mfbbc; - f00Mdest[k00M] = mfbba; - fPP0dest[k000] = mfccb; - fMM0dest[kMM0] = mfaab; - fPM0dest[k0M0] = mfcab; - fMP0dest[kM00] = mfacb; - fP0Pdest[k000] = mfcbc; - fM0Mdest[kM0M] = mfaba; - fP0Mdest[k00M] = mfcba; - fM0Pdest[kM00] = mfabc; - f0PPdest[k000] = mfbcc; - f0MMdest[k0MM] = mfbaa; - f0PMdest[k00M] = mfbca; - f0MPdest[k0M0] = mfbac; - f000dest[k000] = mfbbb; - fMMMdest[kMMM] = mfaaa; - fMMPdest[kMM0] = mfaac; - fMPPdest[kM00] = mfacc; - fMPMdest[kM0M] = mfaca; - fPPMdest[k00M] = mfcca; - fPPPdest[k000] = mfccc; - fPMPdest[k0M0] = mfcac; - fPMMdest[k0MM] = mfcaa; - //////////////////////////////////////////////////////////////////////////////////// - - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position NET 0.25f, 0.25f, 0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = c1o4; - y = c1o4; - z = c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c9o64*drho_NEB+c27o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c1o64*drho_SWB+c3o64*drho_SWT; - //press = press_NET * (c27o64 - c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + - // press_NWT * (c9o64 + c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + - // press_SET * (c9o64 - c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c3o64 + c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + - // press_SWB * (c1o64 + c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + - // press_NWB * (c3o64 + c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c3o64 - c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + - // press_NEB * (c9o64 - c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff); - //drho = drho_NET * (c27o64 - c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + - // drho_NWT * (c9o64 + c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - // drho_SET * (c9o64 - c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c3o64 + c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + - // drho_SWB * (c1o64 + c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + - // drho_NWB * (c3o64 + c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c3o64 - c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - // drho_NEB * (c9o64 - c3o16 * xoff - c3o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press); - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0o1; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0o1; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0o1; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0o1; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0o1; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0o1; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0o1; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index - k000 = kM00; - kM00 = neighborFX[kM00]; - k0M0 = kMM0; - k00M = kM0M; - kMM0 = neighborFX[kMM0]; - kM0M = neighborFX[kM0M]; - k0MM = kMMM; - kMMM = neighborFX[kMMM]; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - fP00dest[k000] = mfcbb; - fM00dest[kM00] = mfabb; - f0P0dest[k000] = mfbcb; - f0M0dest[k0M0] = mfbab; - f00Pdest[k000] = mfbbc; - f00Mdest[k00M] = mfbba; - fPP0dest[k000] = mfccb; - fMM0dest[kMM0] = mfaab; - fPM0dest[k0M0] = mfcab; - fMP0dest[kM00] = mfacb; - fP0Pdest[k000] = mfcbc; - fM0Mdest[kM0M] = mfaba; - fP0Mdest[k00M] = mfcba; - fM0Pdest[kM00] = mfabc; - f0PPdest[k000] = mfbcc; - f0MMdest[k0MM] = mfbaa; - f0PMdest[k00M] = mfbca; - f0MPdest[k0M0] = mfbac; - f000dest[k000] = mfbbb; - fMMMdest[kMMM] = mfaaa; - fMMPdest[kMM0] = mfaac; - fMPPdest[kM00] = mfacc; - fMPMdest[kM0M] = mfaca; - fPPMdest[k00M] = mfcca; - fPPPdest[k000] = mfccc; - fPMPdest[k0M0] = mfcac; - fPMMdest[k0MM] = mfcaa; - //////////////////////////////////////////////////////////////////////////////////// - - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position NEB 0.25f, 0.25f, -0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = c1o4; - y = c1o4; - z = -c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c27o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c1o64*drho_SWT; - //press = press_NET * (c9o64 - c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + - // press_NWT * (c3o64 + c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + - // press_SET * (c3o64 - c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c1o64 + c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + - // press_SWB * (c3o64 + c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + - // press_NWB * (c9o64 + c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c9o64 - c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + - // press_NEB * (c27o64 - c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff); - //drho = drho_NET * (c9o64 - c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + - // drho_NWT * (c3o64 + c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + - // drho_SET * (c3o64 - c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c1o64 + c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + - // drho_SWB * (c3o64 + c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + - // drho_NWB * (c9o64 + c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c9o64 - c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + - // drho_NEB * (c27o64 - c9o16 * xoff - c9o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press); - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0o1; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0o1; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0o1; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0o1; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0o1; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0o1; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0o1; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index - k00M = k000; - kM0M = kM00; - k0MM = k0M0; - kMMM = kMM0; - k000 = kM00base; - kM00 = neighborFX[kM00base]; - k0M0 = kMM0base; - kMM0 = neighborFX[kMM0base]; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - fP00dest[k000] = mfcbb; - fM00dest[kM00] = mfabb; - f0P0dest[k000] = mfbcb; - f0M0dest[k0M0] = mfbab; - f00Pdest[k000] = mfbbc; - f00Mdest[k00M] = mfbba; - fPP0dest[k000] = mfccb; - fMM0dest[kMM0] = mfaab; - fPM0dest[k0M0] = mfcab; - fMP0dest[kM00] = mfacb; - fP0Pdest[k000] = mfcbc; - fM0Mdest[kM0M] = mfaba; - fP0Mdest[k00M] = mfcba; - fM0Pdest[kM00] = mfabc; - f0PPdest[k000] = mfbcc; - f0MMdest[k0MM] = mfbaa; - f0PMdest[k00M] = mfbca; - f0MPdest[k0M0] = mfbac; - f000dest[k000] = mfbbb; - fMMMdest[kMMM] = mfaaa; - fMMPdest[kMM0] = mfaac; - fMPPdest[kM00] = mfacc; - fMPMdest[kM0M] = mfaca; - fPPMdest[k00M] = mfcca; - fPPPdest[k000] = mfccc; - fPMPdest[k0M0] = mfcac; - fPMMdest[k0MM] = mfcaa; - //////////////////////////////////////////////////////////////////////////////////// - } -} -////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -////////////////////////////////////////////////////////////////////////// -__global__ void scaleCF_AA2016_comp_27(real* DC, - real* DF, - unsigned int* neighborCX, - unsigned int* neighborCY, - unsigned int* neighborCZ, - unsigned int* neighborFX, - unsigned int* neighborFY, - unsigned int* neighborFZ, - unsigned long long numberOfLBnodesCoarse, - unsigned long long numberOfLBnodesFine, - bool isEvenTimestep, - unsigned int* posCSWB, - unsigned int* posFSWB, - unsigned int kCF, - real omCoarse, - real omFine, - real nu, - unsigned int nxC, - unsigned int nyC, - unsigned int nxF, - unsigned int nyF, - ICellNeigh offCF) -{ - real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, - *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - - feF = &DF[dP00 * numberOfLBnodesFine]; - fwF = &DF[dM00 * numberOfLBnodesFine]; - fnF = &DF[d0P0 * numberOfLBnodesFine]; - fsF = &DF[d0M0 * numberOfLBnodesFine]; - ftF = &DF[d00P * numberOfLBnodesFine]; - fbF = &DF[d00M * numberOfLBnodesFine]; - fneF = &DF[dPP0 * numberOfLBnodesFine]; - fswF = &DF[dMM0 * numberOfLBnodesFine]; - fseF = &DF[dPM0 * numberOfLBnodesFine]; - fnwF = &DF[dMP0 * numberOfLBnodesFine]; - fteF = &DF[dP0P * numberOfLBnodesFine]; - fbwF = &DF[dM0M * numberOfLBnodesFine]; - fbeF = &DF[dP0M * numberOfLBnodesFine]; - ftwF = &DF[dM0P * numberOfLBnodesFine]; - ftnF = &DF[d0PP * numberOfLBnodesFine]; - fbsF = &DF[d0MM * numberOfLBnodesFine]; - fbnF = &DF[d0PM * numberOfLBnodesFine]; - ftsF = &DF[d0MP * numberOfLBnodesFine]; - fzeroF = &DF[d000 * numberOfLBnodesFine]; - ftneF = &DF[dPPP * numberOfLBnodesFine]; - ftswF = &DF[dMMP * numberOfLBnodesFine]; - ftseF = &DF[dPMP * numberOfLBnodesFine]; - ftnwF = &DF[dMPP * numberOfLBnodesFine]; - fbneF = &DF[dPPM * numberOfLBnodesFine]; - fbswF = &DF[dMMM * numberOfLBnodesFine]; - fbseF = &DF[dPMM * numberOfLBnodesFine]; - fbnwF = &DF[dMPM * numberOfLBnodesFine]; - - real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, *fzeroC, - *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; - - if (isEvenTimestep==true) - { - feC = &DC[dP00 * numberOfLBnodesCoarse]; - fwC = &DC[dM00 * numberOfLBnodesCoarse]; - fnC = &DC[d0P0 * numberOfLBnodesCoarse]; - fsC = &DC[d0M0 * numberOfLBnodesCoarse]; - ftC = &DC[d00P * numberOfLBnodesCoarse]; - fbC = &DC[d00M * numberOfLBnodesCoarse]; - fneC = &DC[dPP0 * numberOfLBnodesCoarse]; - fswC = &DC[dMM0 * numberOfLBnodesCoarse]; - fseC = &DC[dPM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dMP0 * numberOfLBnodesCoarse]; - fteC = &DC[dP0P * numberOfLBnodesCoarse]; - fbwC = &DC[dM0M * numberOfLBnodesCoarse]; - fbeC = &DC[dP0M * numberOfLBnodesCoarse]; - ftwC = &DC[dM0P * numberOfLBnodesCoarse]; - ftnC = &DC[d0PP * numberOfLBnodesCoarse]; - fbsC = &DC[d0MM * numberOfLBnodesCoarse]; - fbnC = &DC[d0PM * numberOfLBnodesCoarse]; - ftsC = &DC[d0MP * numberOfLBnodesCoarse]; - fzeroC = &DC[d000 * numberOfLBnodesCoarse]; - ftneC = &DC[dPPP * numberOfLBnodesCoarse]; - ftswC = &DC[dMMP * numberOfLBnodesCoarse]; - ftseC = &DC[dPMP * numberOfLBnodesCoarse]; - ftnwC = &DC[dMPP * numberOfLBnodesCoarse]; - fbneC = &DC[dPPM * numberOfLBnodesCoarse]; - fbswC = &DC[dMMM * numberOfLBnodesCoarse]; - fbseC = &DC[dPMM * numberOfLBnodesCoarse]; - fbnwC = &DC[dMPM * numberOfLBnodesCoarse]; - } - else - { - fwC = &DC[dP00 * numberOfLBnodesCoarse]; - feC = &DC[dM00 * numberOfLBnodesCoarse]; - fsC = &DC[d0P0 * numberOfLBnodesCoarse]; - fnC = &DC[d0M0 * numberOfLBnodesCoarse]; - fbC = &DC[d00P * numberOfLBnodesCoarse]; - ftC = &DC[d00M * numberOfLBnodesCoarse]; - fswC = &DC[dPP0 * numberOfLBnodesCoarse]; - fneC = &DC[dMM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dPM0 * numberOfLBnodesCoarse]; - fseC = &DC[dMP0 * numberOfLBnodesCoarse]; - fbwC = &DC[dP0P * numberOfLBnodesCoarse]; - fteC = &DC[dM0M * numberOfLBnodesCoarse]; - ftwC = &DC[dP0M * numberOfLBnodesCoarse]; - fbeC = &DC[dM0P * numberOfLBnodesCoarse]; - fbsC = &DC[d0PP * numberOfLBnodesCoarse]; - ftnC = &DC[d0MM * numberOfLBnodesCoarse]; - ftsC = &DC[d0PM * numberOfLBnodesCoarse]; - fbnC = &DC[d0MP * numberOfLBnodesCoarse]; - fzeroC = &DC[d000 * numberOfLBnodesCoarse]; - fbswC = &DC[dPPP * numberOfLBnodesCoarse]; - fbneC = &DC[dMMP * numberOfLBnodesCoarse]; - fbnwC = &DC[dPMP * numberOfLBnodesCoarse]; - fbseC = &DC[dMPP * numberOfLBnodesCoarse]; - ftswC = &DC[dPPM * numberOfLBnodesCoarse]; - ftneC = &DC[dMMM * numberOfLBnodesCoarse]; - ftnwC = &DC[dPMM * numberOfLBnodesCoarse]; - ftseC = &DC[dMPM * numberOfLBnodesCoarse]; - } - - //////////////////////////////////////////////////////////////////////////////// - const unsigned ix = threadIdx.x; // Globaler x-Index - const unsigned iy = blockIdx.x; // Globaler y-Index - const unsigned iz = blockIdx.y; // Globaler z-Index - - const unsigned nx = blockDim.x; - const unsigned ny = gridDim.x; - - const unsigned k = nx*(ny*iz + iy) + ix; - ////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////// - real eps_new = c1o2; - real omegaS = omCoarse;//-omCoarse; - real o = omFine;//-omFine; - //real op = one; - //real cu_sq; - - real xoff, yoff, zoff; - real xoff_sq, yoff_sq, zoff_sq; - - real press;//,drho,vx1,vx2,vx3; - real /*press_SWT,*/drho_SWT,vx1_SWT,vx2_SWT,vx3_SWT; - real /*press_NWT,*/drho_NWT,vx1_NWT,vx2_NWT,vx3_NWT; - real /*press_NET,*/drho_NET,vx1_NET,vx2_NET,vx3_NET; - real /*press_SET,*/drho_SET,vx1_SET,vx2_SET,vx3_SET; - real /*press_SWB,*/drho_SWB,vx1_SWB,vx2_SWB,vx3_SWB; - real /*press_NWB,*/drho_NWB,vx1_NWB,vx2_NWB,vx3_NWB; - real /*press_NEB,*/drho_NEB,vx1_NEB,vx2_NEB,vx3_NEB; - real /*press_SEB,*/drho_SEB,vx1_SEB,vx2_SEB,vx3_SEB; - real f_E,f_W,f_N,f_S,f_T,f_B,f_NE,f_SW,f_SE,f_NW,f_TE,f_BW,f_BE,f_TW,f_TN,f_BS,f_BN,f_TS,f_ZERO,f_TNE, f_TSW, f_TSE, f_TNW, f_BNE, f_BSW, f_BSE, f_BNW; - //real feq_E,feq_W,feq_N,feq_S,feq_T,feq_B,feq_NE,feq_SW,feq_SE,feq_NW,feq_TE,feq_BW,feq_BE,feq_TW,feq_TN,feq_BS,feq_BN,feq_TS,feq_ZERO,feq_TNE, feq_TSW, feq_TSE, feq_TNW, feq_BNE, feq_BSW, feq_BSE, feq_BNW; - real kxyFromfcNEQ_SWT, kyzFromfcNEQ_SWT, kxzFromfcNEQ_SWT, kxxMyyFromfcNEQ_SWT, kxxMzzFromfcNEQ_SWT; - real kxyFromfcNEQ_NWT, kyzFromfcNEQ_NWT, kxzFromfcNEQ_NWT, kxxMyyFromfcNEQ_NWT, kxxMzzFromfcNEQ_NWT; - real kxyFromfcNEQ_NET, kyzFromfcNEQ_NET, kxzFromfcNEQ_NET, kxxMyyFromfcNEQ_NET, kxxMzzFromfcNEQ_NET; - real kxyFromfcNEQ_SET, kyzFromfcNEQ_SET, kxzFromfcNEQ_SET, kxxMyyFromfcNEQ_SET, kxxMzzFromfcNEQ_SET; - real kxyFromfcNEQ_SWB, kyzFromfcNEQ_SWB, kxzFromfcNEQ_SWB, kxxMyyFromfcNEQ_SWB, kxxMzzFromfcNEQ_SWB; - real kxyFromfcNEQ_NWB, kyzFromfcNEQ_NWB, kxzFromfcNEQ_NWB, kxxMyyFromfcNEQ_NWB, kxxMzzFromfcNEQ_NWB; - real kxyFromfcNEQ_NEB, kyzFromfcNEQ_NEB, kxzFromfcNEQ_NEB, kxxMyyFromfcNEQ_NEB, kxxMzzFromfcNEQ_NEB; - real kxyFromfcNEQ_SEB, kyzFromfcNEQ_SEB, kxzFromfcNEQ_SEB, kxxMyyFromfcNEQ_SEB, kxxMzzFromfcNEQ_SEB; - real a0, ax, ay, az, axx, ayy, azz, axy, axz, ayz, b0, bx, by, bz, bxx, byy, bzz, bxy, bxz, byz, c0, cx, cy, cz, cxx, cyy, czz, cxy, cxz, cyz, axyz, bxyz, cxyz; - real d0, dx, dy, dz, dxy, dxz, dyz, dxyz; - real x,y,z; - ////////////////////////////////////////////////////////////////////////////////////// - real mfcbb, mfabb, mfbcb, mfbab, mfbbc, mfbba, mfccb, mfaab, mfcab, mfacb, mfcbc, mfaba, mfcba, mfabc, mfbcc, mfbaa, mfbca, mfbac, mfbbb, mfccc, mfaac, mfcac, mfacc, mfcca, mfaaa, mfcaa, mfaca; - //real wadjust; - //real qudricLimitP = 0.01f;// * 0.0001f; - //real qudricLimitM = 0.01f;// * 0.0001f; - //real qudricLimitD = 0.01f;// * 0.001f; - //real omega = omCoarse; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real m0, m1, m2, vvx, vvy, vvz, vx2, vy2, vz2, oMdrho; - real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz; - real NeqOn = c1o1; - real drho, rho; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //real OxxPyyPzz; - //real OxyyPxzz; - //real OxyyMxzz; - //real Oxyz ; - //real O4, O5, O6; - //real CUMcbb, CUMbcb, CUMbbc, CUMcca, CUMcac, CUMacc, CUMbcc, CUMcbc, CUMccb, CUMccc; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - - - if(k<kCF) - { - ////////////////////////////////////////////////////////////////////////// - xoff = offCF.x[k]; - yoff = offCF.y[k]; - zoff = offCF.z[k]; - xoff_sq = xoff * xoff; - yoff_sq = yoff * yoff; - zoff_sq = zoff * zoff; - ////////////////////////////////////////////////////////////////////////// - //SWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - unsigned int k0zero= posCSWB[k]; - unsigned int k0w = neighborCX[k0zero]; - unsigned int k0s = neighborCY[k0zero]; - unsigned int k0b = neighborCZ[k0zero]; - unsigned int k0sw = neighborCY[k0w]; - unsigned int k0bw = neighborCZ[k0w]; - unsigned int k0bs = neighborCZ[k0s]; - unsigned int k0bsw = neighborCZ[k0sw]; - ////////////////////////////////////////////////////////////////////////// - //index - unsigned int kzero= k0zero; - unsigned int kw = k0w; - unsigned int ks = k0s; - unsigned int kb = k0b; - unsigned int ksw = k0sw; - unsigned int kbw = k0bw; - unsigned int kbs = k0bs; - unsigned int kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - drho_SWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_SWB = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SWB); - vx2_SWB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWB); - vx3_SWB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWB); - - kxyFromfcNEQ_SWB = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx2_SWB))); - kyzFromfcNEQ_SWB = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SWB) - ((vx2_SWB*vx3_SWB))); - kxzFromfcNEQ_SWB = -c3o1*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx3_SWB))); - kxxMyyFromfcNEQ_SWB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx1_SWB-vx2_SWB*vx2_SWB))); - kxxMzzFromfcNEQ_SWB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx1_SWB-vx3_SWB*vx3_SWB))); - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - mfcbb = f_E ; - mfabb = f_W ; - mfbcb = f_N ; - mfbab = f_S ; - mfbbc = f_T ; - mfbba = f_B ; - mfccb = f_NE ; - mfaab = f_SW ; - mfcab = f_SE ; - mfacb = f_NW ; - mfcbc = f_TE ; - mfaba = f_BW ; - mfcba = f_BE ; - mfabc = f_TW ; - mfbcc = f_TN ; - mfbaa = f_BS ; - mfbca = f_BN ; - mfbac = f_TS ; - mfbbb = f_ZERO; - mfccc = f_TNE ; - mfaac = f_TSW ; - mfcac = f_TSE ; - mfacc = f_TNW ; - mfcca = f_BNE ; - mfaaa = f_BSW ; - mfcaa = f_BSE ; - mfaca = f_BNW ; - //////////////////////////////////////////////////////////////////////////////////// - drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + - (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) + - ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb; - - rho = c1o1+drho; - //////////////////////////////////////////////////////////////////////////////////// - vvx =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + - (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) + - (mfcbb-mfabb)) / rho; - vvy =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + - (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) + - (mfbcb-mfbab)) / rho; - vvz =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + - (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) + - (mfbbc-mfbba)) / rho; - //////////////////////////////////////////////////////////////////////////////////// - //fast - oMdrho = c1o1; // comp special - vx2=vvx*vvx; - vy2=vvy*vvy; - vz2=vvz*vvz; - //////////////////////////////////////////////////////////////////////////////////// - //Hin - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m2 = mfaaa + mfaac; - m1 = mfaac - mfaaa; - m0 = m2 + mfaab; - mfaaa = m0; - m0 += c1o36 * oMdrho; - mfaab = m1 - m0 * vvz; - mfaac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfabc; - m1 = mfabc - mfaba; - m0 = m2 + mfabb; - mfaba = m0; - m0 += c1o9 * oMdrho; - mfabb = m1 - m0 * vvz; - mfabc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfacc; - m1 = mfacc - mfaca; - m0 = m2 + mfacb; - mfaca = m0; - m0 += c1o36 * oMdrho; - mfacb = m1 - m0 * vvz; - mfacc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbac; - m1 = mfbac - mfbaa; - m0 = m2 + mfbab; - mfbaa = m0; - m0 += c1o9 * oMdrho; - mfbab = m1 - m0 * vvz; - mfbac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbba + mfbbc; - m1 = mfbbc - mfbba; - m0 = m2 + mfbbb; - mfbba = m0; - m0 += c4o9 * oMdrho; - mfbbb = m1 - m0 * vvz; - mfbbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbca + mfbcc; - m1 = mfbcc - mfbca; - m0 = m2 + mfbcb; - mfbca = m0; - m0 += c1o9 * oMdrho; - mfbcb = m1 - m0 * vvz; - mfbcc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcac; - m1 = mfcac - mfcaa; - m0 = m2 + mfcab; - mfcaa = m0; - m0 += c1o36 * oMdrho; - mfcab = m1 - m0 * vvz; - mfcac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcba + mfcbc; - m1 = mfcbc - mfcba; - m0 = m2 + mfcbb; - mfcba = m0; - m0 += c1o9 * oMdrho; - mfcbb = m1 - m0 * vvz; - mfcbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcca + mfccc; - m1 = mfccc - mfcca; - m0 = m2 + mfccb; - mfcca = m0; - m0 += c1o36 * oMdrho; - mfccb = m1 - m0 * vvz; - mfccc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m2 = mfaaa + mfaca; - m1 = mfaca - mfaaa; - m0 = m2 + mfaba; - mfaaa = m0; - m0 += c1o6 * oMdrho; - mfaba = m1 - m0 * vvy; - mfaca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfacb; - m1 = mfacb - mfaab; - m0 = m2 + mfabb; - mfaab = m0; - mfabb = m1 - m0 * vvy; - mfacb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfacc; - m1 = mfacc - mfaac; - m0 = m2 + mfabc; - mfaac = m0; - m0 += c1o18 * oMdrho; - mfabc = m1 - m0 * vvy; - mfacc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbca; - m1 = mfbca - mfbaa; - m0 = m2 + mfbba; - mfbaa = m0; - m0 += c2o3 * oMdrho; - mfbba = m1 - m0 * vvy; - mfbca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbab + mfbcb; - m1 = mfbcb - mfbab; - m0 = m2 + mfbbb; - mfbab = m0; - mfbbb = m1 - m0 * vvy; - mfbcb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbac + mfbcc; - m1 = mfbcc - mfbac; - m0 = m2 + mfbbc; - mfbac = m0; - m0 += c2o9 * oMdrho; - mfbbc = m1 - m0 * vvy; - mfbcc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcca; - m1 = mfcca - mfcaa; - m0 = m2 + mfcba; - mfcaa = m0; - m0 += c1o6 * oMdrho; - mfcba = m1 - m0 * vvy; - mfcca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcab + mfccb; - m1 = mfccb - mfcab; - m0 = m2 + mfcbb; - mfcab = m0; - mfcbb = m1 - m0 * vvy; - mfccb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcac + mfccc; - m1 = mfccc - mfcac; - m0 = m2 + mfcbc; - mfcac = m0; - m0 += c1o18 * oMdrho; - mfcbc = m1 - m0 * vvy; - mfccc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m2 = mfaaa + mfcaa; - m1 = mfcaa - mfaaa; - m0 = m2 + mfbaa; - mfaaa = m0; - m0 += c1o1* oMdrho; - mfbaa = m1 - m0 * vvx; - mfcaa = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfcba; - m1 = mfcba - mfaba; - m0 = m2 + mfbba; - mfaba = m0; - mfbba = m1 - m0 * vvx; - mfcba = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfcca; - m1 = mfcca - mfaca; - m0 = m2 + mfbca; - mfaca = m0; - m0 += c1o3 * oMdrho; - mfbca = m1 - m0 * vvx; - mfcca = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfcab; - m1 = mfcab - mfaab; - m0 = m2 + mfbab; - mfaab = m0; - mfbab = m1 - m0 * vvx; - mfcab = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabb + mfcbb; - m1 = mfcbb - mfabb; - m0 = m2 + mfbbb; - mfabb = m0; - mfbbb = m1 - m0 * vvx; - mfcbb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacb + mfccb; - m1 = mfccb - mfacb; - m0 = m2 + mfbcb; - mfacb = m0; - mfbcb = m1 - m0 * vvx; - mfccb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfcac; - m1 = mfcac - mfaac; - m0 = m2 + mfbac; - mfaac = m0; - m0 += c1o3 * oMdrho; - mfbac = m1 - m0 * vvx; - mfcac = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabc + mfcbc; - m1 = mfcbc - mfabc; - m0 = m2 + mfbbc; - mfabc = m0; - mfbbc = m1 - m0 * vvx; - mfcbc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacc + mfccc; - m1 = mfccc - mfacc; - m0 = m2 + mfbcc; - mfacc = m0; - m0 += c1o9 * oMdrho; - mfbcc = m1 - m0 * vvx; - mfccc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - // linear combinations - - mxxyPyzz = mfcba + mfabc; - mxxyMyzz = mfcba - mfabc; - - mxxzPyyz = mfcab + mfacb; - mxxzMyyz = mfcab - mfacb; - - mxyyPxzz = mfbca + mfbac; - mxyyMxzz = mfbca - mfbac; - - - ////////////////////////////////////////////////////////////////////////// - //exclusive for this source node - real mfbbb_SWB = mfbbb; - real mxxyPyzz_SWB = mxxyPyzz; - real mxxyMyzz_SWB = mxxyMyzz; - real mxxzPyyz_SWB = mxxzPyyz; - real mxxzMyyz_SWB = mxxzMyyz; - real mxyyPxzz_SWB = mxyyPxzz; - real mxyyMxzz_SWB = mxyyMxzz; - ////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ////////////////////////////////////////////////////////////////////////// - //SWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborCZ[kb]; - ksw = kbsw; - kbw = neighborCZ[kbw]; - kbs = neighborCZ[kbs]; - kbsw = neighborCZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - drho_SWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_SWT = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SWT); - vx2_SWT = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWT); - vx3_SWT = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWT); - - kxyFromfcNEQ_SWT = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx2_SWT))); - kyzFromfcNEQ_SWT = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SWT) - ((vx2_SWT*vx3_SWT))); - kxzFromfcNEQ_SWT = -c3o1*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx3_SWT))); - kxxMyyFromfcNEQ_SWT = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx1_SWT-vx2_SWT*vx2_SWT))); - kxxMzzFromfcNEQ_SWT = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx1_SWT-vx3_SWT*vx3_SWT))); - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - mfcbb = f_E ; - mfabb = f_W ; - mfbcb = f_N ; - mfbab = f_S ; - mfbbc = f_T ; - mfbba = f_B ; - mfccb = f_NE ; - mfaab = f_SW ; - mfcab = f_SE ; - mfacb = f_NW ; - mfcbc = f_TE ; - mfaba = f_BW ; - mfcba = f_BE ; - mfabc = f_TW ; - mfbcc = f_TN ; - mfbaa = f_BS ; - mfbca = f_BN ; - mfbac = f_TS ; - mfbbb = f_ZERO; - mfccc = f_TNE ; - mfaac = f_TSW ; - mfcac = f_TSE ; - mfacc = f_TNW ; - mfcca = f_BNE ; - mfaaa = f_BSW ; - mfcaa = f_BSE ; - mfaca = f_BNW ; - //////////////////////////////////////////////////////////////////////////////////// - drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + - (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) + - ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb; - - rho = c1o1+drho; - //////////////////////////////////////////////////////////////////////////////////// - vvx =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + - (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) + - (mfcbb-mfabb)) / rho; - vvy =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + - (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) + - (mfbcb-mfbab)) / rho; - vvz =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + - (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) + - (mfbbc-mfbba)) / rho; - //////////////////////////////////////////////////////////////////////////////////// - //fast - oMdrho = c1o1; // comp special - vx2=vvx*vvx; - vy2=vvy*vvy; - vz2=vvz*vvz; - //////////////////////////////////////////////////////////////////////////////////// - //Hin - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m2 = mfaaa + mfaac; - m1 = mfaac - mfaaa; - m0 = m2 + mfaab; - mfaaa = m0; - m0 += c1o36 * oMdrho; - mfaab = m1 - m0 * vvz; - mfaac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfabc; - m1 = mfabc - mfaba; - m0 = m2 + mfabb; - mfaba = m0; - m0 += c1o9 * oMdrho; - mfabb = m1 - m0 * vvz; - mfabc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfacc; - m1 = mfacc - mfaca; - m0 = m2 + mfacb; - mfaca = m0; - m0 += c1o36 * oMdrho; - mfacb = m1 - m0 * vvz; - mfacc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbac; - m1 = mfbac - mfbaa; - m0 = m2 + mfbab; - mfbaa = m0; - m0 += c1o9 * oMdrho; - mfbab = m1 - m0 * vvz; - mfbac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbba + mfbbc; - m1 = mfbbc - mfbba; - m0 = m2 + mfbbb; - mfbba = m0; - m0 += c4o9 * oMdrho; - mfbbb = m1 - m0 * vvz; - mfbbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbca + mfbcc; - m1 = mfbcc - mfbca; - m0 = m2 + mfbcb; - mfbca = m0; - m0 += c1o9 * oMdrho; - mfbcb = m1 - m0 * vvz; - mfbcc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcac; - m1 = mfcac - mfcaa; - m0 = m2 + mfcab; - mfcaa = m0; - m0 += c1o36 * oMdrho; - mfcab = m1 - m0 * vvz; - mfcac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcba + mfcbc; - m1 = mfcbc - mfcba; - m0 = m2 + mfcbb; - mfcba = m0; - m0 += c1o9 * oMdrho; - mfcbb = m1 - m0 * vvz; - mfcbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcca + mfccc; - m1 = mfccc - mfcca; - m0 = m2 + mfccb; - mfcca = m0; - m0 += c1o36 * oMdrho; - mfccb = m1 - m0 * vvz; - mfccc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m2 = mfaaa + mfaca; - m1 = mfaca - mfaaa; - m0 = m2 + mfaba; - mfaaa = m0; - m0 += c1o6 * oMdrho; - mfaba = m1 - m0 * vvy; - mfaca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfacb; - m1 = mfacb - mfaab; - m0 = m2 + mfabb; - mfaab = m0; - mfabb = m1 - m0 * vvy; - mfacb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfacc; - m1 = mfacc - mfaac; - m0 = m2 + mfabc; - mfaac = m0; - m0 += c1o18 * oMdrho; - mfabc = m1 - m0 * vvy; - mfacc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbca; - m1 = mfbca - mfbaa; - m0 = m2 + mfbba; - mfbaa = m0; - m0 += c2o3 * oMdrho; - mfbba = m1 - m0 * vvy; - mfbca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbab + mfbcb; - m1 = mfbcb - mfbab; - m0 = m2 + mfbbb; - mfbab = m0; - mfbbb = m1 - m0 * vvy; - mfbcb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbac + mfbcc; - m1 = mfbcc - mfbac; - m0 = m2 + mfbbc; - mfbac = m0; - m0 += c2o9 * oMdrho; - mfbbc = m1 - m0 * vvy; - mfbcc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcca; - m1 = mfcca - mfcaa; - m0 = m2 + mfcba; - mfcaa = m0; - m0 += c1o6 * oMdrho; - mfcba = m1 - m0 * vvy; - mfcca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcab + mfccb; - m1 = mfccb - mfcab; - m0 = m2 + mfcbb; - mfcab = m0; - mfcbb = m1 - m0 * vvy; - mfccb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcac + mfccc; - m1 = mfccc - mfcac; - m0 = m2 + mfcbc; - mfcac = m0; - m0 += c1o18 * oMdrho; - mfcbc = m1 - m0 * vvy; - mfccc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m2 = mfaaa + mfcaa; - m1 = mfcaa - mfaaa; - m0 = m2 + mfbaa; - mfaaa = m0; - m0 += c1o1* oMdrho; - mfbaa = m1 - m0 * vvx; - mfcaa = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfcba; - m1 = mfcba - mfaba; - m0 = m2 + mfbba; - mfaba = m0; - mfbba = m1 - m0 * vvx; - mfcba = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfcca; - m1 = mfcca - mfaca; - m0 = m2 + mfbca; - mfaca = m0; - m0 += c1o3 * oMdrho; - mfbca = m1 - m0 * vvx; - mfcca = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfcab; - m1 = mfcab - mfaab; - m0 = m2 + mfbab; - mfaab = m0; - mfbab = m1 - m0 * vvx; - mfcab = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabb + mfcbb; - m1 = mfcbb - mfabb; - m0 = m2 + mfbbb; - mfabb = m0; - mfbbb = m1 - m0 * vvx; - mfcbb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacb + mfccb; - m1 = mfccb - mfacb; - m0 = m2 + mfbcb; - mfacb = m0; - mfbcb = m1 - m0 * vvx; - mfccb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfcac; - m1 = mfcac - mfaac; - m0 = m2 + mfbac; - mfaac = m0; - m0 += c1o3 * oMdrho; - mfbac = m1 - m0 * vvx; - mfcac = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabc + mfcbc; - m1 = mfcbc - mfabc; - m0 = m2 + mfbbc; - mfabc = m0; - mfbbc = m1 - m0 * vvx; - mfcbc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacc + mfccc; - m1 = mfccc - mfacc; - m0 = m2 + mfbcc; - mfacc = m0; - m0 += c1o9 * oMdrho; - mfbcc = m1 - m0 * vvx; - mfccc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - // linear combinations - - mxxyPyzz = mfcba + mfabc; - mxxyMyzz = mfcba - mfabc; - - mxxzPyyz = mfcab + mfacb; - mxxzMyyz = mfcab - mfacb; - - mxyyPxzz = mfbca + mfbac; - mxyyMxzz = mfbca - mfbac; - - - ////////////////////////////////////////////////////////////////////////// - //exclusive for this source node - real mfbbb_SWT = mfbbb; - real mxxyPyzz_SWT = mxxyPyzz; - real mxxyMyzz_SWT = mxxyMyzz; - real mxxzPyyz_SWT = mxxzPyyz; - real mxxzMyyz_SWT = mxxzMyyz; - real mxyyPxzz_SWT = mxyyPxzz; - real mxyyMxzz_SWT = mxyyMxzz; - ////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ////////////////////////////////////////////////////////////////////////// - //SET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborCX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborCX[ksw]; - kbw = neighborCX[kbw]; - kbs = kbsw; - kbsw = neighborCX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - drho_SET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_SET = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SET); - vx2_SET = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SET); - vx3_SET = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SET); - - kxyFromfcNEQ_SET = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SET) - ((vx1_SET*vx2_SET))); - kyzFromfcNEQ_SET = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SET) - ((vx2_SET*vx3_SET))); - kxzFromfcNEQ_SET = -c3o1*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_SET) - ((vx1_SET*vx3_SET))); - kxxMyyFromfcNEQ_SET = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (c1o1 + drho_SET) - ((vx1_SET*vx1_SET-vx2_SET*vx2_SET))); - kxxMzzFromfcNEQ_SET = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (c1o1 + drho_SET) - ((vx1_SET*vx1_SET-vx3_SET*vx3_SET))); - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - mfcbb = f_E ; - mfabb = f_W ; - mfbcb = f_N ; - mfbab = f_S ; - mfbbc = f_T ; - mfbba = f_B ; - mfccb = f_NE ; - mfaab = f_SW ; - mfcab = f_SE ; - mfacb = f_NW ; - mfcbc = f_TE ; - mfaba = f_BW ; - mfcba = f_BE ; - mfabc = f_TW ; - mfbcc = f_TN ; - mfbaa = f_BS ; - mfbca = f_BN ; - mfbac = f_TS ; - mfbbb = f_ZERO; - mfccc = f_TNE ; - mfaac = f_TSW ; - mfcac = f_TSE ; - mfacc = f_TNW ; - mfcca = f_BNE ; - mfaaa = f_BSW ; - mfcaa = f_BSE ; - mfaca = f_BNW ; - //////////////////////////////////////////////////////////////////////////////////// - drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + - (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) + - ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb; - - rho = c1o1+drho; - //////////////////////////////////////////////////////////////////////////////////// - vvx =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + - (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) + - (mfcbb-mfabb)) / rho; - vvy =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + - (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) + - (mfbcb-mfbab)) / rho; - vvz =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + - (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) + - (mfbbc-mfbba)) / rho; - //////////////////////////////////////////////////////////////////////////////////// - //fast - oMdrho = c1o1; // comp special - vx2=vvx*vvx; - vy2=vvy*vvy; - vz2=vvz*vvz; - //////////////////////////////////////////////////////////////////////////////////// - //Hin - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m2 = mfaaa + mfaac; - m1 = mfaac - mfaaa; - m0 = m2 + mfaab; - mfaaa = m0; - m0 += c1o36 * oMdrho; - mfaab = m1 - m0 * vvz; - mfaac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfabc; - m1 = mfabc - mfaba; - m0 = m2 + mfabb; - mfaba = m0; - m0 += c1o9 * oMdrho; - mfabb = m1 - m0 * vvz; - mfabc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfacc; - m1 = mfacc - mfaca; - m0 = m2 + mfacb; - mfaca = m0; - m0 += c1o36 * oMdrho; - mfacb = m1 - m0 * vvz; - mfacc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbac; - m1 = mfbac - mfbaa; - m0 = m2 + mfbab; - mfbaa = m0; - m0 += c1o9 * oMdrho; - mfbab = m1 - m0 * vvz; - mfbac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbba + mfbbc; - m1 = mfbbc - mfbba; - m0 = m2 + mfbbb; - mfbba = m0; - m0 += c4o9 * oMdrho; - mfbbb = m1 - m0 * vvz; - mfbbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbca + mfbcc; - m1 = mfbcc - mfbca; - m0 = m2 + mfbcb; - mfbca = m0; - m0 += c1o9 * oMdrho; - mfbcb = m1 - m0 * vvz; - mfbcc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcac; - m1 = mfcac - mfcaa; - m0 = m2 + mfcab; - mfcaa = m0; - m0 += c1o36 * oMdrho; - mfcab = m1 - m0 * vvz; - mfcac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcba + mfcbc; - m1 = mfcbc - mfcba; - m0 = m2 + mfcbb; - mfcba = m0; - m0 += c1o9 * oMdrho; - mfcbb = m1 - m0 * vvz; - mfcbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcca + mfccc; - m1 = mfccc - mfcca; - m0 = m2 + mfccb; - mfcca = m0; - m0 += c1o36 * oMdrho; - mfccb = m1 - m0 * vvz; - mfccc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m2 = mfaaa + mfaca; - m1 = mfaca - mfaaa; - m0 = m2 + mfaba; - mfaaa = m0; - m0 += c1o6 * oMdrho; - mfaba = m1 - m0 * vvy; - mfaca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfacb; - m1 = mfacb - mfaab; - m0 = m2 + mfabb; - mfaab = m0; - mfabb = m1 - m0 * vvy; - mfacb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfacc; - m1 = mfacc - mfaac; - m0 = m2 + mfabc; - mfaac = m0; - m0 += c1o18 * oMdrho; - mfabc = m1 - m0 * vvy; - mfacc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbca; - m1 = mfbca - mfbaa; - m0 = m2 + mfbba; - mfbaa = m0; - m0 += c2o3 * oMdrho; - mfbba = m1 - m0 * vvy; - mfbca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbab + mfbcb; - m1 = mfbcb - mfbab; - m0 = m2 + mfbbb; - mfbab = m0; - mfbbb = m1 - m0 * vvy; - mfbcb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbac + mfbcc; - m1 = mfbcc - mfbac; - m0 = m2 + mfbbc; - mfbac = m0; - m0 += c2o9 * oMdrho; - mfbbc = m1 - m0 * vvy; - mfbcc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcca; - m1 = mfcca - mfcaa; - m0 = m2 + mfcba; - mfcaa = m0; - m0 += c1o6 * oMdrho; - mfcba = m1 - m0 * vvy; - mfcca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcab + mfccb; - m1 = mfccb - mfcab; - m0 = m2 + mfcbb; - mfcab = m0; - mfcbb = m1 - m0 * vvy; - mfccb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcac + mfccc; - m1 = mfccc - mfcac; - m0 = m2 + mfcbc; - mfcac = m0; - m0 += c1o18 * oMdrho; - mfcbc = m1 - m0 * vvy; - mfccc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m2 = mfaaa + mfcaa; - m1 = mfcaa - mfaaa; - m0 = m2 + mfbaa; - mfaaa = m0; - m0 += c1o1* oMdrho; - mfbaa = m1 - m0 * vvx; - mfcaa = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfcba; - m1 = mfcba - mfaba; - m0 = m2 + mfbba; - mfaba = m0; - mfbba = m1 - m0 * vvx; - mfcba = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfcca; - m1 = mfcca - mfaca; - m0 = m2 + mfbca; - mfaca = m0; - m0 += c1o3 * oMdrho; - mfbca = m1 - m0 * vvx; - mfcca = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfcab; - m1 = mfcab - mfaab; - m0 = m2 + mfbab; - mfaab = m0; - mfbab = m1 - m0 * vvx; - mfcab = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabb + mfcbb; - m1 = mfcbb - mfabb; - m0 = m2 + mfbbb; - mfabb = m0; - mfbbb = m1 - m0 * vvx; - mfcbb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacb + mfccb; - m1 = mfccb - mfacb; - m0 = m2 + mfbcb; - mfacb = m0; - mfbcb = m1 - m0 * vvx; - mfccb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfcac; - m1 = mfcac - mfaac; - m0 = m2 + mfbac; - mfaac = m0; - m0 += c1o3 * oMdrho; - mfbac = m1 - m0 * vvx; - mfcac = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabc + mfcbc; - m1 = mfcbc - mfabc; - m0 = m2 + mfbbc; - mfabc = m0; - mfbbc = m1 - m0 * vvx; - mfcbc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacc + mfccc; - m1 = mfccc - mfacc; - m0 = m2 + mfbcc; - mfacc = m0; - m0 += c1o9 * oMdrho; - mfbcc = m1 - m0 * vvx; - mfccc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - // linear combinations - - mxxyPyzz = mfcba + mfabc; - mxxyMyzz = mfcba - mfabc; - - mxxzPyyz = mfcab + mfacb; - mxxzMyyz = mfcab - mfacb; - - mxyyPxzz = mfbca + mfbac; - mxyyMxzz = mfbca - mfbac; - - - ////////////////////////////////////////////////////////////////////////// - //exclusive for this source node - real mfbbb_SET = mfbbb; - real mxxyPyzz_SET = mxxyPyzz; - real mxxyMyzz_SET = mxxyMyzz; - real mxxzPyyz_SET = mxxzPyyz; - real mxxzMyyz_SET = mxxzMyyz; - real mxyyPxzz_SET = mxyyPxzz; - real mxyyMxzz_SET = mxyyMxzz; - ////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ////////////////////////////////////////////////////////////////////////// - //SEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborCX[k0w]; - ks = k0sw; - ksw = neighborCX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - drho_SEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_SEB = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SEB); - vx2_SEB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SEB); - vx3_SEB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SEB); - - kxyFromfcNEQ_SEB = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx2_SEB))); - kyzFromfcNEQ_SEB = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SEB) - ((vx2_SEB*vx3_SEB))); - kxzFromfcNEQ_SEB = -c3o1*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx3_SEB))); - kxxMyyFromfcNEQ_SEB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx1_SEB-vx2_SEB*vx2_SEB))); - kxxMzzFromfcNEQ_SEB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx1_SEB-vx3_SEB*vx3_SEB))); - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - mfcbb = f_E ; - mfabb = f_W ; - mfbcb = f_N ; - mfbab = f_S ; - mfbbc = f_T ; - mfbba = f_B ; - mfccb = f_NE ; - mfaab = f_SW ; - mfcab = f_SE ; - mfacb = f_NW ; - mfcbc = f_TE ; - mfaba = f_BW ; - mfcba = f_BE ; - mfabc = f_TW ; - mfbcc = f_TN ; - mfbaa = f_BS ; - mfbca = f_BN ; - mfbac = f_TS ; - mfbbb = f_ZERO; - mfccc = f_TNE ; - mfaac = f_TSW ; - mfcac = f_TSE ; - mfacc = f_TNW ; - mfcca = f_BNE ; - mfaaa = f_BSW ; - mfcaa = f_BSE ; - mfaca = f_BNW ; - //////////////////////////////////////////////////////////////////////////////////// - drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + - (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) + - ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb; - - rho = c1o1+drho; - //////////////////////////////////////////////////////////////////////////////////// - vvx =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + - (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) + - (mfcbb-mfabb)) / rho; - vvy =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + - (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) + - (mfbcb-mfbab)) / rho; - vvz =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + - (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) + - (mfbbc-mfbba)) / rho; - //////////////////////////////////////////////////////////////////////////////////// - //fast - oMdrho = c1o1; // comp special - vx2=vvx*vvx; - vy2=vvy*vvy; - vz2=vvz*vvz; - //////////////////////////////////////////////////////////////////////////////////// - //Hin - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m2 = mfaaa + mfaac; - m1 = mfaac - mfaaa; - m0 = m2 + mfaab; - mfaaa = m0; - m0 += c1o36 * oMdrho; - mfaab = m1 - m0 * vvz; - mfaac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfabc; - m1 = mfabc - mfaba; - m0 = m2 + mfabb; - mfaba = m0; - m0 += c1o9 * oMdrho; - mfabb = m1 - m0 * vvz; - mfabc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfacc; - m1 = mfacc - mfaca; - m0 = m2 + mfacb; - mfaca = m0; - m0 += c1o36 * oMdrho; - mfacb = m1 - m0 * vvz; - mfacc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbac; - m1 = mfbac - mfbaa; - m0 = m2 + mfbab; - mfbaa = m0; - m0 += c1o9 * oMdrho; - mfbab = m1 - m0 * vvz; - mfbac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbba + mfbbc; - m1 = mfbbc - mfbba; - m0 = m2 + mfbbb; - mfbba = m0; - m0 += c4o9 * oMdrho; - mfbbb = m1 - m0 * vvz; - mfbbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbca + mfbcc; - m1 = mfbcc - mfbca; - m0 = m2 + mfbcb; - mfbca = m0; - m0 += c1o9 * oMdrho; - mfbcb = m1 - m0 * vvz; - mfbcc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcac; - m1 = mfcac - mfcaa; - m0 = m2 + mfcab; - mfcaa = m0; - m0 += c1o36 * oMdrho; - mfcab = m1 - m0 * vvz; - mfcac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcba + mfcbc; - m1 = mfcbc - mfcba; - m0 = m2 + mfcbb; - mfcba = m0; - m0 += c1o9 * oMdrho; - mfcbb = m1 - m0 * vvz; - mfcbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcca + mfccc; - m1 = mfccc - mfcca; - m0 = m2 + mfccb; - mfcca = m0; - m0 += c1o36 * oMdrho; - mfccb = m1 - m0 * vvz; - mfccc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m2 = mfaaa + mfaca; - m1 = mfaca - mfaaa; - m0 = m2 + mfaba; - mfaaa = m0; - m0 += c1o6 * oMdrho; - mfaba = m1 - m0 * vvy; - mfaca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfacb; - m1 = mfacb - mfaab; - m0 = m2 + mfabb; - mfaab = m0; - mfabb = m1 - m0 * vvy; - mfacb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfacc; - m1 = mfacc - mfaac; - m0 = m2 + mfabc; - mfaac = m0; - m0 += c1o18 * oMdrho; - mfabc = m1 - m0 * vvy; - mfacc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbca; - m1 = mfbca - mfbaa; - m0 = m2 + mfbba; - mfbaa = m0; - m0 += c2o3 * oMdrho; - mfbba = m1 - m0 * vvy; - mfbca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbab + mfbcb; - m1 = mfbcb - mfbab; - m0 = m2 + mfbbb; - mfbab = m0; - mfbbb = m1 - m0 * vvy; - mfbcb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbac + mfbcc; - m1 = mfbcc - mfbac; - m0 = m2 + mfbbc; - mfbac = m0; - m0 += c2o9 * oMdrho; - mfbbc = m1 - m0 * vvy; - mfbcc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcca; - m1 = mfcca - mfcaa; - m0 = m2 + mfcba; - mfcaa = m0; - m0 += c1o6 * oMdrho; - mfcba = m1 - m0 * vvy; - mfcca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcab + mfccb; - m1 = mfccb - mfcab; - m0 = m2 + mfcbb; - mfcab = m0; - mfcbb = m1 - m0 * vvy; - mfccb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcac + mfccc; - m1 = mfccc - mfcac; - m0 = m2 + mfcbc; - mfcac = m0; - m0 += c1o18 * oMdrho; - mfcbc = m1 - m0 * vvy; - mfccc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m2 = mfaaa + mfcaa; - m1 = mfcaa - mfaaa; - m0 = m2 + mfbaa; - mfaaa = m0; - m0 += c1o1* oMdrho; - mfbaa = m1 - m0 * vvx; - mfcaa = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfcba; - m1 = mfcba - mfaba; - m0 = m2 + mfbba; - mfaba = m0; - mfbba = m1 - m0 * vvx; - mfcba = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfcca; - m1 = mfcca - mfaca; - m0 = m2 + mfbca; - mfaca = m0; - m0 += c1o3 * oMdrho; - mfbca = m1 - m0 * vvx; - mfcca = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfcab; - m1 = mfcab - mfaab; - m0 = m2 + mfbab; - mfaab = m0; - mfbab = m1 - m0 * vvx; - mfcab = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabb + mfcbb; - m1 = mfcbb - mfabb; - m0 = m2 + mfbbb; - mfabb = m0; - mfbbb = m1 - m0 * vvx; - mfcbb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacb + mfccb; - m1 = mfccb - mfacb; - m0 = m2 + mfbcb; - mfacb = m0; - mfbcb = m1 - m0 * vvx; - mfccb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfcac; - m1 = mfcac - mfaac; - m0 = m2 + mfbac; - mfaac = m0; - m0 += c1o3 * oMdrho; - mfbac = m1 - m0 * vvx; - mfcac = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabc + mfcbc; - m1 = mfcbc - mfabc; - m0 = m2 + mfbbc; - mfabc = m0; - mfbbc = m1 - m0 * vvx; - mfcbc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacc + mfccc; - m1 = mfccc - mfacc; - m0 = m2 + mfbcc; - mfacc = m0; - m0 += c1o9 * oMdrho; - mfbcc = m1 - m0 * vvx; - mfccc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - // linear combinations - - mxxyPyzz = mfcba + mfabc; - mxxyMyzz = mfcba - mfabc; - - mxxzPyyz = mfcab + mfacb; - mxxzMyyz = mfcab - mfacb; - - mxyyPxzz = mfbca + mfbac; - mxyyMxzz = mfbca - mfbac; - - - ////////////////////////////////////////////////////////////////////////// - //exclusive for this source node - real mfbbb_SEB = mfbbb; - real mxxyPyzz_SEB = mxxyPyzz; - real mxxyMyzz_SEB = mxxyMyzz; - real mxxzPyyz_SEB = mxxzPyyz; - real mxxzMyyz_SEB = mxxzMyyz; - real mxyyPxzz_SEB = mxyyPxzz; - real mxyyMxzz_SEB = mxyyMxzz; - ////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ////////////////////////////////////////////////////////////////////////// - //NWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= k0s; - k0w = k0sw; - k0s = neighborCY[k0s]; - k0b = k0bs; - k0sw = neighborCY[k0sw]; - k0bw = k0bsw; - k0bs = neighborCY[k0bs]; - k0bsw = neighborCY[k0bsw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - drho_NWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_NWB = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NWB); - vx2_NWB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWB); - vx3_NWB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWB); - - kxyFromfcNEQ_NWB = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx2_NWB))); - kyzFromfcNEQ_NWB = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NWB) - ((vx2_NWB*vx3_NWB))); - kxzFromfcNEQ_NWB = -c3o1*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx3_NWB))); - kxxMyyFromfcNEQ_NWB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx1_NWB-vx2_NWB*vx2_NWB))); - kxxMzzFromfcNEQ_NWB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx1_NWB-vx3_NWB*vx3_NWB))); - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - mfcbb = f_E ; - mfabb = f_W ; - mfbcb = f_N ; - mfbab = f_S ; - mfbbc = f_T ; - mfbba = f_B ; - mfccb = f_NE ; - mfaab = f_SW ; - mfcab = f_SE ; - mfacb = f_NW ; - mfcbc = f_TE ; - mfaba = f_BW ; - mfcba = f_BE ; - mfabc = f_TW ; - mfbcc = f_TN ; - mfbaa = f_BS ; - mfbca = f_BN ; - mfbac = f_TS ; - mfbbb = f_ZERO; - mfccc = f_TNE ; - mfaac = f_TSW ; - mfcac = f_TSE ; - mfacc = f_TNW ; - mfcca = f_BNE ; - mfaaa = f_BSW ; - mfcaa = f_BSE ; - mfaca = f_BNW ; - //////////////////////////////////////////////////////////////////////////////////// - drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + - (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) + - ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb; - - rho = c1o1+drho; - //////////////////////////////////////////////////////////////////////////////////// - vvx =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + - (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) + - (mfcbb-mfabb)) / rho; - vvy =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + - (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) + - (mfbcb-mfbab)) / rho; - vvz =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + - (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) + - (mfbbc-mfbba)) / rho; - //////////////////////////////////////////////////////////////////////////////////// - //fast - oMdrho = c1o1; // comp special - vx2=vvx*vvx; - vy2=vvy*vvy; - vz2=vvz*vvz; - //////////////////////////////////////////////////////////////////////////////////// - //Hin - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m2 = mfaaa + mfaac; - m1 = mfaac - mfaaa; - m0 = m2 + mfaab; - mfaaa = m0; - m0 += c1o36 * oMdrho; - mfaab = m1 - m0 * vvz; - mfaac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfabc; - m1 = mfabc - mfaba; - m0 = m2 + mfabb; - mfaba = m0; - m0 += c1o9 * oMdrho; - mfabb = m1 - m0 * vvz; - mfabc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfacc; - m1 = mfacc - mfaca; - m0 = m2 + mfacb; - mfaca = m0; - m0 += c1o36 * oMdrho; - mfacb = m1 - m0 * vvz; - mfacc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbac; - m1 = mfbac - mfbaa; - m0 = m2 + mfbab; - mfbaa = m0; - m0 += c1o9 * oMdrho; - mfbab = m1 - m0 * vvz; - mfbac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbba + mfbbc; - m1 = mfbbc - mfbba; - m0 = m2 + mfbbb; - mfbba = m0; - m0 += c4o9 * oMdrho; - mfbbb = m1 - m0 * vvz; - mfbbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbca + mfbcc; - m1 = mfbcc - mfbca; - m0 = m2 + mfbcb; - mfbca = m0; - m0 += c1o9 * oMdrho; - mfbcb = m1 - m0 * vvz; - mfbcc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcac; - m1 = mfcac - mfcaa; - m0 = m2 + mfcab; - mfcaa = m0; - m0 += c1o36 * oMdrho; - mfcab = m1 - m0 * vvz; - mfcac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcba + mfcbc; - m1 = mfcbc - mfcba; - m0 = m2 + mfcbb; - mfcba = m0; - m0 += c1o9 * oMdrho; - mfcbb = m1 - m0 * vvz; - mfcbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcca + mfccc; - m1 = mfccc - mfcca; - m0 = m2 + mfccb; - mfcca = m0; - m0 += c1o36 * oMdrho; - mfccb = m1 - m0 * vvz; - mfccc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m2 = mfaaa + mfaca; - m1 = mfaca - mfaaa; - m0 = m2 + mfaba; - mfaaa = m0; - m0 += c1o6 * oMdrho; - mfaba = m1 - m0 * vvy; - mfaca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfacb; - m1 = mfacb - mfaab; - m0 = m2 + mfabb; - mfaab = m0; - mfabb = m1 - m0 * vvy; - mfacb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfacc; - m1 = mfacc - mfaac; - m0 = m2 + mfabc; - mfaac = m0; - m0 += c1o18 * oMdrho; - mfabc = m1 - m0 * vvy; - mfacc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbca; - m1 = mfbca - mfbaa; - m0 = m2 + mfbba; - mfbaa = m0; - m0 += c2o3 * oMdrho; - mfbba = m1 - m0 * vvy; - mfbca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbab + mfbcb; - m1 = mfbcb - mfbab; - m0 = m2 + mfbbb; - mfbab = m0; - mfbbb = m1 - m0 * vvy; - mfbcb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbac + mfbcc; - m1 = mfbcc - mfbac; - m0 = m2 + mfbbc; - mfbac = m0; - m0 += c2o9 * oMdrho; - mfbbc = m1 - m0 * vvy; - mfbcc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcca; - m1 = mfcca - mfcaa; - m0 = m2 + mfcba; - mfcaa = m0; - m0 += c1o6 * oMdrho; - mfcba = m1 - m0 * vvy; - mfcca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcab + mfccb; - m1 = mfccb - mfcab; - m0 = m2 + mfcbb; - mfcab = m0; - mfcbb = m1 - m0 * vvy; - mfccb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcac + mfccc; - m1 = mfccc - mfcac; - m0 = m2 + mfcbc; - mfcac = m0; - m0 += c1o18 * oMdrho; - mfcbc = m1 - m0 * vvy; - mfccc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m2 = mfaaa + mfcaa; - m1 = mfcaa - mfaaa; - m0 = m2 + mfbaa; - mfaaa = m0; - m0 += c1o1* oMdrho; - mfbaa = m1 - m0 * vvx; - mfcaa = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfcba; - m1 = mfcba - mfaba; - m0 = m2 + mfbba; - mfaba = m0; - mfbba = m1 - m0 * vvx; - mfcba = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfcca; - m1 = mfcca - mfaca; - m0 = m2 + mfbca; - mfaca = m0; - m0 += c1o3 * oMdrho; - mfbca = m1 - m0 * vvx; - mfcca = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfcab; - m1 = mfcab - mfaab; - m0 = m2 + mfbab; - mfaab = m0; - mfbab = m1 - m0 * vvx; - mfcab = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabb + mfcbb; - m1 = mfcbb - mfabb; - m0 = m2 + mfbbb; - mfabb = m0; - mfbbb = m1 - m0 * vvx; - mfcbb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacb + mfccb; - m1 = mfccb - mfacb; - m0 = m2 + mfbcb; - mfacb = m0; - mfbcb = m1 - m0 * vvx; - mfccb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfcac; - m1 = mfcac - mfaac; - m0 = m2 + mfbac; - mfaac = m0; - m0 += c1o3 * oMdrho; - mfbac = m1 - m0 * vvx; - mfcac = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabc + mfcbc; - m1 = mfcbc - mfabc; - m0 = m2 + mfbbc; - mfabc = m0; - mfbbc = m1 - m0 * vvx; - mfcbc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacc + mfccc; - m1 = mfccc - mfacc; - m0 = m2 + mfbcc; - mfacc = m0; - m0 += c1o9 * oMdrho; - mfbcc = m1 - m0 * vvx; - mfccc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - // linear combinations - - mxxyPyzz = mfcba + mfabc; - mxxyMyzz = mfcba - mfabc; - - mxxzPyyz = mfcab + mfacb; - mxxzMyyz = mfcab - mfacb; - - mxyyPxzz = mfbca + mfbac; - mxyyMxzz = mfbca - mfbac; - - - ////////////////////////////////////////////////////////////////////////// - //exclusive for this source node - real mfbbb_NWB = mfbbb; - real mxxyPyzz_NWB = mxxyPyzz; - real mxxyMyzz_NWB = mxxyMyzz; - real mxxzPyyz_NWB = mxxzPyyz; - real mxxzMyyz_NWB = mxxzMyyz; - real mxyyPxzz_NWB = mxyyPxzz; - real mxyyMxzz_NWB = mxyyMxzz; - ////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ////////////////////////////////////////////////////////////////////////// - //NWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborCZ[kb]; - ksw = kbsw; - kbw = neighborCZ[kbw]; - kbs = neighborCZ[kbs]; - kbsw = neighborCZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - drho_NWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_NWT = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NWT); - vx2_NWT = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWT); - vx3_NWT = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWT); - - kxyFromfcNEQ_NWT = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx2_NWT))); - kyzFromfcNEQ_NWT = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NWT) - ((vx2_NWT*vx3_NWT))); - kxzFromfcNEQ_NWT = -c3o1*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx3_NWT))); - kxxMyyFromfcNEQ_NWT = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx1_NWT-vx2_NWT*vx2_NWT))); - kxxMzzFromfcNEQ_NWT = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx1_NWT-vx3_NWT*vx3_NWT))); - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - mfcbb = f_E ; - mfabb = f_W ; - mfbcb = f_N ; - mfbab = f_S ; - mfbbc = f_T ; - mfbba = f_B ; - mfccb = f_NE ; - mfaab = f_SW ; - mfcab = f_SE ; - mfacb = f_NW ; - mfcbc = f_TE ; - mfaba = f_BW ; - mfcba = f_BE ; - mfabc = f_TW ; - mfbcc = f_TN ; - mfbaa = f_BS ; - mfbca = f_BN ; - mfbac = f_TS ; - mfbbb = f_ZERO; - mfccc = f_TNE ; - mfaac = f_TSW ; - mfcac = f_TSE ; - mfacc = f_TNW ; - mfcca = f_BNE ; - mfaaa = f_BSW ; - mfcaa = f_BSE ; - mfaca = f_BNW ; - //////////////////////////////////////////////////////////////////////////////////// - drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + - (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) + - ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb; - - rho = c1o1+drho; - //////////////////////////////////////////////////////////////////////////////////// - vvx =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + - (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) + - (mfcbb-mfabb)) / rho; - vvy =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + - (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) + - (mfbcb-mfbab)) / rho; - vvz =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + - (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) + - (mfbbc-mfbba)) / rho; - //////////////////////////////////////////////////////////////////////////////////// - //fast - oMdrho = c1o1; // comp special - vx2=vvx*vvx; - vy2=vvy*vvy; - vz2=vvz*vvz; - //////////////////////////////////////////////////////////////////////////////////// - //Hin - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m2 = mfaaa + mfaac; - m1 = mfaac - mfaaa; - m0 = m2 + mfaab; - mfaaa = m0; - m0 += c1o36 * oMdrho; - mfaab = m1 - m0 * vvz; - mfaac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfabc; - m1 = mfabc - mfaba; - m0 = m2 + mfabb; - mfaba = m0; - m0 += c1o9 * oMdrho; - mfabb = m1 - m0 * vvz; - mfabc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfacc; - m1 = mfacc - mfaca; - m0 = m2 + mfacb; - mfaca = m0; - m0 += c1o36 * oMdrho; - mfacb = m1 - m0 * vvz; - mfacc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbac; - m1 = mfbac - mfbaa; - m0 = m2 + mfbab; - mfbaa = m0; - m0 += c1o9 * oMdrho; - mfbab = m1 - m0 * vvz; - mfbac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbba + mfbbc; - m1 = mfbbc - mfbba; - m0 = m2 + mfbbb; - mfbba = m0; - m0 += c4o9 * oMdrho; - mfbbb = m1 - m0 * vvz; - mfbbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbca + mfbcc; - m1 = mfbcc - mfbca; - m0 = m2 + mfbcb; - mfbca = m0; - m0 += c1o9 * oMdrho; - mfbcb = m1 - m0 * vvz; - mfbcc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcac; - m1 = mfcac - mfcaa; - m0 = m2 + mfcab; - mfcaa = m0; - m0 += c1o36 * oMdrho; - mfcab = m1 - m0 * vvz; - mfcac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcba + mfcbc; - m1 = mfcbc - mfcba; - m0 = m2 + mfcbb; - mfcba = m0; - m0 += c1o9 * oMdrho; - mfcbb = m1 - m0 * vvz; - mfcbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcca + mfccc; - m1 = mfccc - mfcca; - m0 = m2 + mfccb; - mfcca = m0; - m0 += c1o36 * oMdrho; - mfccb = m1 - m0 * vvz; - mfccc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m2 = mfaaa + mfaca; - m1 = mfaca - mfaaa; - m0 = m2 + mfaba; - mfaaa = m0; - m0 += c1o6 * oMdrho; - mfaba = m1 - m0 * vvy; - mfaca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfacb; - m1 = mfacb - mfaab; - m0 = m2 + mfabb; - mfaab = m0; - mfabb = m1 - m0 * vvy; - mfacb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfacc; - m1 = mfacc - mfaac; - m0 = m2 + mfabc; - mfaac = m0; - m0 += c1o18 * oMdrho; - mfabc = m1 - m0 * vvy; - mfacc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbca; - m1 = mfbca - mfbaa; - m0 = m2 + mfbba; - mfbaa = m0; - m0 += c2o3 * oMdrho; - mfbba = m1 - m0 * vvy; - mfbca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbab + mfbcb; - m1 = mfbcb - mfbab; - m0 = m2 + mfbbb; - mfbab = m0; - mfbbb = m1 - m0 * vvy; - mfbcb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbac + mfbcc; - m1 = mfbcc - mfbac; - m0 = m2 + mfbbc; - mfbac = m0; - m0 += c2o9 * oMdrho; - mfbbc = m1 - m0 * vvy; - mfbcc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcca; - m1 = mfcca - mfcaa; - m0 = m2 + mfcba; - mfcaa = m0; - m0 += c1o6 * oMdrho; - mfcba = m1 - m0 * vvy; - mfcca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcab + mfccb; - m1 = mfccb - mfcab; - m0 = m2 + mfcbb; - mfcab = m0; - mfcbb = m1 - m0 * vvy; - mfccb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcac + mfccc; - m1 = mfccc - mfcac; - m0 = m2 + mfcbc; - mfcac = m0; - m0 += c1o18 * oMdrho; - mfcbc = m1 - m0 * vvy; - mfccc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m2 = mfaaa + mfcaa; - m1 = mfcaa - mfaaa; - m0 = m2 + mfbaa; - mfaaa = m0; - m0 += c1o1* oMdrho; - mfbaa = m1 - m0 * vvx; - mfcaa = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfcba; - m1 = mfcba - mfaba; - m0 = m2 + mfbba; - mfaba = m0; - mfbba = m1 - m0 * vvx; - mfcba = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfcca; - m1 = mfcca - mfaca; - m0 = m2 + mfbca; - mfaca = m0; - m0 += c1o3 * oMdrho; - mfbca = m1 - m0 * vvx; - mfcca = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfcab; - m1 = mfcab - mfaab; - m0 = m2 + mfbab; - mfaab = m0; - mfbab = m1 - m0 * vvx; - mfcab = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabb + mfcbb; - m1 = mfcbb - mfabb; - m0 = m2 + mfbbb; - mfabb = m0; - mfbbb = m1 - m0 * vvx; - mfcbb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacb + mfccb; - m1 = mfccb - mfacb; - m0 = m2 + mfbcb; - mfacb = m0; - mfbcb = m1 - m0 * vvx; - mfccb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfcac; - m1 = mfcac - mfaac; - m0 = m2 + mfbac; - mfaac = m0; - m0 += c1o3 * oMdrho; - mfbac = m1 - m0 * vvx; - mfcac = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabc + mfcbc; - m1 = mfcbc - mfabc; - m0 = m2 + mfbbc; - mfabc = m0; - mfbbc = m1 - m0 * vvx; - mfcbc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacc + mfccc; - m1 = mfccc - mfacc; - m0 = m2 + mfbcc; - mfacc = m0; - m0 += c1o9 * oMdrho; - mfbcc = m1 - m0 * vvx; - mfccc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - // linear combinations - - mxxyPyzz = mfcba + mfabc; - mxxyMyzz = mfcba - mfabc; - - mxxzPyyz = mfcab + mfacb; - mxxzMyyz = mfcab - mfacb; - - mxyyPxzz = mfbca + mfbac; - mxyyMxzz = mfbca - mfbac; - - - ////////////////////////////////////////////////////////////////////////// - //exclusive for this source node - real mfbbb_NWT = mfbbb; - real mxxyPyzz_NWT = mxxyPyzz; - real mxxyMyzz_NWT = mxxyMyzz; - real mxxzPyyz_NWT = mxxzPyyz; - real mxxzMyyz_NWT = mxxzMyyz; - real mxyyPxzz_NWT = mxyyPxzz; - real mxyyMxzz_NWT = mxyyMxzz; - ////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ////////////////////////////////////////////////////////////////////////// - //NET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborCX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborCX[ksw]; - kbw = neighborCX[kbw]; - kbs = kbsw; - kbsw = neighborCX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - drho_NET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_NET = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NET); - vx2_NET = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NET); - vx3_NET = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NET); - - kxyFromfcNEQ_NET = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NET) - ((vx1_NET*vx2_NET))); - kyzFromfcNEQ_NET = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NET) - ((vx2_NET*vx3_NET))); - kxzFromfcNEQ_NET = -c3o1*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_NET) - ((vx1_NET*vx3_NET))); - kxxMyyFromfcNEQ_NET = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (c1o1 + drho_NET) - ((vx1_NET*vx1_NET-vx2_NET*vx2_NET))); - kxxMzzFromfcNEQ_NET = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (c1o1 + drho_NET) - ((vx1_NET*vx1_NET-vx3_NET*vx3_NET))); - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - mfcbb = f_E ; - mfabb = f_W ; - mfbcb = f_N ; - mfbab = f_S ; - mfbbc = f_T ; - mfbba = f_B ; - mfccb = f_NE ; - mfaab = f_SW ; - mfcab = f_SE ; - mfacb = f_NW ; - mfcbc = f_TE ; - mfaba = f_BW ; - mfcba = f_BE ; - mfabc = f_TW ; - mfbcc = f_TN ; - mfbaa = f_BS ; - mfbca = f_BN ; - mfbac = f_TS ; - mfbbb = f_ZERO; - mfccc = f_TNE ; - mfaac = f_TSW ; - mfcac = f_TSE ; - mfacc = f_TNW ; - mfcca = f_BNE ; - mfaaa = f_BSW ; - mfcaa = f_BSE ; - mfaca = f_BNW ; - //////////////////////////////////////////////////////////////////////////////////// - drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + - (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) + - ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb; - - rho = c1o1+drho; - //////////////////////////////////////////////////////////////////////////////////// - vvx =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + - (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) + - (mfcbb-mfabb)) / rho; - vvy =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + - (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) + - (mfbcb-mfbab)) / rho; - vvz =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + - (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) + - (mfbbc-mfbba)) / rho; - //////////////////////////////////////////////////////////////////////////////////// - //fast - oMdrho = c1o1; // comp special - vx2=vvx*vvx; - vy2=vvy*vvy; - vz2=vvz*vvz; - //////////////////////////////////////////////////////////////////////////////////// - //Hin - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m2 = mfaaa + mfaac; - m1 = mfaac - mfaaa; - m0 = m2 + mfaab; - mfaaa = m0; - m0 += c1o36 * oMdrho; - mfaab = m1 - m0 * vvz; - mfaac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfabc; - m1 = mfabc - mfaba; - m0 = m2 + mfabb; - mfaba = m0; - m0 += c1o9 * oMdrho; - mfabb = m1 - m0 * vvz; - mfabc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfacc; - m1 = mfacc - mfaca; - m0 = m2 + mfacb; - mfaca = m0; - m0 += c1o36 * oMdrho; - mfacb = m1 - m0 * vvz; - mfacc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbac; - m1 = mfbac - mfbaa; - m0 = m2 + mfbab; - mfbaa = m0; - m0 += c1o9 * oMdrho; - mfbab = m1 - m0 * vvz; - mfbac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbba + mfbbc; - m1 = mfbbc - mfbba; - m0 = m2 + mfbbb; - mfbba = m0; - m0 += c4o9 * oMdrho; - mfbbb = m1 - m0 * vvz; - mfbbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbca + mfbcc; - m1 = mfbcc - mfbca; - m0 = m2 + mfbcb; - mfbca = m0; - m0 += c1o9 * oMdrho; - mfbcb = m1 - m0 * vvz; - mfbcc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcac; - m1 = mfcac - mfcaa; - m0 = m2 + mfcab; - mfcaa = m0; - m0 += c1o36 * oMdrho; - mfcab = m1 - m0 * vvz; - mfcac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcba + mfcbc; - m1 = mfcbc - mfcba; - m0 = m2 + mfcbb; - mfcba = m0; - m0 += c1o9 * oMdrho; - mfcbb = m1 - m0 * vvz; - mfcbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcca + mfccc; - m1 = mfccc - mfcca; - m0 = m2 + mfccb; - mfcca = m0; - m0 += c1o36 * oMdrho; - mfccb = m1 - m0 * vvz; - mfccc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m2 = mfaaa + mfaca; - m1 = mfaca - mfaaa; - m0 = m2 + mfaba; - mfaaa = m0; - m0 += c1o6 * oMdrho; - mfaba = m1 - m0 * vvy; - mfaca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfacb; - m1 = mfacb - mfaab; - m0 = m2 + mfabb; - mfaab = m0; - mfabb = m1 - m0 * vvy; - mfacb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfacc; - m1 = mfacc - mfaac; - m0 = m2 + mfabc; - mfaac = m0; - m0 += c1o18 * oMdrho; - mfabc = m1 - m0 * vvy; - mfacc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbca; - m1 = mfbca - mfbaa; - m0 = m2 + mfbba; - mfbaa = m0; - m0 += c2o3 * oMdrho; - mfbba = m1 - m0 * vvy; - mfbca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbab + mfbcb; - m1 = mfbcb - mfbab; - m0 = m2 + mfbbb; - mfbab = m0; - mfbbb = m1 - m0 * vvy; - mfbcb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbac + mfbcc; - m1 = mfbcc - mfbac; - m0 = m2 + mfbbc; - mfbac = m0; - m0 += c2o9 * oMdrho; - mfbbc = m1 - m0 * vvy; - mfbcc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcca; - m1 = mfcca - mfcaa; - m0 = m2 + mfcba; - mfcaa = m0; - m0 += c1o6 * oMdrho; - mfcba = m1 - m0 * vvy; - mfcca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcab + mfccb; - m1 = mfccb - mfcab; - m0 = m2 + mfcbb; - mfcab = m0; - mfcbb = m1 - m0 * vvy; - mfccb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcac + mfccc; - m1 = mfccc - mfcac; - m0 = m2 + mfcbc; - mfcac = m0; - m0 += c1o18 * oMdrho; - mfcbc = m1 - m0 * vvy; - mfccc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m2 = mfaaa + mfcaa; - m1 = mfcaa - mfaaa; - m0 = m2 + mfbaa; - mfaaa = m0; - m0 += c1o1* oMdrho; - mfbaa = m1 - m0 * vvx; - mfcaa = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfcba; - m1 = mfcba - mfaba; - m0 = m2 + mfbba; - mfaba = m0; - mfbba = m1 - m0 * vvx; - mfcba = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfcca; - m1 = mfcca - mfaca; - m0 = m2 + mfbca; - mfaca = m0; - m0 += c1o3 * oMdrho; - mfbca = m1 - m0 * vvx; - mfcca = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfcab; - m1 = mfcab - mfaab; - m0 = m2 + mfbab; - mfaab = m0; - mfbab = m1 - m0 * vvx; - mfcab = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabb + mfcbb; - m1 = mfcbb - mfabb; - m0 = m2 + mfbbb; - mfabb = m0; - mfbbb = m1 - m0 * vvx; - mfcbb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacb + mfccb; - m1 = mfccb - mfacb; - m0 = m2 + mfbcb; - mfacb = m0; - mfbcb = m1 - m0 * vvx; - mfccb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfcac; - m1 = mfcac - mfaac; - m0 = m2 + mfbac; - mfaac = m0; - m0 += c1o3 * oMdrho; - mfbac = m1 - m0 * vvx; - mfcac = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabc + mfcbc; - m1 = mfcbc - mfabc; - m0 = m2 + mfbbc; - mfabc = m0; - mfbbc = m1 - m0 * vvx; - mfcbc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacc + mfccc; - m1 = mfccc - mfacc; - m0 = m2 + mfbcc; - mfacc = m0; - m0 += c1o9 * oMdrho; - mfbcc = m1 - m0 * vvx; - mfccc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - // linear combinations - - mxxyPyzz = mfcba + mfabc; - mxxyMyzz = mfcba - mfabc; - - mxxzPyyz = mfcab + mfacb; - mxxzMyyz = mfcab - mfacb; - - mxyyPxzz = mfbca + mfbac; - mxyyMxzz = mfbca - mfbac; - - - ////////////////////////////////////////////////////////////////////////// - //exclusive for this source node - real mfbbb_NET = mfbbb; - real mxxyPyzz_NET = mxxyPyzz; - real mxxyMyzz_NET = mxxyMyzz; - real mxxzPyyz_NET = mxxzPyyz; - real mxxzMyyz_NET = mxxzMyyz; - real mxyyPxzz_NET = mxyyPxzz; - real mxyyMxzz_NET = mxyyMxzz; - ////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ////////////////////////////////////////////////////////////////////////// - //NEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborCX[k0w]; - ks = k0sw; - ksw = neighborCX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - drho_NEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_NEB = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NEB); - vx2_NEB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NEB); - vx3_NEB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NEB); - - kxyFromfcNEQ_NEB = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx2_NEB))); - kyzFromfcNEQ_NEB = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NEB) - ((vx2_NEB*vx3_NEB))); - kxzFromfcNEQ_NEB = -c3o1*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx3_NEB))); - kxxMyyFromfcNEQ_NEB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx1_NEB-vx2_NEB*vx2_NEB))); - kxxMzzFromfcNEQ_NEB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx1_NEB-vx3_NEB*vx3_NEB))); - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - mfcbb = f_E ; - mfabb = f_W ; - mfbcb = f_N ; - mfbab = f_S ; - mfbbc = f_T ; - mfbba = f_B ; - mfccb = f_NE ; - mfaab = f_SW ; - mfcab = f_SE ; - mfacb = f_NW ; - mfcbc = f_TE ; - mfaba = f_BW ; - mfcba = f_BE ; - mfabc = f_TW ; - mfbcc = f_TN ; - mfbaa = f_BS ; - mfbca = f_BN ; - mfbac = f_TS ; - mfbbb = f_ZERO; - mfccc = f_TNE ; - mfaac = f_TSW ; - mfcac = f_TSE ; - mfacc = f_TNW ; - mfcca = f_BNE ; - mfaaa = f_BSW ; - mfcaa = f_BSE ; - mfaca = f_BNW ; - //////////////////////////////////////////////////////////////////////////////////// - drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + - (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) + - ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb; - - rho = c1o1+drho; - //////////////////////////////////////////////////////////////////////////////////// - vvx =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + - (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) + - (mfcbb-mfabb)) / rho; - vvy =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + - (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) + - (mfbcb-mfbab)) / rho; - vvz =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + - (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) + - (mfbbc-mfbba)) / rho; - //////////////////////////////////////////////////////////////////////////////////// - //fast - oMdrho = c1o1; // comp special - vx2=vvx*vvx; - vy2=vvy*vvy; - vz2=vvz*vvz; - //////////////////////////////////////////////////////////////////////////////////// - //Hin - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m2 = mfaaa + mfaac; - m1 = mfaac - mfaaa; - m0 = m2 + mfaab; - mfaaa = m0; - m0 += c1o36 * oMdrho; - mfaab = m1 - m0 * vvz; - mfaac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfabc; - m1 = mfabc - mfaba; - m0 = m2 + mfabb; - mfaba = m0; - m0 += c1o9 * oMdrho; - mfabb = m1 - m0 * vvz; - mfabc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfacc; - m1 = mfacc - mfaca; - m0 = m2 + mfacb; - mfaca = m0; - m0 += c1o36 * oMdrho; - mfacb = m1 - m0 * vvz; - mfacc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbac; - m1 = mfbac - mfbaa; - m0 = m2 + mfbab; - mfbaa = m0; - m0 += c1o9 * oMdrho; - mfbab = m1 - m0 * vvz; - mfbac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbba + mfbbc; - m1 = mfbbc - mfbba; - m0 = m2 + mfbbb; - mfbba = m0; - m0 += c4o9 * oMdrho; - mfbbb = m1 - m0 * vvz; - mfbbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbca + mfbcc; - m1 = mfbcc - mfbca; - m0 = m2 + mfbcb; - mfbca = m0; - m0 += c1o9 * oMdrho; - mfbcb = m1 - m0 * vvz; - mfbcc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcac; - m1 = mfcac - mfcaa; - m0 = m2 + mfcab; - mfcaa = m0; - m0 += c1o36 * oMdrho; - mfcab = m1 - m0 * vvz; - mfcac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcba + mfcbc; - m1 = mfcbc - mfcba; - m0 = m2 + mfcbb; - mfcba = m0; - m0 += c1o9 * oMdrho; - mfcbb = m1 - m0 * vvz; - mfcbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcca + mfccc; - m1 = mfccc - mfcca; - m0 = m2 + mfccb; - mfcca = m0; - m0 += c1o36 * oMdrho; - mfccb = m1 - m0 * vvz; - mfccc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m2 = mfaaa + mfaca; - m1 = mfaca - mfaaa; - m0 = m2 + mfaba; - mfaaa = m0; - m0 += c1o6 * oMdrho; - mfaba = m1 - m0 * vvy; - mfaca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfacb; - m1 = mfacb - mfaab; - m0 = m2 + mfabb; - mfaab = m0; - mfabb = m1 - m0 * vvy; - mfacb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfacc; - m1 = mfacc - mfaac; - m0 = m2 + mfabc; - mfaac = m0; - m0 += c1o18 * oMdrho; - mfabc = m1 - m0 * vvy; - mfacc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbca; - m1 = mfbca - mfbaa; - m0 = m2 + mfbba; - mfbaa = m0; - m0 += c2o3 * oMdrho; - mfbba = m1 - m0 * vvy; - mfbca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbab + mfbcb; - m1 = mfbcb - mfbab; - m0 = m2 + mfbbb; - mfbab = m0; - mfbbb = m1 - m0 * vvy; - mfbcb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbac + mfbcc; - m1 = mfbcc - mfbac; - m0 = m2 + mfbbc; - mfbac = m0; - m0 += c2o9 * oMdrho; - mfbbc = m1 - m0 * vvy; - mfbcc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcca; - m1 = mfcca - mfcaa; - m0 = m2 + mfcba; - mfcaa = m0; - m0 += c1o6 * oMdrho; - mfcba = m1 - m0 * vvy; - mfcca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcab + mfccb; - m1 = mfccb - mfcab; - m0 = m2 + mfcbb; - mfcab = m0; - mfcbb = m1 - m0 * vvy; - mfccb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcac + mfccc; - m1 = mfccc - mfcac; - m0 = m2 + mfcbc; - mfcac = m0; - m0 += c1o18 * oMdrho; - mfcbc = m1 - m0 * vvy; - mfccc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m2 = mfaaa + mfcaa; - m1 = mfcaa - mfaaa; - m0 = m2 + mfbaa; - mfaaa = m0; - m0 += c1o1* oMdrho; - mfbaa = m1 - m0 * vvx; - mfcaa = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfcba; - m1 = mfcba - mfaba; - m0 = m2 + mfbba; - mfaba = m0; - mfbba = m1 - m0 * vvx; - mfcba = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfcca; - m1 = mfcca - mfaca; - m0 = m2 + mfbca; - mfaca = m0; - m0 += c1o3 * oMdrho; - mfbca = m1 - m0 * vvx; - mfcca = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfcab; - m1 = mfcab - mfaab; - m0 = m2 + mfbab; - mfaab = m0; - mfbab = m1 - m0 * vvx; - mfcab = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabb + mfcbb; - m1 = mfcbb - mfabb; - m0 = m2 + mfbbb; - mfabb = m0; - mfbbb = m1 - m0 * vvx; - mfcbb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacb + mfccb; - m1 = mfccb - mfacb; - m0 = m2 + mfbcb; - mfacb = m0; - mfbcb = m1 - m0 * vvx; - mfccb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfcac; - m1 = mfcac - mfaac; - m0 = m2 + mfbac; - mfaac = m0; - m0 += c1o3 * oMdrho; - mfbac = m1 - m0 * vvx; - mfcac = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabc + mfcbc; - m1 = mfcbc - mfabc; - m0 = m2 + mfbbc; - mfabc = m0; - mfbbc = m1 - m0 * vvx; - mfcbc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacc + mfccc; - m1 = mfccc - mfacc; - m0 = m2 + mfbcc; - mfacc = m0; - m0 += c1o9 * oMdrho; - mfbcc = m1 - m0 * vvx; - mfccc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - // linear combinations - - mxxyPyzz = mfcba + mfabc; - mxxyMyzz = mfcba - mfabc; - - mxxzPyyz = mfcab + mfacb; - mxxzMyyz = mfcab - mfacb; - - mxyyPxzz = mfbca + mfbac; - mxyyMxzz = mfbca - mfbac; - - - ////////////////////////////////////////////////////////////////////////// - //exclusive for this source node - real mfbbb_NEB = mfbbb; - real mxxyPyzz_NEB = mxxyPyzz; - real mxxyMyzz_NEB = mxxyMyzz; - real mxxzPyyz_NEB = mxxzPyyz; - real mxxzMyyz_NEB = mxxzMyyz; - real mxyyPxzz_NEB = mxyyPxzz; - real mxyyMxzz_NEB = mxyyMxzz; - ////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfbbbMean = c1o8 * (mfbbb_SWB + mfbbb_SWT + mfbbb_SET + mfbbb_SEB + mfbbb_NWB + mfbbb_NWT + mfbbb_NET + mfbbb_NEB); - real mxxyPyzzMean = c1o8 * (mxxyPyzz_SWB + mxxyPyzz_SWT + mxxyPyzz_SET + mxxyPyzz_SEB + mxxyPyzz_NWB + mxxyPyzz_NWT + mxxyPyzz_NET + mxxyPyzz_NEB); - real mxxyMyzzMean = c1o8 * (mxxyMyzz_SWB + mxxyMyzz_SWT + mxxyMyzz_SET + mxxyMyzz_SEB + mxxyMyzz_NWB + mxxyMyzz_NWT + mxxyMyzz_NET + mxxyMyzz_NEB); - real mxxzPyyzMean = c1o8 * (mxxzPyyz_SWB + mxxzPyyz_SWT + mxxzPyyz_SET + mxxzPyyz_SEB + mxxzPyyz_NWB + mxxzPyyz_NWT + mxxzPyyz_NET + mxxzPyyz_NEB); - real mxxzMyyzMean = c1o8 * (mxxzMyyz_SWB + mxxzMyyz_SWT + mxxzMyyz_SET + mxxzMyyz_SEB + mxxzMyyz_NWB + mxxzMyyz_NWT + mxxzMyyz_NET + mxxzMyyz_NEB); - real mxyyPxzzMean = c1o8 * (mxyyPxzz_SWB + mxyyPxzz_SWT + mxyyPxzz_SET + mxyyPxzz_SEB + mxyyPxzz_NWB + mxyyPxzz_NWT + mxyyPxzz_NET + mxyyPxzz_NEB); - real mxyyMxzzMean = c1o8 * (mxyyMxzz_SWB + mxyyMxzz_SWT + mxyyMxzz_SET + mxyyMxzz_SEB + mxyyMxzz_NWB + mxyyMxzz_NWT + mxyyMxzz_NET + mxyyMxzz_NEB); - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // kxyFromfcNEQ_SWB = zero; - //kyzFromfcNEQ_SWB = zero; - //kxzFromfcNEQ_SWB = zero; - //kxxMyyFromfcNEQ_SWB = zero; - //kxxMzzFromfcNEQ_SWB = zero; - //kxyFromfcNEQ_SWT = zero; - //kyzFromfcNEQ_SWT = zero; - //kxzFromfcNEQ_SWT = zero; - //kxxMyyFromfcNEQ_SWT = zero; - //kxxMzzFromfcNEQ_SWT = zero; - //kxyFromfcNEQ_SET = zero; - //kyzFromfcNEQ_SET = zero; - //kxzFromfcNEQ_SET = zero; - //kxxMyyFromfcNEQ_SET = zero; - //kxxMzzFromfcNEQ_SET = zero; - //kxyFromfcNEQ_SEB = zero; - //kyzFromfcNEQ_SEB = zero; - //kxzFromfcNEQ_SEB = zero; - //kxxMyyFromfcNEQ_SEB = zero; - //kxxMzzFromfcNEQ_SEB = zero; - //kxyFromfcNEQ_NWB = zero; - //kyzFromfcNEQ_NWB = zero; - //kxzFromfcNEQ_NWB = zero; - //kxxMyyFromfcNEQ_NWB = zero; - //kxxMzzFromfcNEQ_NWB = zero; - //kxyFromfcNEQ_NWT = zero; - //kyzFromfcNEQ_NWT = zero; - //kxzFromfcNEQ_NWT = zero; - //kxxMyyFromfcNEQ_NWT = zero; - //kxxMzzFromfcNEQ_NWT = zero; - //kxyFromfcNEQ_NET = zero; - //kyzFromfcNEQ_NET = zero; - //kxzFromfcNEQ_NET = zero; - //kxxMyyFromfcNEQ_NET = zero; - //kxxMzzFromfcNEQ_NET = zero; - //kxyFromfcNEQ_NEB = zero; - //kyzFromfcNEQ_NEB = zero; - //kxzFromfcNEQ_NEB = zero; - //kxxMyyFromfcNEQ_NEB = zero; - //kxxMzzFromfcNEQ_NEB = zero; - ////////////////////////////////////////////////////////////////////////// - //3 - ////////////////////////////////////////////////////////////////////////// - a0 = (-kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT - - kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - - kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - - c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET - c2o1*kxyFromfcNEQ_NWB - c2o1*kxyFromfcNEQ_NWT + - c2o1*kxyFromfcNEQ_SEB + c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + - c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB - c2o1*kxzFromfcNEQ_NWT + - c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB - c2o1*kxzFromfcNEQ_SWT + - c8o1*vx1_NEB + c8o1*vx1_NET + c8o1*vx1_NWB + c8o1*vx1_NWT + c8o1*vx1_SEB + - c8o1*vx1_SET + c8o1*vx1_SWB + c8o1*vx1_SWT + c2o1*vx2_NEB + c2o1*vx2_NET - - c2o1*vx2_NWB - c2o1*vx2_NWT - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + - c2o1*vx2_SWT - c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - - c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1; - b0 = (c2o1*kxxMyyFromfcNEQ_NEB + c2o1*kxxMyyFromfcNEQ_NET + c2o1*kxxMyyFromfcNEQ_NWB + c2o1*kxxMyyFromfcNEQ_NWT - - c2o1*kxxMyyFromfcNEQ_SEB - c2o1*kxxMyyFromfcNEQ_SET - c2o1*kxxMyyFromfcNEQ_SWB - c2o1*kxxMyyFromfcNEQ_SWT - - kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - - c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET + c2o1*kxyFromfcNEQ_NWB + c2o1*kxyFromfcNEQ_NWT - - c2o1*kxyFromfcNEQ_SEB - c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + - c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET + c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + - c2o1*kyzFromfcNEQ_SEB - c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB - c2o1*kyzFromfcNEQ_SWT + - c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT + - c8o1*vx2_NEB + c8o1*vx2_NET + c8o1*vx2_NWB + c8o1*vx2_NWT + - c8o1*vx2_SEB + c8o1*vx2_SET + c8o1*vx2_SWB + c8o1*vx2_SWT - - c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + - c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1; - - //b0 = ((eight*vx2_NEB + eight*vx2_SWT) + (eight*vx2_NET + eight*vx2_SWB) + (eight*vx2_NWB + eight*vx2_SET) + (eight*vx2_NWT + eight*vx2_SEB))/sixtyfour; - - c0 = (kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT - - c2o1*kxxMzzFromfcNEQ_NEB + c2o1*kxxMzzFromfcNEQ_NET - c2o1*kxxMzzFromfcNEQ_NWB + c2o1*kxxMzzFromfcNEQ_NWT - - c2o1*kxxMzzFromfcNEQ_SEB + c2o1*kxxMzzFromfcNEQ_SET - c2o1*kxxMzzFromfcNEQ_SWB + c2o1*kxxMzzFromfcNEQ_SWT - - c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB + c2o1*kxzFromfcNEQ_NWT - - c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB + c2o1*kxzFromfcNEQ_SWT - - c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET - c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + - c2o1*kyzFromfcNEQ_SEB + c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB + c2o1*kyzFromfcNEQ_SWT - - c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - - c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT + - c8o1*vx3_NEB + c8o1*vx3_NET + c8o1*vx3_NWB + c8o1*vx3_NWT + - c8o1*vx3_SEB + c8o1*vx3_SET + c8o1*vx3_SWB + c8o1*vx3_SWT)/c64o1; - ax = (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT + vx1_SEB + vx1_SET - vx1_SWB - vx1_SWT)/c4o1; - bx = (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT + vx2_SEB + vx2_SET - vx2_SWB - vx2_SWT)/c4o1; - //bx = ((vx2_NEB - vx2_SWT) + (vx2_NET - vx2_SWB) + (vx2_SET - vx2_NWB) + (vx2_SEB - vx2_NWT))/four; - cx = (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT + vx3_SEB + vx3_SET - vx3_SWB - vx3_SWT)/c4o1; - axx= (kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT + - kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + - c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB - c2o1*vx2_NWT - - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + c2o1*vx2_SWT - - c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - - c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1; - bxx= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET - kxyFromfcNEQ_NWB - kxyFromfcNEQ_NWT + - kxyFromfcNEQ_SEB + kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - - c2o1*vx1_NEB - c2o1*vx1_NET + c2o1*vx1_NWB + c2o1*vx1_NWT + - c2o1*vx1_SEB + c2o1*vx1_SET - c2o1*vx1_SWB - c2o1*vx1_SWT)/c8o1; - cxx= (kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB - kxzFromfcNEQ_NWT + - kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB - kxzFromfcNEQ_SWT + - c2o1*vx1_NEB - c2o1*vx1_NET - c2o1*vx1_NWB + c2o1*vx1_NWT + - c2o1*vx1_SEB - c2o1*vx1_SET - c2o1*vx1_SWB + c2o1*vx1_SWT)/c8o1; - ay = (vx1_NEB + vx1_NET + vx1_NWB + vx1_NWT - vx1_SEB - vx1_SET - vx1_SWB - vx1_SWT)/c4o1; - by = (vx2_NEB + vx2_NET + vx2_NWB + vx2_NWT - vx2_SEB - vx2_SET - vx2_SWB - vx2_SWT)/c4o1; - cy = (vx3_NEB + vx3_NET + vx3_NWB + vx3_NWT - vx3_SEB - vx3_SET - vx3_SWB - vx3_SWT)/c4o1; - ayy= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET + kxyFromfcNEQ_NWB + kxyFromfcNEQ_NWT - - kxyFromfcNEQ_SEB - kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - - c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB + c2o1*vx2_NWT + - c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB - c2o1*vx2_SWT)/c8o1; - byy= (-c2o1*kxxMyyFromfcNEQ_NEB - c2o1*kxxMyyFromfcNEQ_NET - c2o1*kxxMyyFromfcNEQ_NWB - c2o1*kxxMyyFromfcNEQ_NWT + - c2o1*kxxMyyFromfcNEQ_SEB + c2o1*kxxMyyFromfcNEQ_SET + c2o1*kxxMyyFromfcNEQ_SWB + c2o1*kxxMyyFromfcNEQ_SWT + - kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - - kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + - c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT - - c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + - c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1; - cyy= (kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET + kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - - kyzFromfcNEQ_SEB - kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB - kyzFromfcNEQ_SWT + - c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB - c2o1*vx2_NWT - - c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB + c2o1*vx2_SWT)/c8o1; - az = (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT - vx1_SEB + vx1_SET - vx1_SWB + vx1_SWT)/c4o1; - //bz = (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT - vx2_SEB + vx2_SET - vx2_SWB + vx2_SWT)/four; - bz = ((vx2_SWT - vx2_NEB) + (vx2_NET - vx2_SWB) + (vx2_SET - vx2_NWB) + (vx2_NWT - vx2_SEB))/c4o1; - cz = (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT - vx3_SEB + vx3_SET - vx3_SWB + vx3_SWT)/c4o1; - azz= (-kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB + kxzFromfcNEQ_NWT - - kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB + kxzFromfcNEQ_SWT + - c2o1*vx3_NEB - c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + - c2o1*vx3_SEB - c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1; - bzz= (-kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET - kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - - kyzFromfcNEQ_SEB + kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB + kyzFromfcNEQ_SWT + - c2o1*vx3_NEB - c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - - c2o1*vx3_SEB + c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1; - czz= (-kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT + - c2o1*kxxMzzFromfcNEQ_NEB - c2o1*kxxMzzFromfcNEQ_NET + c2o1*kxxMzzFromfcNEQ_NWB - c2o1*kxxMzzFromfcNEQ_NWT + - c2o1*kxxMzzFromfcNEQ_SEB - c2o1*kxxMzzFromfcNEQ_SET + c2o1*kxxMzzFromfcNEQ_SWB - c2o1*kxxMzzFromfcNEQ_SWT - - c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - - c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT)/c16o1; - axy= (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT - vx1_SEB - vx1_SET + vx1_SWB + vx1_SWT)/c2o1; - bxy= (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT - vx2_SEB - vx2_SET + vx2_SWB + vx2_SWT)/c2o1; - cxy= (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT - vx3_SEB - vx3_SET + vx3_SWB + vx3_SWT)/c2o1; - axz= (-vx1_NEB + vx1_NET + vx1_NWB - vx1_NWT - vx1_SEB + vx1_SET + vx1_SWB - vx1_SWT)/c2o1; - bxz= (-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT - vx2_SEB + vx2_SET + vx2_SWB - vx2_SWT)/c2o1; - cxz= (-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT - vx3_SEB + vx3_SET + vx3_SWB - vx3_SWT)/c2o1; - ayz= (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT + vx1_SEB - vx1_SET + vx1_SWB - vx1_SWT)/c2o1; - byz= (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT + vx2_SEB - vx2_SET + vx2_SWB - vx2_SWT)/c2o1; - cyz= (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT + vx3_SEB - vx3_SET + vx3_SWB - vx3_SWT)/c2o1; - axyz=-vx1_NEB + vx1_NET + vx1_NWB - vx1_NWT + vx1_SEB - vx1_SET - vx1_SWB + vx1_SWT; - bxyz=-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT + vx2_SEB - vx2_SET - vx2_SWB + vx2_SWT; - cxyz=-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT + vx3_SEB - vx3_SET - vx3_SWB + vx3_SWT; - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real kxyAverage = c0o1; - real kyzAverage = c0o1; - real kxzAverage = c0o1; - real kxxMyyAverage = c0o1; - real kxxMzzAverage = c0o1; - //real kxyAverage =(kxyFromfcNEQ_SWB+ - // kxyFromfcNEQ_SWT+ - // kxyFromfcNEQ_SET+ - // kxyFromfcNEQ_SEB+ - // kxyFromfcNEQ_NWB+ - // kxyFromfcNEQ_NWT+ - // kxyFromfcNEQ_NET+ - // kxyFromfcNEQ_NEB)*c1o8-(ay+bx); - //real kyzAverage =(kyzFromfcNEQ_SWB+ - // kyzFromfcNEQ_SWT+ - // kyzFromfcNEQ_SET+ - // kyzFromfcNEQ_SEB+ - // kyzFromfcNEQ_NWB+ - // kyzFromfcNEQ_NWT+ - // kyzFromfcNEQ_NET+ - // kyzFromfcNEQ_NEB)*c1o8-(bz+cy); - //real kxzAverage =(kxzFromfcNEQ_SWB+ - // kxzFromfcNEQ_SWT+ - // kxzFromfcNEQ_SET+ - // kxzFromfcNEQ_SEB+ - // kxzFromfcNEQ_NWB+ - // kxzFromfcNEQ_NWT+ - // kxzFromfcNEQ_NET+ - // kxzFromfcNEQ_NEB)*c1o8-(az+cx); - //real kxxMyyAverage =(kxxMyyFromfcNEQ_SWB+ - // kxxMyyFromfcNEQ_SWT+ - // kxxMyyFromfcNEQ_SET+ - // kxxMyyFromfcNEQ_SEB+ - // kxxMyyFromfcNEQ_NWB+ - // kxxMyyFromfcNEQ_NWT+ - // kxxMyyFromfcNEQ_NET+ - // kxxMyyFromfcNEQ_NEB)*c1o8-(ax-by); - //real kxxMzzAverage =(kxxMzzFromfcNEQ_SWB+ - // kxxMzzFromfcNEQ_SWT+ - // kxxMzzFromfcNEQ_SET+ - // kxxMzzFromfcNEQ_SEB+ - // kxxMzzFromfcNEQ_NWB+ - // kxxMzzFromfcNEQ_NWT+ - // kxxMzzFromfcNEQ_NET+ - // kxxMzzFromfcNEQ_NEB)*c1o8-(ax-cz); - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //Press - //d0 = ( press_NEB + press_NET + press_NWB + press_NWT + press_SEB + press_SET + press_SWB + press_SWT) * c1o8; - //dx = ( press_NEB + press_NET - press_NWB - press_NWT + press_SEB + press_SET - press_SWB - press_SWT) * c1o4; - //dy = ( press_NEB + press_NET + press_NWB + press_NWT - press_SEB - press_SET - press_SWB - press_SWT) * c1o4; - //dz = (-press_NEB + press_NET - press_NWB + press_NWT - press_SEB + press_SET - press_SWB + press_SWT) * c1o4; - //dxy = ( press_NEB + press_NET - press_NWB - press_NWT - press_SEB - press_SET + press_SWB + press_SWT) * c1o2; - //dxz = (-press_NEB + press_NET + press_NWB - press_NWT - press_SEB + press_SET + press_SWB - press_SWT) * c1o2; - //dyz = (-press_NEB + press_NET - press_NWB + press_NWT + press_SEB - press_SET + press_SWB - press_SWT) * c1o2; - //dxyz = -press_NEB + press_NET + press_NWB - press_NWT + press_SEB - press_SET - press_SWB + press_SWT; - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho - real LapRho = ((xoff != c0o1) || (yoff != c0o1) || (zoff != c0o1)) ? c0o1 : -c3o1*(ax*ax + by*by + cz*cz) - c6o1 * (bx*ay + cx*az + cy*bz); - d0 = ( drho_NEB + drho_NET + drho_NWB + drho_NWT + drho_SEB + drho_SET + drho_SWB + drho_SWT) * c1o8; - dx = ( drho_NEB + drho_NET - drho_NWB - drho_NWT + drho_SEB + drho_SET - drho_SWB - drho_SWT) * c1o4; - dy = ( drho_NEB + drho_NET + drho_NWB + drho_NWT - drho_SEB - drho_SET - drho_SWB - drho_SWT) * c1o4; - dz = (-drho_NEB + drho_NET - drho_NWB + drho_NWT - drho_SEB + drho_SET - drho_SWB + drho_SWT) * c1o4; - dxy = ( drho_NEB + drho_NET - drho_NWB - drho_NWT - drho_SEB - drho_SET + drho_SWB + drho_SWT) * c1o2; - dxz = (-drho_NEB + drho_NET + drho_NWB - drho_NWT - drho_SEB + drho_SET + drho_SWB - drho_SWT) * c1o2; - dyz = (-drho_NEB + drho_NET - drho_NWB + drho_NWT + drho_SEB - drho_SET + drho_SWB - drho_SWT) * c1o2; - dxyz = -drho_NEB + drho_NET + drho_NWB - drho_NWT + drho_SEB - drho_SET - drho_SWB + drho_SWT; - // d0 = zero; - //dx = zero; - //dy = zero; - //dz = zero; - //dxy = zero; - //dxz = zero; - //dyz = zero; - //dxyz = zero; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - // Bernd das Brot - // - // X------X - // | | x---x - // | ---+-+-> | ----> off-vector - // | | x---x - // X------X - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - a0 = a0 + xoff * ax + yoff * ay + zoff * az + xoff_sq * axx + yoff_sq * ayy + zoff_sq * azz + xoff*yoff*axy + xoff*zoff*axz + yoff*zoff*ayz; - ax = ax + c2o1 * xoff * axx + yoff * axy + zoff * axz; - ay = ay + c2o1 * yoff * ayy + xoff * axy + zoff * ayz; - az = az + c2o1 * zoff * azz + xoff * axz + yoff * ayz; - b0 = b0 + xoff * bx + yoff * by + zoff * bz + xoff_sq * bxx + yoff_sq * byy + zoff_sq * bzz + xoff*yoff*bxy + xoff*zoff*bxz + yoff*zoff*byz; - bx = bx + c2o1 * xoff * bxx + yoff * bxy + zoff * bxz; - by = by + c2o1 * yoff * byy + xoff * bxy + zoff * byz; - bz = bz + c2o1 * zoff * bzz + xoff * bxz + yoff * byz; - c0 = c0 + xoff * cx + yoff * cy + zoff * cz + xoff_sq * cxx + yoff_sq * cyy + zoff_sq * czz + xoff*yoff*cxy + xoff*zoff*cxz + yoff*zoff*cyz; - cx = cx + c2o1 * xoff * cxx + yoff * cxy + zoff * cxz; - cy = cy + c2o1 * yoff * cyy + xoff * cxy + zoff * cyz; - cz = cz + c2o1 * zoff * czz + xoff * cxz + yoff * cyz; - d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz; - dx = dx + yoff * dxy + zoff * dxz; - dy = dy + xoff * dxy + zoff * dyz; - dz = dz + xoff * dxz + yoff * dyz; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // FIX /////////////////////////////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //AAAAAAAAAAAAHHHHHHHHHHHH!!!!! Mieser Test!!! - //b0= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz= c0= cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero; - //a0=zero; - //ax=zero; - //ay=zero; - //az=zero; - //axx=zero; - //ayy=zero; - //azz=zero; - //axy=zero; - //axz=zero; - //ayz=zero; - //b0=zero; - //bx=zero; - //by=zero; - //bz=zero; - //bxx=zero; - //byy=zero; - //bzz=zero; - //bxy=zero; - //bxz=zero; - //byz=zero; - //c0=zero; - //cx=zero; - //cy=zero; - //cz=zero; - //cxx=zero; - //cyy=zero; - //czz=zero; - //cxy=zero; - //cxz=zero; - //cyz=zero; - //axyz=zero; - //bxyz=zero; - //cxyz=zero; - //ax= ay= az= axx= ayy= azz= axy= axz= ayz= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz= cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero; - //a0=zero; - //b0=zero; - //c0=c1o100; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //real m0, m1, m2, vvx, vvy, vvz, vx2, vy2, vz2, oMdrho; - //real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz; - ////real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein - ////real O3 = two - o; - ////real residu, residutmp; - ////residutmp = zero;// /*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new; - //real NeqOn = one;//zero;//one; //.... one = on ..... zero = off - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position SWB -0.25f, -0.25f, -0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = -c1o4; - y = -c1o4; - z = -c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //real mxoff = -xoff; - //real myoff = -yoff; - //real mzoff = -zoff; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c3o64*drho_NEB+c1o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c27o64*drho_SWB+c9o64*drho_SWT; - //press = press_SWT * (c9o64 + c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + - // press_NWT * (c3o64 + c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + - // press_SET * (c3o64 - c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + - // press_NET * (c1o64 - c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + - // press_NEB * (c3o64 - c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + - // press_NWB * (c9o64 + c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c9o64 - c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c27o64 + c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff); - //drho = drho_SWT * (c9o64 + c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + - // drho_NWT * (c3o64 + c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - // drho_SET * (c3o64 - c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + - // drho_NET * (c1o64 - c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + - // drho_NEB * (c3o64 - c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + - // drho_NWB * (c9o64 + c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c9o64 - c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c27o64 + c9o16 * xoff + c9o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa; - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - mfbbb = c1o4 * (c24o1*(-c2o1+omCoarse)*(-c2o1-c7o1*omCoarse+c3o1*omCoarse*omCoarse)/(c48o1+c152o1*omCoarse-c130o1*omCoarse*omCoarse+c29o1*omCoarse*omCoarse*omCoarse)) - / (c24o1*(-c2o1+omFine)*(-c2o1-c7o1*omFine+c3o1*omFine*omFine)/(c48o1+c152o1*omFine-c130o1*omFine*omFine+c29o1*omFine*omFine*omFine)) * mfbbbMean; - mxxyPyzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxxyPyzzMean; - mxxyMyzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxxyMyzzMean; - mxxzPyyz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxxzPyyzMean; - mxxzMyyz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxxzMyyzMean; - mxyyPxzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxyyPxzzMean; - mxyyMxzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxyyMxzzMean; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= posFSWB[k]; - k0w = neighborFX[k0zero]; - k0s = neighborFY[k0zero]; - k0b = neighborFZ[k0zero]; - k0sw = neighborFY[k0w]; - k0bw = neighborFZ[k0w]; - k0bs = neighborFZ[k0s]; - k0bsw = neighborFZ[k0sw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position SWT -0.25f, -0.25f, 0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = -c1o4; - y = -c1o4; - z = c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c1o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c27o64*drho_SWT; - //press = press_SWT * (c27o64 + c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + - // press_NWT * (c9o64 + c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + - // press_SET * (c9o64 - c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + - // press_NET * (c3o64 - c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + - // press_NEB * (c1o64 - c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + - // press_NWB * (c3o64 + c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c3o64 - c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c9o64 + c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff); - //drho = drho_SWT * (c27o64 + c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + - // drho_NWT * (c9o64 + c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + - // drho_SET * (c9o64 - c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - // drho_NET * (c3o64 - c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + - // drho_NEB * (c1o64 - c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + - // drho_NWB * (c3o64 + c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c3o64 - c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c9o64 + c3o16 * xoff + c3o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa; - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - mfbbb = c1o4 * (c24o1*(-c2o1+omCoarse)*(-c2o1-c7o1*omCoarse+c3o1*omCoarse*omCoarse)/(c48o1+c152o1*omCoarse-c130o1*omCoarse*omCoarse+c29o1*omCoarse*omCoarse*omCoarse)) - / (c24o1*(-c2o1+omFine)*(-c2o1-c7o1*omFine+c3o1*omFine*omFine)/(c48o1+c152o1*omFine-c130o1*omFine*omFine+c29o1*omFine*omFine*omFine)) * mfbbbMean; - mxxyPyzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxxyPyzzMean; - mxxyMyzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxxyMyzzMean; - mxxzPyyz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxxzPyyzMean; - mxxzMyyz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxxzMyyzMean; - mxyyPxzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxyyPxzzMean; - mxyyMxzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxyyMxzzMean; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position SET 0.25f, -0.25f, 0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = c1o4; - y = -c1o4; - z = c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho =c3o64*drho_NEB+c9o64*drho_NET+c1o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c27o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT; - //press = press_SET * (c27o64 - c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + - // press_NET * (c9o64 - c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c9o64 + c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + - // press_NWT * (c3o64 + c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + - // press_NWB * (c1o64 + c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + - // press_NEB * (c3o64 - c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c3o64 + c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c9o64 - c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff); - //drho = drho_SET * (c27o64 - c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + - // drho_NET * (c9o64 - c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c9o64 + c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - // drho_NWT * (c3o64 + c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + - // drho_NWB * (c1o64 + c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + - // drho_NEB * (c3o64 - c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c3o64 + c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c9o64 - c3o16 * xoff + c3o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa; - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - mfbbb = c1o4 * (c24o1*(-c2o1+omCoarse)*(-c2o1-c7o1*omCoarse+c3o1*omCoarse*omCoarse)/(c48o1+c152o1*omCoarse-c130o1*omCoarse*omCoarse+c29o1*omCoarse*omCoarse*omCoarse)) - / (c24o1*(-c2o1+omFine)*(-c2o1-c7o1*omFine+c3o1*omFine*omFine)/(c48o1+c152o1*omFine-c130o1*omFine*omFine+c29o1*omFine*omFine*omFine)) * mfbbbMean; - mxxyPyzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxxyPyzzMean; - mxxyMyzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxxyMyzzMean; - mxxzPyyz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxxzPyyzMean; - mxxzMyyz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxxzMyyzMean; - mxyyPxzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxyyPxzzMean; - mxyyMxzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxyyMxzzMean; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position SEB 0.25f, -0.25f, -0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = c1o4; - y = -c1o4; - z = -c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho =c9o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c1o64*drho_NWT+c27o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT; - //press = press_SET * (c9o64 - c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + - // press_NET * (c3o64 - c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c3o64 + c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + - // press_NWT * (c1o64 + c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + - // press_NWB * (c3o64 + c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + - // press_NEB * (c9o64 - c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c9o64 + c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c27o64 - c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff); - //drho = drho_SET * (c9o64 - c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + - // drho_NET * (c3o64 - c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c3o64 + c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + - // drho_NWT * (c1o64 + c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + - // drho_NWB * (c3o64 + c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + - // drho_NEB * (c9o64 - c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c9o64 + c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c27o64 - c9o16 * xoff + c9o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa; - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - mfbbb = c1o4 * (c24o1*(-c2o1+omCoarse)*(-c2o1-c7o1*omCoarse+c3o1*omCoarse*omCoarse)/(c48o1+c152o1*omCoarse-c130o1*omCoarse*omCoarse+c29o1*omCoarse*omCoarse*omCoarse)) - / (c24o1*(-c2o1+omFine)*(-c2o1-c7o1*omFine+c3o1*omFine*omFine)/(c48o1+c152o1*omFine-c130o1*omFine*omFine+c29o1*omFine*omFine*omFine)) * mfbbbMean; - mxxyPyzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxxyPyzzMean; - mxxyMyzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxxyMyzzMean; - mxxzPyyz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxxzPyyzMean; - mxxzMyyz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxxzMyyzMean; - mxyyPxzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxyyPxzzMean; - mxyyMxzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxyyMxzzMean; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position NWB -0.25f, 0.25f, -0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = -c1o4; - y = c1o4; - z = -c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c9o64*drho_NEB+c3o64*drho_NET+c27o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c1o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT; - //press = press_NWT * (c9o64 + c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + - // press_NET * (c3o64 - c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c3o64 + c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + - // press_SET * (c1o64 - c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + - // press_SEB * (c3o64 - c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + - // press_NEB * (c9o64 - c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c9o64 + c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + - // press_NWB * (c27o64 + c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff); - //drho = drho_NWT * (c9o64 + c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + - // drho_NET * (c3o64 - c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c3o64 + c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - // drho_SET * (c1o64 - c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + - // drho_SEB * (c3o64 - c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + - // drho_NEB * (c9o64 - c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c9o64 + c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + - // drho_NWB * (c27o64 + c9o16 * xoff - c9o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa; - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - mfbbb = c1o4 * (c24o1*(-c2o1+omCoarse)*(-c2o1-c7o1*omCoarse+c3o1*omCoarse*omCoarse)/(c48o1+c152o1*omCoarse-c130o1*omCoarse*omCoarse+c29o1*omCoarse*omCoarse*omCoarse)) - / (c24o1*(-c2o1+omFine)*(-c2o1-c7o1*omFine+c3o1*omFine*omFine)/(c48o1+c152o1*omFine-c130o1*omFine*omFine+c29o1*omFine*omFine*omFine)) * mfbbbMean; - mxxyPyzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxxyPyzzMean; - mxxyMyzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxxyMyzzMean; - mxxzPyyz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxxzPyyzMean; - mxxzMyyz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxxzMyyzMean; - mxyyPxzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxyyPxzzMean; - mxyyMxzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxyyMxzzMean; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= k0s; - k0w = k0sw; - k0s = neighborFY[k0s]; - k0b = k0bs; - k0sw = neighborFY[k0sw]; - k0bw = k0bsw; - k0bs = neighborFY[k0bs]; - k0bsw = neighborFY[k0bsw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position NWT -0.25f, 0.25f, 0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = -c1o4; - y = c1o4; - z = c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c3o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c27o64*drho_NWT+c1o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT; - //press = press_NWT * (c27o64 + c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + - // press_NET * (c9o64 - c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c9o64 + c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + - // press_SET * (c3o64 - c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + - // press_SEB * (c1o64 - c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + - // press_NEB * (c3o64 - c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c3o64 + c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + - // press_NWB * (c9o64 + c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff); - //drho = drho_NWT * (c27o64 + c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + - // drho_NET * (c9o64 - c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c9o64 + c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + - // drho_SET * (c3o64 - c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + - // drho_SEB * (c1o64 - c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + - // drho_NEB * (c3o64 - c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c3o64 + c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - // drho_NWB * (c9o64 + c3o16 * xoff - c3o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa; - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - mfbbb = c1o4 * (c24o1*(-c2o1+omCoarse)*(-c2o1-c7o1*omCoarse+c3o1*omCoarse*omCoarse)/(c48o1+c152o1*omCoarse-c130o1*omCoarse*omCoarse+c29o1*omCoarse*omCoarse*omCoarse)) - / (c24o1*(-c2o1+omFine)*(-c2o1-c7o1*omFine+c3o1*omFine*omFine)/(c48o1+c152o1*omFine-c130o1*omFine*omFine+c29o1*omFine*omFine*omFine)) * mfbbbMean; - mxxyPyzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxxyPyzzMean; - mxxyMyzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxxyMyzzMean; - mxxzPyyz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxxzPyyzMean; - mxxzMyyz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxxzMyyzMean; - mxyyPxzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxyyPxzzMean; - mxyyMxzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxyyMxzzMean; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position NET 0.25f, 0.25f, 0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = c1o4; - y = c1o4; - z = c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c9o64*drho_NEB+c27o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c1o64*drho_SWB+c3o64*drho_SWT; - //press = press_NET * (c27o64 - c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + - // press_NWT * (c9o64 + c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + - // press_SET * (c9o64 - c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c3o64 + c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + - // press_SWB * (c1o64 + c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + - // press_NWB * (c3o64 + c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c3o64 - c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + - // press_NEB * (c9o64 - c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff); - //drho = drho_NET * (c27o64 - c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + - // drho_NWT * (c9o64 + c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - // drho_SET * (c9o64 - c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c3o64 + c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + - // drho_SWB * (c1o64 + c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + - // drho_NWB * (c3o64 + c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c3o64 - c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - // drho_NEB * (c9o64 - c3o16 * xoff - c3o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa; - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - mfbbb = c1o4 * (c24o1*(-c2o1+omCoarse)*(-c2o1-c7o1*omCoarse+c3o1*omCoarse*omCoarse)/(c48o1+c152o1*omCoarse-c130o1*omCoarse*omCoarse+c29o1*omCoarse*omCoarse*omCoarse)) - / (c24o1*(-c2o1+omFine)*(-c2o1-c7o1*omFine+c3o1*omFine*omFine)/(c48o1+c152o1*omFine-c130o1*omFine*omFine+c29o1*omFine*omFine*omFine)) * mfbbbMean; - mxxyPyzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxxyPyzzMean; - mxxyMyzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxxyMyzzMean; - mxxzPyyz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxxzPyyzMean; - mxxzMyyz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxxzMyyzMean; - mxyyPxzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxyyPxzzMean; - mxyyMxzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxyyMxzzMean; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position NEB 0.25f, 0.25f, -0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = c1o4; - y = c1o4; - z = -c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c27o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c1o64*drho_SWT; - //press = press_NET * (c9o64 - c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + - // press_NWT * (c3o64 + c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + - // press_SET * (c3o64 - c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c1o64 + c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + - // press_SWB * (c3o64 + c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + - // press_NWB * (c9o64 + c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c9o64 - c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + - // press_NEB * (c27o64 - c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff); - //drho = drho_NET * (c9o64 - c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + - // drho_NWT * (c3o64 + c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + - // drho_SET * (c3o64 - c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c1o64 + c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + - // drho_SWB * (c3o64 + c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + - // drho_NWB * (c9o64 + c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c9o64 - c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + - // drho_NEB * (c27o64 - c9o16 * xoff - c9o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa; - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - mfbbb = c1o4 * (c24o1*(-c2o1+omCoarse)*(-c2o1-c7o1*omCoarse+c3o1*omCoarse*omCoarse)/(c48o1+c152o1*omCoarse-c130o1*omCoarse*omCoarse+c29o1*omCoarse*omCoarse*omCoarse)) - / (c24o1*(-c2o1+omFine)*(-c2o1-c7o1*omFine+c3o1*omFine*omFine)/(c48o1+c152o1*omFine-c130o1*omFine*omFine+c29o1*omFine*omFine*omFine)) * mfbbbMean; - mxxyPyzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxxyPyzzMean; - mxxyMyzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxxyMyzzMean; - mxxzPyyz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxxzPyyzMean; - mxxzMyyz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxxzMyyzMean; - mxyyPxzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxyyPxzzMean; - mxyyMxzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxyyMxzzMean; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - } -} -////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -////////////////////////////////////////////////////////////////////////// -__global__ void scaleCF_RhoSq_3rdMom_comp_27(real* DC, - real* DF, - unsigned int* neighborCX, - unsigned int* neighborCY, - unsigned int* neighborCZ, - unsigned int* neighborFX, - unsigned int* neighborFY, - unsigned int* neighborFZ, - unsigned long long numberOfLBnodesCoarse, - unsigned long long numberOfLBnodesFine, - bool isEvenTimestep, - unsigned int* posCSWB, - unsigned int* posFSWB, - unsigned int kCF, - real omCoarse, - real omFine, - real nu, - unsigned int nxC, - unsigned int nyC, - unsigned int nxF, - unsigned int nyF, - ICellNeigh offCF) -{ - real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, - *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - - feF = &DF[dP00 * numberOfLBnodesFine]; - fwF = &DF[dM00 * numberOfLBnodesFine]; - fnF = &DF[d0P0 * numberOfLBnodesFine]; - fsF = &DF[d0M0 * numberOfLBnodesFine]; - ftF = &DF[d00P * numberOfLBnodesFine]; - fbF = &DF[d00M * numberOfLBnodesFine]; - fneF = &DF[dPP0 * numberOfLBnodesFine]; - fswF = &DF[dMM0 * numberOfLBnodesFine]; - fseF = &DF[dPM0 * numberOfLBnodesFine]; - fnwF = &DF[dMP0 * numberOfLBnodesFine]; - fteF = &DF[dP0P * numberOfLBnodesFine]; - fbwF = &DF[dM0M * numberOfLBnodesFine]; - fbeF = &DF[dP0M * numberOfLBnodesFine]; - ftwF = &DF[dM0P * numberOfLBnodesFine]; - ftnF = &DF[d0PP * numberOfLBnodesFine]; - fbsF = &DF[d0MM * numberOfLBnodesFine]; - fbnF = &DF[d0PM * numberOfLBnodesFine]; - ftsF = &DF[d0MP * numberOfLBnodesFine]; - fzeroF = &DF[d000 * numberOfLBnodesFine]; - ftneF = &DF[dPPP * numberOfLBnodesFine]; - ftswF = &DF[dMMP * numberOfLBnodesFine]; - ftseF = &DF[dPMP * numberOfLBnodesFine]; - ftnwF = &DF[dMPP * numberOfLBnodesFine]; - fbneF = &DF[dPPM * numberOfLBnodesFine]; - fbswF = &DF[dMMM * numberOfLBnodesFine]; - fbseF = &DF[dPMM * numberOfLBnodesFine]; - fbnwF = &DF[dMPM * numberOfLBnodesFine]; - - real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, *fzeroC, - *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; - - if (isEvenTimestep==true) - { - feC = &DC[dP00 * numberOfLBnodesCoarse]; - fwC = &DC[dM00 * numberOfLBnodesCoarse]; - fnC = &DC[d0P0 * numberOfLBnodesCoarse]; - fsC = &DC[d0M0 * numberOfLBnodesCoarse]; - ftC = &DC[d00P * numberOfLBnodesCoarse]; - fbC = &DC[d00M * numberOfLBnodesCoarse]; - fneC = &DC[dPP0 * numberOfLBnodesCoarse]; - fswC = &DC[dMM0 * numberOfLBnodesCoarse]; - fseC = &DC[dPM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dMP0 * numberOfLBnodesCoarse]; - fteC = &DC[dP0P * numberOfLBnodesCoarse]; - fbwC = &DC[dM0M * numberOfLBnodesCoarse]; - fbeC = &DC[dP0M * numberOfLBnodesCoarse]; - ftwC = &DC[dM0P * numberOfLBnodesCoarse]; - ftnC = &DC[d0PP * numberOfLBnodesCoarse]; - fbsC = &DC[d0MM * numberOfLBnodesCoarse]; - fbnC = &DC[d0PM * numberOfLBnodesCoarse]; - ftsC = &DC[d0MP * numberOfLBnodesCoarse]; - fzeroC = &DC[d000 * numberOfLBnodesCoarse]; - ftneC = &DC[dPPP * numberOfLBnodesCoarse]; - ftswC = &DC[dMMP * numberOfLBnodesCoarse]; - ftseC = &DC[dPMP * numberOfLBnodesCoarse]; - ftnwC = &DC[dMPP * numberOfLBnodesCoarse]; - fbneC = &DC[dPPM * numberOfLBnodesCoarse]; - fbswC = &DC[dMMM * numberOfLBnodesCoarse]; - fbseC = &DC[dPMM * numberOfLBnodesCoarse]; - fbnwC = &DC[dMPM * numberOfLBnodesCoarse]; - } - else - { - fwC = &DC[dP00 * numberOfLBnodesCoarse]; - feC = &DC[dM00 * numberOfLBnodesCoarse]; - fsC = &DC[d0P0 * numberOfLBnodesCoarse]; - fnC = &DC[d0M0 * numberOfLBnodesCoarse]; - fbC = &DC[d00P * numberOfLBnodesCoarse]; - ftC = &DC[d00M * numberOfLBnodesCoarse]; - fswC = &DC[dPP0 * numberOfLBnodesCoarse]; - fneC = &DC[dMM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dPM0 * numberOfLBnodesCoarse]; - fseC = &DC[dMP0 * numberOfLBnodesCoarse]; - fbwC = &DC[dP0P * numberOfLBnodesCoarse]; - fteC = &DC[dM0M * numberOfLBnodesCoarse]; - ftwC = &DC[dP0M * numberOfLBnodesCoarse]; - fbeC = &DC[dM0P * numberOfLBnodesCoarse]; - fbsC = &DC[d0PP * numberOfLBnodesCoarse]; - ftnC = &DC[d0MM * numberOfLBnodesCoarse]; - ftsC = &DC[d0PM * numberOfLBnodesCoarse]; - fbnC = &DC[d0MP * numberOfLBnodesCoarse]; - fzeroC = &DC[d000 * numberOfLBnodesCoarse]; - fbswC = &DC[dPPP * numberOfLBnodesCoarse]; - fbneC = &DC[dMMP * numberOfLBnodesCoarse]; - fbnwC = &DC[dPMP * numberOfLBnodesCoarse]; - fbseC = &DC[dMPP * numberOfLBnodesCoarse]; - ftswC = &DC[dPPM * numberOfLBnodesCoarse]; - ftneC = &DC[dMMM * numberOfLBnodesCoarse]; - ftnwC = &DC[dPMM * numberOfLBnodesCoarse]; - ftseC = &DC[dMPM * numberOfLBnodesCoarse]; - } - - //////////////////////////////////////////////////////////////////////////////// - const unsigned ix = threadIdx.x; // Globaler x-Index - const unsigned iy = blockIdx.x; // Globaler y-Index - const unsigned iz = blockIdx.y; // Globaler z-Index - - const unsigned nx = blockDim.x; - const unsigned ny = gridDim.x; - - const unsigned k = nx*(ny*iz + iy) + ix; - ////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////// - real eps_new = c1o2; - real omegaS = omCoarse;//-omCoarse; - real o = omFine;//-omFine; - //real op = one; - //real cu_sq; - - real xoff, yoff, zoff; - real xoff_sq, yoff_sq, zoff_sq; - - real press;//,drho,vx1,vx2,vx3; - real /*press_SWT,*/drho_SWT,vx1_SWT,vx2_SWT,vx3_SWT; - real /*press_NWT,*/drho_NWT,vx1_NWT,vx2_NWT,vx3_NWT; - real /*press_NET,*/drho_NET,vx1_NET,vx2_NET,vx3_NET; - real /*press_SET,*/drho_SET,vx1_SET,vx2_SET,vx3_SET; - real /*press_SWB,*/drho_SWB,vx1_SWB,vx2_SWB,vx3_SWB; - real /*press_NWB,*/drho_NWB,vx1_NWB,vx2_NWB,vx3_NWB; - real /*press_NEB,*/drho_NEB,vx1_NEB,vx2_NEB,vx3_NEB; - real /*press_SEB,*/drho_SEB,vx1_SEB,vx2_SEB,vx3_SEB; - real f_E,f_W,f_N,f_S,f_T,f_B,f_NE,f_SW,f_SE,f_NW,f_TE,f_BW,f_BE,f_TW,f_TN,f_BS,f_BN,f_TS,f_ZERO,f_TNE, f_TSW, f_TSE, f_TNW, f_BNE, f_BSW, f_BSE, f_BNW; - //real feq_E,feq_W,feq_N,feq_S,feq_T,feq_B,feq_NE,feq_SW,feq_SE,feq_NW,feq_TE,feq_BW,feq_BE,feq_TW,feq_TN,feq_BS,feq_BN,feq_TS,feq_ZERO,feq_TNE, feq_TSW, feq_TSE, feq_TNW, feq_BNE, feq_BSW, feq_BSE, feq_BNW; - real kxyFromfcNEQ_SWT, kyzFromfcNEQ_SWT, kxzFromfcNEQ_SWT, kxxMyyFromfcNEQ_SWT, kxxMzzFromfcNEQ_SWT; - real kxyFromfcNEQ_NWT, kyzFromfcNEQ_NWT, kxzFromfcNEQ_NWT, kxxMyyFromfcNEQ_NWT, kxxMzzFromfcNEQ_NWT; - real kxyFromfcNEQ_NET, kyzFromfcNEQ_NET, kxzFromfcNEQ_NET, kxxMyyFromfcNEQ_NET, kxxMzzFromfcNEQ_NET; - real kxyFromfcNEQ_SET, kyzFromfcNEQ_SET, kxzFromfcNEQ_SET, kxxMyyFromfcNEQ_SET, kxxMzzFromfcNEQ_SET; - real kxyFromfcNEQ_SWB, kyzFromfcNEQ_SWB, kxzFromfcNEQ_SWB, kxxMyyFromfcNEQ_SWB, kxxMzzFromfcNEQ_SWB; - real kxyFromfcNEQ_NWB, kyzFromfcNEQ_NWB, kxzFromfcNEQ_NWB, kxxMyyFromfcNEQ_NWB, kxxMzzFromfcNEQ_NWB; - real kxyFromfcNEQ_NEB, kyzFromfcNEQ_NEB, kxzFromfcNEQ_NEB, kxxMyyFromfcNEQ_NEB, kxxMzzFromfcNEQ_NEB; - real kxyFromfcNEQ_SEB, kyzFromfcNEQ_SEB, kxzFromfcNEQ_SEB, kxxMyyFromfcNEQ_SEB, kxxMzzFromfcNEQ_SEB; - real a0, ax, ay, az, axx, ayy, azz, axy, axz, ayz, b0, bx, by, bz, bxx, byy, bzz, bxy, bxz, byz, c0, cx, cy, cz, cxx, cyy, czz, cxy, cxz, cyz, axyz, bxyz, cxyz; - real d0, dx, dy, dz, dxy, dxz, dyz, dxyz; - real x,y,z; - ////////////////////////////////////////////////////////////////////////////////////// - real mfcbb, mfabb, mfbcb, mfbab, mfbbc, mfbba, mfccb, mfaab, mfcab, mfacb, mfcbc, mfaba, mfcba, mfabc, mfbcc, mfbaa, mfbca, mfbac, mfbbb, mfccc, mfaac, mfcac, mfacc, mfcca, mfaaa, mfcaa, mfaca; - //real wadjust; - //real qudricLimitP = 0.01f;// * 0.0001f; - //real qudricLimitM = 0.01f;// * 0.0001f; - //real qudricLimitD = 0.01f;// * 0.001f; - //real omega = omCoarse; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real m0, m1, m2, vvx, vvy, vvz, vx2, vy2, vz2, oMdrho; - real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz; - real NeqOn = c1o1; - real drho, rho; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //real OxxPyyPzz; - //real OxyyPxzz; - //real OxyyMxzz; - //real Oxyz ; - //real O4, O5, O6; - //real CUMcbb, CUMbcb, CUMbbc, CUMcca, CUMcac, CUMacc, CUMbcc, CUMcbc, CUMccb, CUMccc; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - - - if(k<kCF) - { - ////////////////////////////////////////////////////////////////////////// - xoff = offCF.x[k]; - yoff = offCF.y[k]; - zoff = offCF.z[k]; - xoff_sq = xoff * xoff; - yoff_sq = yoff * yoff; - zoff_sq = zoff * zoff; - ////////////////////////////////////////////////////////////////////////// - //SWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - unsigned int k0zero= posCSWB[k]; - unsigned int k0w = neighborCX[k0zero]; - unsigned int k0s = neighborCY[k0zero]; - unsigned int k0b = neighborCZ[k0zero]; - unsigned int k0sw = neighborCY[k0w]; - unsigned int k0bw = neighborCZ[k0w]; - unsigned int k0bs = neighborCZ[k0s]; - unsigned int k0bsw = neighborCZ[k0sw]; - ////////////////////////////////////////////////////////////////////////// - //index - unsigned int kzero= k0zero; - unsigned int kw = k0w; - unsigned int ks = k0s; - unsigned int kb = k0b; - unsigned int ksw = k0sw; - unsigned int kbw = k0bw; - unsigned int kbs = k0bs; - unsigned int kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - drho_SWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_SWB = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SWB); - vx2_SWB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWB); - vx3_SWB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWB); - - kxyFromfcNEQ_SWB = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx2_SWB))); - kyzFromfcNEQ_SWB = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SWB) - ((vx2_SWB*vx3_SWB))); - kxzFromfcNEQ_SWB = -c3o1*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx3_SWB))); - kxxMyyFromfcNEQ_SWB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx1_SWB-vx2_SWB*vx2_SWB))); - kxxMzzFromfcNEQ_SWB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx1_SWB-vx3_SWB*vx3_SWB))); - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - mfcbb = f_E ; - mfabb = f_W ; - mfbcb = f_N ; - mfbab = f_S ; - mfbbc = f_T ; - mfbba = f_B ; - mfccb = f_NE ; - mfaab = f_SW ; - mfcab = f_SE ; - mfacb = f_NW ; - mfcbc = f_TE ; - mfaba = f_BW ; - mfcba = f_BE ; - mfabc = f_TW ; - mfbcc = f_TN ; - mfbaa = f_BS ; - mfbca = f_BN ; - mfbac = f_TS ; - mfbbb = f_ZERO; - mfccc = f_TNE ; - mfaac = f_TSW ; - mfcac = f_TSE ; - mfacc = f_TNW ; - mfcca = f_BNE ; - mfaaa = f_BSW ; - mfcaa = f_BSE ; - mfaca = f_BNW ; - //////////////////////////////////////////////////////////////////////////////////// - drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + - (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) + - ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb; - - rho = c1o1+drho; - //////////////////////////////////////////////////////////////////////////////////// - vvx =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + - (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) + - (mfcbb-mfabb)) / rho; - vvy =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + - (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) + - (mfbcb-mfbab)) / rho; - vvz =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + - (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) + - (mfbbc-mfbba)) / rho; - //////////////////////////////////////////////////////////////////////////////////// - //fast - oMdrho = c1o1; // comp special - vx2=vvx*vvx; - vy2=vvy*vvy; - vz2=vvz*vvz; - //////////////////////////////////////////////////////////////////////////////////// - //Hin - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m2 = mfaaa + mfaac; - m1 = mfaac - mfaaa; - m0 = m2 + mfaab; - mfaaa = m0; - m0 += c1o36 * oMdrho; - mfaab = m1 - m0 * vvz; - mfaac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfabc; - m1 = mfabc - mfaba; - m0 = m2 + mfabb; - mfaba = m0; - m0 += c1o9 * oMdrho; - mfabb = m1 - m0 * vvz; - mfabc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfacc; - m1 = mfacc - mfaca; - m0 = m2 + mfacb; - mfaca = m0; - m0 += c1o36 * oMdrho; - mfacb = m1 - m0 * vvz; - mfacc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbac; - m1 = mfbac - mfbaa; - m0 = m2 + mfbab; - mfbaa = m0; - m0 += c1o9 * oMdrho; - mfbab = m1 - m0 * vvz; - mfbac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbba + mfbbc; - m1 = mfbbc - mfbba; - m0 = m2 + mfbbb; - mfbba = m0; - m0 += c4o9 * oMdrho; - mfbbb = m1 - m0 * vvz; - mfbbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbca + mfbcc; - m1 = mfbcc - mfbca; - m0 = m2 + mfbcb; - mfbca = m0; - m0 += c1o9 * oMdrho; - mfbcb = m1 - m0 * vvz; - mfbcc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcac; - m1 = mfcac - mfcaa; - m0 = m2 + mfcab; - mfcaa = m0; - m0 += c1o36 * oMdrho; - mfcab = m1 - m0 * vvz; - mfcac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcba + mfcbc; - m1 = mfcbc - mfcba; - m0 = m2 + mfcbb; - mfcba = m0; - m0 += c1o9 * oMdrho; - mfcbb = m1 - m0 * vvz; - mfcbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcca + mfccc; - m1 = mfccc - mfcca; - m0 = m2 + mfccb; - mfcca = m0; - m0 += c1o36 * oMdrho; - mfccb = m1 - m0 * vvz; - mfccc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m2 = mfaaa + mfaca; - m1 = mfaca - mfaaa; - m0 = m2 + mfaba; - mfaaa = m0; - m0 += c1o6 * oMdrho; - mfaba = m1 - m0 * vvy; - mfaca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfacb; - m1 = mfacb - mfaab; - m0 = m2 + mfabb; - mfaab = m0; - mfabb = m1 - m0 * vvy; - mfacb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfacc; - m1 = mfacc - mfaac; - m0 = m2 + mfabc; - mfaac = m0; - m0 += c1o18 * oMdrho; - mfabc = m1 - m0 * vvy; - mfacc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbca; - m1 = mfbca - mfbaa; - m0 = m2 + mfbba; - mfbaa = m0; - m0 += c2o3 * oMdrho; - mfbba = m1 - m0 * vvy; - mfbca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbab + mfbcb; - m1 = mfbcb - mfbab; - m0 = m2 + mfbbb; - mfbab = m0; - mfbbb = m1 - m0 * vvy; - mfbcb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbac + mfbcc; - m1 = mfbcc - mfbac; - m0 = m2 + mfbbc; - mfbac = m0; - m0 += c2o9 * oMdrho; - mfbbc = m1 - m0 * vvy; - mfbcc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcca; - m1 = mfcca - mfcaa; - m0 = m2 + mfcba; - mfcaa = m0; - m0 += c1o6 * oMdrho; - mfcba = m1 - m0 * vvy; - mfcca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcab + mfccb; - m1 = mfccb - mfcab; - m0 = m2 + mfcbb; - mfcab = m0; - mfcbb = m1 - m0 * vvy; - mfccb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcac + mfccc; - m1 = mfccc - mfcac; - m0 = m2 + mfcbc; - mfcac = m0; - m0 += c1o18 * oMdrho; - mfcbc = m1 - m0 * vvy; - mfccc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m2 = mfaaa + mfcaa; - m1 = mfcaa - mfaaa; - m0 = m2 + mfbaa; - mfaaa = m0; - m0 += c1o1* oMdrho; - mfbaa = m1 - m0 * vvx; - mfcaa = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfcba; - m1 = mfcba - mfaba; - m0 = m2 + mfbba; - mfaba = m0; - mfbba = m1 - m0 * vvx; - mfcba = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfcca; - m1 = mfcca - mfaca; - m0 = m2 + mfbca; - mfaca = m0; - m0 += c1o3 * oMdrho; - mfbca = m1 - m0 * vvx; - mfcca = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfcab; - m1 = mfcab - mfaab; - m0 = m2 + mfbab; - mfaab = m0; - mfbab = m1 - m0 * vvx; - mfcab = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabb + mfcbb; - m1 = mfcbb - mfabb; - m0 = m2 + mfbbb; - mfabb = m0; - mfbbb = m1 - m0 * vvx; - mfcbb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacb + mfccb; - m1 = mfccb - mfacb; - m0 = m2 + mfbcb; - mfacb = m0; - mfbcb = m1 - m0 * vvx; - mfccb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfcac; - m1 = mfcac - mfaac; - m0 = m2 + mfbac; - mfaac = m0; - m0 += c1o3 * oMdrho; - mfbac = m1 - m0 * vvx; - mfcac = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabc + mfcbc; - m1 = mfcbc - mfabc; - m0 = m2 + mfbbc; - mfabc = m0; - mfbbc = m1 - m0 * vvx; - mfcbc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacc + mfccc; - m1 = mfccc - mfacc; - m0 = m2 + mfbcc; - mfacc = m0; - m0 += c1o9 * oMdrho; - mfbcc = m1 - m0 * vvx; - mfccc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - // linear combinations - - mxxyPyzz = mfcba + mfabc; - mxxyMyzz = mfcba - mfabc; - - mxxzPyyz = mfcab + mfacb; - mxxzMyyz = mfcab - mfacb; - - mxyyPxzz = mfbca + mfbac; - mxyyMxzz = mfbca - mfbac; - - - ////////////////////////////////////////////////////////////////////////// - //exclusive for this source node - real mfbbb_SWB = mfbbb; - real mxxyPyzz_SWB = mxxyPyzz; - real mxxyMyzz_SWB = mxxyMyzz; - real mxxzPyyz_SWB = mxxzPyyz; - real mxxzMyyz_SWB = mxxzMyyz; - real mxyyPxzz_SWB = mxyyPxzz; - real mxyyMxzz_SWB = mxyyMxzz; - ////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ////////////////////////////////////////////////////////////////////////// - //SWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborCZ[kb]; - ksw = kbsw; - kbw = neighborCZ[kbw]; - kbs = neighborCZ[kbs]; - kbsw = neighborCZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - drho_SWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_SWT = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SWT); - vx2_SWT = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWT); - vx3_SWT = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWT); - - kxyFromfcNEQ_SWT = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx2_SWT))); - kyzFromfcNEQ_SWT = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SWT) - ((vx2_SWT*vx3_SWT))); - kxzFromfcNEQ_SWT = -c3o1*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx3_SWT))); - kxxMyyFromfcNEQ_SWT = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx1_SWT-vx2_SWT*vx2_SWT))); - kxxMzzFromfcNEQ_SWT = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx1_SWT-vx3_SWT*vx3_SWT))); - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - mfcbb = f_E ; - mfabb = f_W ; - mfbcb = f_N ; - mfbab = f_S ; - mfbbc = f_T ; - mfbba = f_B ; - mfccb = f_NE ; - mfaab = f_SW ; - mfcab = f_SE ; - mfacb = f_NW ; - mfcbc = f_TE ; - mfaba = f_BW ; - mfcba = f_BE ; - mfabc = f_TW ; - mfbcc = f_TN ; - mfbaa = f_BS ; - mfbca = f_BN ; - mfbac = f_TS ; - mfbbb = f_ZERO; - mfccc = f_TNE ; - mfaac = f_TSW ; - mfcac = f_TSE ; - mfacc = f_TNW ; - mfcca = f_BNE ; - mfaaa = f_BSW ; - mfcaa = f_BSE ; - mfaca = f_BNW ; - //////////////////////////////////////////////////////////////////////////////////// - drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + - (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) + - ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb; - - rho = c1o1+drho; - //////////////////////////////////////////////////////////////////////////////////// - vvx =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + - (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) + - (mfcbb-mfabb)) / rho; - vvy =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + - (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) + - (mfbcb-mfbab)) / rho; - vvz =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + - (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) + - (mfbbc-mfbba)) / rho; - //////////////////////////////////////////////////////////////////////////////////// - //fast - oMdrho = c1o1; // comp special - vx2=vvx*vvx; - vy2=vvy*vvy; - vz2=vvz*vvz; - //////////////////////////////////////////////////////////////////////////////////// - //Hin - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m2 = mfaaa + mfaac; - m1 = mfaac - mfaaa; - m0 = m2 + mfaab; - mfaaa = m0; - m0 += c1o36 * oMdrho; - mfaab = m1 - m0 * vvz; - mfaac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfabc; - m1 = mfabc - mfaba; - m0 = m2 + mfabb; - mfaba = m0; - m0 += c1o9 * oMdrho; - mfabb = m1 - m0 * vvz; - mfabc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfacc; - m1 = mfacc - mfaca; - m0 = m2 + mfacb; - mfaca = m0; - m0 += c1o36 * oMdrho; - mfacb = m1 - m0 * vvz; - mfacc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbac; - m1 = mfbac - mfbaa; - m0 = m2 + mfbab; - mfbaa = m0; - m0 += c1o9 * oMdrho; - mfbab = m1 - m0 * vvz; - mfbac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbba + mfbbc; - m1 = mfbbc - mfbba; - m0 = m2 + mfbbb; - mfbba = m0; - m0 += c4o9 * oMdrho; - mfbbb = m1 - m0 * vvz; - mfbbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbca + mfbcc; - m1 = mfbcc - mfbca; - m0 = m2 + mfbcb; - mfbca = m0; - m0 += c1o9 * oMdrho; - mfbcb = m1 - m0 * vvz; - mfbcc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcac; - m1 = mfcac - mfcaa; - m0 = m2 + mfcab; - mfcaa = m0; - m0 += c1o36 * oMdrho; - mfcab = m1 - m0 * vvz; - mfcac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcba + mfcbc; - m1 = mfcbc - mfcba; - m0 = m2 + mfcbb; - mfcba = m0; - m0 += c1o9 * oMdrho; - mfcbb = m1 - m0 * vvz; - mfcbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcca + mfccc; - m1 = mfccc - mfcca; - m0 = m2 + mfccb; - mfcca = m0; - m0 += c1o36 * oMdrho; - mfccb = m1 - m0 * vvz; - mfccc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m2 = mfaaa + mfaca; - m1 = mfaca - mfaaa; - m0 = m2 + mfaba; - mfaaa = m0; - m0 += c1o6 * oMdrho; - mfaba = m1 - m0 * vvy; - mfaca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfacb; - m1 = mfacb - mfaab; - m0 = m2 + mfabb; - mfaab = m0; - mfabb = m1 - m0 * vvy; - mfacb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfacc; - m1 = mfacc - mfaac; - m0 = m2 + mfabc; - mfaac = m0; - m0 += c1o18 * oMdrho; - mfabc = m1 - m0 * vvy; - mfacc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbca; - m1 = mfbca - mfbaa; - m0 = m2 + mfbba; - mfbaa = m0; - m0 += c2o3 * oMdrho; - mfbba = m1 - m0 * vvy; - mfbca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbab + mfbcb; - m1 = mfbcb - mfbab; - m0 = m2 + mfbbb; - mfbab = m0; - mfbbb = m1 - m0 * vvy; - mfbcb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbac + mfbcc; - m1 = mfbcc - mfbac; - m0 = m2 + mfbbc; - mfbac = m0; - m0 += c2o9 * oMdrho; - mfbbc = m1 - m0 * vvy; - mfbcc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcca; - m1 = mfcca - mfcaa; - m0 = m2 + mfcba; - mfcaa = m0; - m0 += c1o6 * oMdrho; - mfcba = m1 - m0 * vvy; - mfcca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcab + mfccb; - m1 = mfccb - mfcab; - m0 = m2 + mfcbb; - mfcab = m0; - mfcbb = m1 - m0 * vvy; - mfccb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcac + mfccc; - m1 = mfccc - mfcac; - m0 = m2 + mfcbc; - mfcac = m0; - m0 += c1o18 * oMdrho; - mfcbc = m1 - m0 * vvy; - mfccc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m2 = mfaaa + mfcaa; - m1 = mfcaa - mfaaa; - m0 = m2 + mfbaa; - mfaaa = m0; - m0 += c1o1* oMdrho; - mfbaa = m1 - m0 * vvx; - mfcaa = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfcba; - m1 = mfcba - mfaba; - m0 = m2 + mfbba; - mfaba = m0; - mfbba = m1 - m0 * vvx; - mfcba = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfcca; - m1 = mfcca - mfaca; - m0 = m2 + mfbca; - mfaca = m0; - m0 += c1o3 * oMdrho; - mfbca = m1 - m0 * vvx; - mfcca = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfcab; - m1 = mfcab - mfaab; - m0 = m2 + mfbab; - mfaab = m0; - mfbab = m1 - m0 * vvx; - mfcab = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabb + mfcbb; - m1 = mfcbb - mfabb; - m0 = m2 + mfbbb; - mfabb = m0; - mfbbb = m1 - m0 * vvx; - mfcbb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacb + mfccb; - m1 = mfccb - mfacb; - m0 = m2 + mfbcb; - mfacb = m0; - mfbcb = m1 - m0 * vvx; - mfccb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfcac; - m1 = mfcac - mfaac; - m0 = m2 + mfbac; - mfaac = m0; - m0 += c1o3 * oMdrho; - mfbac = m1 - m0 * vvx; - mfcac = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabc + mfcbc; - m1 = mfcbc - mfabc; - m0 = m2 + mfbbc; - mfabc = m0; - mfbbc = m1 - m0 * vvx; - mfcbc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacc + mfccc; - m1 = mfccc - mfacc; - m0 = m2 + mfbcc; - mfacc = m0; - m0 += c1o9 * oMdrho; - mfbcc = m1 - m0 * vvx; - mfccc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - // linear combinations - - mxxyPyzz = mfcba + mfabc; - mxxyMyzz = mfcba - mfabc; - - mxxzPyyz = mfcab + mfacb; - mxxzMyyz = mfcab - mfacb; - - mxyyPxzz = mfbca + mfbac; - mxyyMxzz = mfbca - mfbac; - - - ////////////////////////////////////////////////////////////////////////// - //exclusive for this source node - real mfbbb_SWT = mfbbb; - real mxxyPyzz_SWT = mxxyPyzz; - real mxxyMyzz_SWT = mxxyMyzz; - real mxxzPyyz_SWT = mxxzPyyz; - real mxxzMyyz_SWT = mxxzMyyz; - real mxyyPxzz_SWT = mxyyPxzz; - real mxyyMxzz_SWT = mxyyMxzz; - ////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ////////////////////////////////////////////////////////////////////////// - //SET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborCX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborCX[ksw]; - kbw = neighborCX[kbw]; - kbs = kbsw; - kbsw = neighborCX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - drho_SET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_SET = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SET); - vx2_SET = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SET); - vx3_SET = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SET); - - kxyFromfcNEQ_SET = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SET) - ((vx1_SET*vx2_SET))); - kyzFromfcNEQ_SET = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SET) - ((vx2_SET*vx3_SET))); - kxzFromfcNEQ_SET = -c3o1*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_SET) - ((vx1_SET*vx3_SET))); - kxxMyyFromfcNEQ_SET = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (c1o1 + drho_SET) - ((vx1_SET*vx1_SET-vx2_SET*vx2_SET))); - kxxMzzFromfcNEQ_SET = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (c1o1 + drho_SET) - ((vx1_SET*vx1_SET-vx3_SET*vx3_SET))); - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - mfcbb = f_E ; - mfabb = f_W ; - mfbcb = f_N ; - mfbab = f_S ; - mfbbc = f_T ; - mfbba = f_B ; - mfccb = f_NE ; - mfaab = f_SW ; - mfcab = f_SE ; - mfacb = f_NW ; - mfcbc = f_TE ; - mfaba = f_BW ; - mfcba = f_BE ; - mfabc = f_TW ; - mfbcc = f_TN ; - mfbaa = f_BS ; - mfbca = f_BN ; - mfbac = f_TS ; - mfbbb = f_ZERO; - mfccc = f_TNE ; - mfaac = f_TSW ; - mfcac = f_TSE ; - mfacc = f_TNW ; - mfcca = f_BNE ; - mfaaa = f_BSW ; - mfcaa = f_BSE ; - mfaca = f_BNW ; - //////////////////////////////////////////////////////////////////////////////////// - drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + - (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) + - ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb; - - rho = c1o1+drho; - //////////////////////////////////////////////////////////////////////////////////// - vvx =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + - (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) + - (mfcbb-mfabb)) / rho; - vvy =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + - (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) + - (mfbcb-mfbab)) / rho; - vvz =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + - (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) + - (mfbbc-mfbba)) / rho; - //////////////////////////////////////////////////////////////////////////////////// - //fast - oMdrho = c1o1; // comp special - vx2=vvx*vvx; - vy2=vvy*vvy; - vz2=vvz*vvz; - //////////////////////////////////////////////////////////////////////////////////// - //Hin - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m2 = mfaaa + mfaac; - m1 = mfaac - mfaaa; - m0 = m2 + mfaab; - mfaaa = m0; - m0 += c1o36 * oMdrho; - mfaab = m1 - m0 * vvz; - mfaac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfabc; - m1 = mfabc - mfaba; - m0 = m2 + mfabb; - mfaba = m0; - m0 += c1o9 * oMdrho; - mfabb = m1 - m0 * vvz; - mfabc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfacc; - m1 = mfacc - mfaca; - m0 = m2 + mfacb; - mfaca = m0; - m0 += c1o36 * oMdrho; - mfacb = m1 - m0 * vvz; - mfacc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbac; - m1 = mfbac - mfbaa; - m0 = m2 + mfbab; - mfbaa = m0; - m0 += c1o9 * oMdrho; - mfbab = m1 - m0 * vvz; - mfbac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbba + mfbbc; - m1 = mfbbc - mfbba; - m0 = m2 + mfbbb; - mfbba = m0; - m0 += c4o9 * oMdrho; - mfbbb = m1 - m0 * vvz; - mfbbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbca + mfbcc; - m1 = mfbcc - mfbca; - m0 = m2 + mfbcb; - mfbca = m0; - m0 += c1o9 * oMdrho; - mfbcb = m1 - m0 * vvz; - mfbcc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcac; - m1 = mfcac - mfcaa; - m0 = m2 + mfcab; - mfcaa = m0; - m0 += c1o36 * oMdrho; - mfcab = m1 - m0 * vvz; - mfcac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcba + mfcbc; - m1 = mfcbc - mfcba; - m0 = m2 + mfcbb; - mfcba = m0; - m0 += c1o9 * oMdrho; - mfcbb = m1 - m0 * vvz; - mfcbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcca + mfccc; - m1 = mfccc - mfcca; - m0 = m2 + mfccb; - mfcca = m0; - m0 += c1o36 * oMdrho; - mfccb = m1 - m0 * vvz; - mfccc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m2 = mfaaa + mfaca; - m1 = mfaca - mfaaa; - m0 = m2 + mfaba; - mfaaa = m0; - m0 += c1o6 * oMdrho; - mfaba = m1 - m0 * vvy; - mfaca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfacb; - m1 = mfacb - mfaab; - m0 = m2 + mfabb; - mfaab = m0; - mfabb = m1 - m0 * vvy; - mfacb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfacc; - m1 = mfacc - mfaac; - m0 = m2 + mfabc; - mfaac = m0; - m0 += c1o18 * oMdrho; - mfabc = m1 - m0 * vvy; - mfacc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbca; - m1 = mfbca - mfbaa; - m0 = m2 + mfbba; - mfbaa = m0; - m0 += c2o3 * oMdrho; - mfbba = m1 - m0 * vvy; - mfbca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbab + mfbcb; - m1 = mfbcb - mfbab; - m0 = m2 + mfbbb; - mfbab = m0; - mfbbb = m1 - m0 * vvy; - mfbcb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbac + mfbcc; - m1 = mfbcc - mfbac; - m0 = m2 + mfbbc; - mfbac = m0; - m0 += c2o9 * oMdrho; - mfbbc = m1 - m0 * vvy; - mfbcc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcca; - m1 = mfcca - mfcaa; - m0 = m2 + mfcba; - mfcaa = m0; - m0 += c1o6 * oMdrho; - mfcba = m1 - m0 * vvy; - mfcca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcab + mfccb; - m1 = mfccb - mfcab; - m0 = m2 + mfcbb; - mfcab = m0; - mfcbb = m1 - m0 * vvy; - mfccb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcac + mfccc; - m1 = mfccc - mfcac; - m0 = m2 + mfcbc; - mfcac = m0; - m0 += c1o18 * oMdrho; - mfcbc = m1 - m0 * vvy; - mfccc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m2 = mfaaa + mfcaa; - m1 = mfcaa - mfaaa; - m0 = m2 + mfbaa; - mfaaa = m0; - m0 += c1o1* oMdrho; - mfbaa = m1 - m0 * vvx; - mfcaa = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfcba; - m1 = mfcba - mfaba; - m0 = m2 + mfbba; - mfaba = m0; - mfbba = m1 - m0 * vvx; - mfcba = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfcca; - m1 = mfcca - mfaca; - m0 = m2 + mfbca; - mfaca = m0; - m0 += c1o3 * oMdrho; - mfbca = m1 - m0 * vvx; - mfcca = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfcab; - m1 = mfcab - mfaab; - m0 = m2 + mfbab; - mfaab = m0; - mfbab = m1 - m0 * vvx; - mfcab = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabb + mfcbb; - m1 = mfcbb - mfabb; - m0 = m2 + mfbbb; - mfabb = m0; - mfbbb = m1 - m0 * vvx; - mfcbb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacb + mfccb; - m1 = mfccb - mfacb; - m0 = m2 + mfbcb; - mfacb = m0; - mfbcb = m1 - m0 * vvx; - mfccb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfcac; - m1 = mfcac - mfaac; - m0 = m2 + mfbac; - mfaac = m0; - m0 += c1o3 * oMdrho; - mfbac = m1 - m0 * vvx; - mfcac = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabc + mfcbc; - m1 = mfcbc - mfabc; - m0 = m2 + mfbbc; - mfabc = m0; - mfbbc = m1 - m0 * vvx; - mfcbc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacc + mfccc; - m1 = mfccc - mfacc; - m0 = m2 + mfbcc; - mfacc = m0; - m0 += c1o9 * oMdrho; - mfbcc = m1 - m0 * vvx; - mfccc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - // linear combinations - - mxxyPyzz = mfcba + mfabc; - mxxyMyzz = mfcba - mfabc; - - mxxzPyyz = mfcab + mfacb; - mxxzMyyz = mfcab - mfacb; - - mxyyPxzz = mfbca + mfbac; - mxyyMxzz = mfbca - mfbac; - - - ////////////////////////////////////////////////////////////////////////// - //exclusive for this source node - real mfbbb_SET = mfbbb; - real mxxyPyzz_SET = mxxyPyzz; - real mxxyMyzz_SET = mxxyMyzz; - real mxxzPyyz_SET = mxxzPyyz; - real mxxzMyyz_SET = mxxzMyyz; - real mxyyPxzz_SET = mxyyPxzz; - real mxyyMxzz_SET = mxyyMxzz; - ////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ////////////////////////////////////////////////////////////////////////// - //SEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborCX[k0w]; - ks = k0sw; - ksw = neighborCX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - drho_SEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_SEB = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SEB); - vx2_SEB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SEB); - vx3_SEB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SEB); - - kxyFromfcNEQ_SEB = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx2_SEB))); - kyzFromfcNEQ_SEB = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SEB) - ((vx2_SEB*vx3_SEB))); - kxzFromfcNEQ_SEB = -c3o1*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx3_SEB))); - kxxMyyFromfcNEQ_SEB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx1_SEB-vx2_SEB*vx2_SEB))); - kxxMzzFromfcNEQ_SEB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx1_SEB-vx3_SEB*vx3_SEB))); - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - mfcbb = f_E ; - mfabb = f_W ; - mfbcb = f_N ; - mfbab = f_S ; - mfbbc = f_T ; - mfbba = f_B ; - mfccb = f_NE ; - mfaab = f_SW ; - mfcab = f_SE ; - mfacb = f_NW ; - mfcbc = f_TE ; - mfaba = f_BW ; - mfcba = f_BE ; - mfabc = f_TW ; - mfbcc = f_TN ; - mfbaa = f_BS ; - mfbca = f_BN ; - mfbac = f_TS ; - mfbbb = f_ZERO; - mfccc = f_TNE ; - mfaac = f_TSW ; - mfcac = f_TSE ; - mfacc = f_TNW ; - mfcca = f_BNE ; - mfaaa = f_BSW ; - mfcaa = f_BSE ; - mfaca = f_BNW ; - //////////////////////////////////////////////////////////////////////////////////// - drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + - (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) + - ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb; - - rho = c1o1+drho; - //////////////////////////////////////////////////////////////////////////////////// - vvx =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + - (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) + - (mfcbb-mfabb)) / rho; - vvy =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + - (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) + - (mfbcb-mfbab)) / rho; - vvz =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + - (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) + - (mfbbc-mfbba)) / rho; - //////////////////////////////////////////////////////////////////////////////////// - //fast - oMdrho = c1o1; // comp special - vx2=vvx*vvx; - vy2=vvy*vvy; - vz2=vvz*vvz; - //////////////////////////////////////////////////////////////////////////////////// - //Hin - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m2 = mfaaa + mfaac; - m1 = mfaac - mfaaa; - m0 = m2 + mfaab; - mfaaa = m0; - m0 += c1o36 * oMdrho; - mfaab = m1 - m0 * vvz; - mfaac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfabc; - m1 = mfabc - mfaba; - m0 = m2 + mfabb; - mfaba = m0; - m0 += c1o9 * oMdrho; - mfabb = m1 - m0 * vvz; - mfabc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfacc; - m1 = mfacc - mfaca; - m0 = m2 + mfacb; - mfaca = m0; - m0 += c1o36 * oMdrho; - mfacb = m1 - m0 * vvz; - mfacc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbac; - m1 = mfbac - mfbaa; - m0 = m2 + mfbab; - mfbaa = m0; - m0 += c1o9 * oMdrho; - mfbab = m1 - m0 * vvz; - mfbac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbba + mfbbc; - m1 = mfbbc - mfbba; - m0 = m2 + mfbbb; - mfbba = m0; - m0 += c4o9 * oMdrho; - mfbbb = m1 - m0 * vvz; - mfbbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbca + mfbcc; - m1 = mfbcc - mfbca; - m0 = m2 + mfbcb; - mfbca = m0; - m0 += c1o9 * oMdrho; - mfbcb = m1 - m0 * vvz; - mfbcc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcac; - m1 = mfcac - mfcaa; - m0 = m2 + mfcab; - mfcaa = m0; - m0 += c1o36 * oMdrho; - mfcab = m1 - m0 * vvz; - mfcac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcba + mfcbc; - m1 = mfcbc - mfcba; - m0 = m2 + mfcbb; - mfcba = m0; - m0 += c1o9 * oMdrho; - mfcbb = m1 - m0 * vvz; - mfcbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcca + mfccc; - m1 = mfccc - mfcca; - m0 = m2 + mfccb; - mfcca = m0; - m0 += c1o36 * oMdrho; - mfccb = m1 - m0 * vvz; - mfccc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m2 = mfaaa + mfaca; - m1 = mfaca - mfaaa; - m0 = m2 + mfaba; - mfaaa = m0; - m0 += c1o6 * oMdrho; - mfaba = m1 - m0 * vvy; - mfaca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfacb; - m1 = mfacb - mfaab; - m0 = m2 + mfabb; - mfaab = m0; - mfabb = m1 - m0 * vvy; - mfacb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfacc; - m1 = mfacc - mfaac; - m0 = m2 + mfabc; - mfaac = m0; - m0 += c1o18 * oMdrho; - mfabc = m1 - m0 * vvy; - mfacc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbca; - m1 = mfbca - mfbaa; - m0 = m2 + mfbba; - mfbaa = m0; - m0 += c2o3 * oMdrho; - mfbba = m1 - m0 * vvy; - mfbca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbab + mfbcb; - m1 = mfbcb - mfbab; - m0 = m2 + mfbbb; - mfbab = m0; - mfbbb = m1 - m0 * vvy; - mfbcb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbac + mfbcc; - m1 = mfbcc - mfbac; - m0 = m2 + mfbbc; - mfbac = m0; - m0 += c2o9 * oMdrho; - mfbbc = m1 - m0 * vvy; - mfbcc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcca; - m1 = mfcca - mfcaa; - m0 = m2 + mfcba; - mfcaa = m0; - m0 += c1o6 * oMdrho; - mfcba = m1 - m0 * vvy; - mfcca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcab + mfccb; - m1 = mfccb - mfcab; - m0 = m2 + mfcbb; - mfcab = m0; - mfcbb = m1 - m0 * vvy; - mfccb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcac + mfccc; - m1 = mfccc - mfcac; - m0 = m2 + mfcbc; - mfcac = m0; - m0 += c1o18 * oMdrho; - mfcbc = m1 - m0 * vvy; - mfccc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m2 = mfaaa + mfcaa; - m1 = mfcaa - mfaaa; - m0 = m2 + mfbaa; - mfaaa = m0; - m0 += c1o1* oMdrho; - mfbaa = m1 - m0 * vvx; - mfcaa = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfcba; - m1 = mfcba - mfaba; - m0 = m2 + mfbba; - mfaba = m0; - mfbba = m1 - m0 * vvx; - mfcba = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfcca; - m1 = mfcca - mfaca; - m0 = m2 + mfbca; - mfaca = m0; - m0 += c1o3 * oMdrho; - mfbca = m1 - m0 * vvx; - mfcca = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfcab; - m1 = mfcab - mfaab; - m0 = m2 + mfbab; - mfaab = m0; - mfbab = m1 - m0 * vvx; - mfcab = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabb + mfcbb; - m1 = mfcbb - mfabb; - m0 = m2 + mfbbb; - mfabb = m0; - mfbbb = m1 - m0 * vvx; - mfcbb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacb + mfccb; - m1 = mfccb - mfacb; - m0 = m2 + mfbcb; - mfacb = m0; - mfbcb = m1 - m0 * vvx; - mfccb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfcac; - m1 = mfcac - mfaac; - m0 = m2 + mfbac; - mfaac = m0; - m0 += c1o3 * oMdrho; - mfbac = m1 - m0 * vvx; - mfcac = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabc + mfcbc; - m1 = mfcbc - mfabc; - m0 = m2 + mfbbc; - mfabc = m0; - mfbbc = m1 - m0 * vvx; - mfcbc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacc + mfccc; - m1 = mfccc - mfacc; - m0 = m2 + mfbcc; - mfacc = m0; - m0 += c1o9 * oMdrho; - mfbcc = m1 - m0 * vvx; - mfccc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - // linear combinations - - mxxyPyzz = mfcba + mfabc; - mxxyMyzz = mfcba - mfabc; - - mxxzPyyz = mfcab + mfacb; - mxxzMyyz = mfcab - mfacb; - - mxyyPxzz = mfbca + mfbac; - mxyyMxzz = mfbca - mfbac; - - - ////////////////////////////////////////////////////////////////////////// - //exclusive for this source node - real mfbbb_SEB = mfbbb; - real mxxyPyzz_SEB = mxxyPyzz; - real mxxyMyzz_SEB = mxxyMyzz; - real mxxzPyyz_SEB = mxxzPyyz; - real mxxzMyyz_SEB = mxxzMyyz; - real mxyyPxzz_SEB = mxyyPxzz; - real mxyyMxzz_SEB = mxyyMxzz; - ////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ////////////////////////////////////////////////////////////////////////// - //NWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= k0s; - k0w = k0sw; - k0s = neighborCY[k0s]; - k0b = k0bs; - k0sw = neighborCY[k0sw]; - k0bw = k0bsw; - k0bs = neighborCY[k0bs]; - k0bsw = neighborCY[k0bsw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - drho_NWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_NWB = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NWB); - vx2_NWB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWB); - vx3_NWB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWB); - - kxyFromfcNEQ_NWB = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx2_NWB))); - kyzFromfcNEQ_NWB = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NWB) - ((vx2_NWB*vx3_NWB))); - kxzFromfcNEQ_NWB = -c3o1*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx3_NWB))); - kxxMyyFromfcNEQ_NWB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx1_NWB-vx2_NWB*vx2_NWB))); - kxxMzzFromfcNEQ_NWB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx1_NWB-vx3_NWB*vx3_NWB))); - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - mfcbb = f_E ; - mfabb = f_W ; - mfbcb = f_N ; - mfbab = f_S ; - mfbbc = f_T ; - mfbba = f_B ; - mfccb = f_NE ; - mfaab = f_SW ; - mfcab = f_SE ; - mfacb = f_NW ; - mfcbc = f_TE ; - mfaba = f_BW ; - mfcba = f_BE ; - mfabc = f_TW ; - mfbcc = f_TN ; - mfbaa = f_BS ; - mfbca = f_BN ; - mfbac = f_TS ; - mfbbb = f_ZERO; - mfccc = f_TNE ; - mfaac = f_TSW ; - mfcac = f_TSE ; - mfacc = f_TNW ; - mfcca = f_BNE ; - mfaaa = f_BSW ; - mfcaa = f_BSE ; - mfaca = f_BNW ; - //////////////////////////////////////////////////////////////////////////////////// - drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + - (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) + - ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb; - - rho = c1o1+drho; - //////////////////////////////////////////////////////////////////////////////////// - vvx =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + - (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) + - (mfcbb-mfabb)) / rho; - vvy =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + - (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) + - (mfbcb-mfbab)) / rho; - vvz =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + - (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) + - (mfbbc-mfbba)) / rho; - //////////////////////////////////////////////////////////////////////////////////// - //fast - oMdrho = c1o1; // comp special - vx2=vvx*vvx; - vy2=vvy*vvy; - vz2=vvz*vvz; - //////////////////////////////////////////////////////////////////////////////////// - //Hin - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m2 = mfaaa + mfaac; - m1 = mfaac - mfaaa; - m0 = m2 + mfaab; - mfaaa = m0; - m0 += c1o36 * oMdrho; - mfaab = m1 - m0 * vvz; - mfaac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfabc; - m1 = mfabc - mfaba; - m0 = m2 + mfabb; - mfaba = m0; - m0 += c1o9 * oMdrho; - mfabb = m1 - m0 * vvz; - mfabc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfacc; - m1 = mfacc - mfaca; - m0 = m2 + mfacb; - mfaca = m0; - m0 += c1o36 * oMdrho; - mfacb = m1 - m0 * vvz; - mfacc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbac; - m1 = mfbac - mfbaa; - m0 = m2 + mfbab; - mfbaa = m0; - m0 += c1o9 * oMdrho; - mfbab = m1 - m0 * vvz; - mfbac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbba + mfbbc; - m1 = mfbbc - mfbba; - m0 = m2 + mfbbb; - mfbba = m0; - m0 += c4o9 * oMdrho; - mfbbb = m1 - m0 * vvz; - mfbbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbca + mfbcc; - m1 = mfbcc - mfbca; - m0 = m2 + mfbcb; - mfbca = m0; - m0 += c1o9 * oMdrho; - mfbcb = m1 - m0 * vvz; - mfbcc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcac; - m1 = mfcac - mfcaa; - m0 = m2 + mfcab; - mfcaa = m0; - m0 += c1o36 * oMdrho; - mfcab = m1 - m0 * vvz; - mfcac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcba + mfcbc; - m1 = mfcbc - mfcba; - m0 = m2 + mfcbb; - mfcba = m0; - m0 += c1o9 * oMdrho; - mfcbb = m1 - m0 * vvz; - mfcbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcca + mfccc; - m1 = mfccc - mfcca; - m0 = m2 + mfccb; - mfcca = m0; - m0 += c1o36 * oMdrho; - mfccb = m1 - m0 * vvz; - mfccc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m2 = mfaaa + mfaca; - m1 = mfaca - mfaaa; - m0 = m2 + mfaba; - mfaaa = m0; - m0 += c1o6 * oMdrho; - mfaba = m1 - m0 * vvy; - mfaca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfacb; - m1 = mfacb - mfaab; - m0 = m2 + mfabb; - mfaab = m0; - mfabb = m1 - m0 * vvy; - mfacb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfacc; - m1 = mfacc - mfaac; - m0 = m2 + mfabc; - mfaac = m0; - m0 += c1o18 * oMdrho; - mfabc = m1 - m0 * vvy; - mfacc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbca; - m1 = mfbca - mfbaa; - m0 = m2 + mfbba; - mfbaa = m0; - m0 += c2o3 * oMdrho; - mfbba = m1 - m0 * vvy; - mfbca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbab + mfbcb; - m1 = mfbcb - mfbab; - m0 = m2 + mfbbb; - mfbab = m0; - mfbbb = m1 - m0 * vvy; - mfbcb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbac + mfbcc; - m1 = mfbcc - mfbac; - m0 = m2 + mfbbc; - mfbac = m0; - m0 += c2o9 * oMdrho; - mfbbc = m1 - m0 * vvy; - mfbcc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcca; - m1 = mfcca - mfcaa; - m0 = m2 + mfcba; - mfcaa = m0; - m0 += c1o6 * oMdrho; - mfcba = m1 - m0 * vvy; - mfcca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcab + mfccb; - m1 = mfccb - mfcab; - m0 = m2 + mfcbb; - mfcab = m0; - mfcbb = m1 - m0 * vvy; - mfccb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcac + mfccc; - m1 = mfccc - mfcac; - m0 = m2 + mfcbc; - mfcac = m0; - m0 += c1o18 * oMdrho; - mfcbc = m1 - m0 * vvy; - mfccc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m2 = mfaaa + mfcaa; - m1 = mfcaa - mfaaa; - m0 = m2 + mfbaa; - mfaaa = m0; - m0 += c1o1* oMdrho; - mfbaa = m1 - m0 * vvx; - mfcaa = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfcba; - m1 = mfcba - mfaba; - m0 = m2 + mfbba; - mfaba = m0; - mfbba = m1 - m0 * vvx; - mfcba = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfcca; - m1 = mfcca - mfaca; - m0 = m2 + mfbca; - mfaca = m0; - m0 += c1o3 * oMdrho; - mfbca = m1 - m0 * vvx; - mfcca = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfcab; - m1 = mfcab - mfaab; - m0 = m2 + mfbab; - mfaab = m0; - mfbab = m1 - m0 * vvx; - mfcab = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabb + mfcbb; - m1 = mfcbb - mfabb; - m0 = m2 + mfbbb; - mfabb = m0; - mfbbb = m1 - m0 * vvx; - mfcbb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacb + mfccb; - m1 = mfccb - mfacb; - m0 = m2 + mfbcb; - mfacb = m0; - mfbcb = m1 - m0 * vvx; - mfccb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfcac; - m1 = mfcac - mfaac; - m0 = m2 + mfbac; - mfaac = m0; - m0 += c1o3 * oMdrho; - mfbac = m1 - m0 * vvx; - mfcac = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabc + mfcbc; - m1 = mfcbc - mfabc; - m0 = m2 + mfbbc; - mfabc = m0; - mfbbc = m1 - m0 * vvx; - mfcbc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacc + mfccc; - m1 = mfccc - mfacc; - m0 = m2 + mfbcc; - mfacc = m0; - m0 += c1o9 * oMdrho; - mfbcc = m1 - m0 * vvx; - mfccc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - // linear combinations - - mxxyPyzz = mfcba + mfabc; - mxxyMyzz = mfcba - mfabc; - - mxxzPyyz = mfcab + mfacb; - mxxzMyyz = mfcab - mfacb; - - mxyyPxzz = mfbca + mfbac; - mxyyMxzz = mfbca - mfbac; - - - ////////////////////////////////////////////////////////////////////////// - //exclusive for this source node - real mfbbb_NWB = mfbbb; - real mxxyPyzz_NWB = mxxyPyzz; - real mxxyMyzz_NWB = mxxyMyzz; - real mxxzPyyz_NWB = mxxzPyyz; - real mxxzMyyz_NWB = mxxzMyyz; - real mxyyPxzz_NWB = mxyyPxzz; - real mxyyMxzz_NWB = mxyyMxzz; - ////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ////////////////////////////////////////////////////////////////////////// - //NWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborCZ[kb]; - ksw = kbsw; - kbw = neighborCZ[kbw]; - kbs = neighborCZ[kbs]; - kbsw = neighborCZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - drho_NWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_NWT = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NWT); - vx2_NWT = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWT); - vx3_NWT = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWT); - - kxyFromfcNEQ_NWT = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx2_NWT))); - kyzFromfcNEQ_NWT = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NWT) - ((vx2_NWT*vx3_NWT))); - kxzFromfcNEQ_NWT = -c3o1*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx3_NWT))); - kxxMyyFromfcNEQ_NWT = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx1_NWT-vx2_NWT*vx2_NWT))); - kxxMzzFromfcNEQ_NWT = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx1_NWT-vx3_NWT*vx3_NWT))); - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - mfcbb = f_E ; - mfabb = f_W ; - mfbcb = f_N ; - mfbab = f_S ; - mfbbc = f_T ; - mfbba = f_B ; - mfccb = f_NE ; - mfaab = f_SW ; - mfcab = f_SE ; - mfacb = f_NW ; - mfcbc = f_TE ; - mfaba = f_BW ; - mfcba = f_BE ; - mfabc = f_TW ; - mfbcc = f_TN ; - mfbaa = f_BS ; - mfbca = f_BN ; - mfbac = f_TS ; - mfbbb = f_ZERO; - mfccc = f_TNE ; - mfaac = f_TSW ; - mfcac = f_TSE ; - mfacc = f_TNW ; - mfcca = f_BNE ; - mfaaa = f_BSW ; - mfcaa = f_BSE ; - mfaca = f_BNW ; - //////////////////////////////////////////////////////////////////////////////////// - drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + - (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) + - ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb; - - rho = c1o1+drho; - //////////////////////////////////////////////////////////////////////////////////// - vvx =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + - (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) + - (mfcbb-mfabb)) / rho; - vvy =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + - (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) + - (mfbcb-mfbab)) / rho; - vvz =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + - (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) + - (mfbbc-mfbba)) / rho; - //////////////////////////////////////////////////////////////////////////////////// - //fast - oMdrho = c1o1; // comp special - vx2=vvx*vvx; - vy2=vvy*vvy; - vz2=vvz*vvz; - //////////////////////////////////////////////////////////////////////////////////// - //Hin - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m2 = mfaaa + mfaac; - m1 = mfaac - mfaaa; - m0 = m2 + mfaab; - mfaaa = m0; - m0 += c1o36 * oMdrho; - mfaab = m1 - m0 * vvz; - mfaac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfabc; - m1 = mfabc - mfaba; - m0 = m2 + mfabb; - mfaba = m0; - m0 += c1o9 * oMdrho; - mfabb = m1 - m0 * vvz; - mfabc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfacc; - m1 = mfacc - mfaca; - m0 = m2 + mfacb; - mfaca = m0; - m0 += c1o36 * oMdrho; - mfacb = m1 - m0 * vvz; - mfacc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbac; - m1 = mfbac - mfbaa; - m0 = m2 + mfbab; - mfbaa = m0; - m0 += c1o9 * oMdrho; - mfbab = m1 - m0 * vvz; - mfbac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbba + mfbbc; - m1 = mfbbc - mfbba; - m0 = m2 + mfbbb; - mfbba = m0; - m0 += c4o9 * oMdrho; - mfbbb = m1 - m0 * vvz; - mfbbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbca + mfbcc; - m1 = mfbcc - mfbca; - m0 = m2 + mfbcb; - mfbca = m0; - m0 += c1o9 * oMdrho; - mfbcb = m1 - m0 * vvz; - mfbcc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcac; - m1 = mfcac - mfcaa; - m0 = m2 + mfcab; - mfcaa = m0; - m0 += c1o36 * oMdrho; - mfcab = m1 - m0 * vvz; - mfcac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcba + mfcbc; - m1 = mfcbc - mfcba; - m0 = m2 + mfcbb; - mfcba = m0; - m0 += c1o9 * oMdrho; - mfcbb = m1 - m0 * vvz; - mfcbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcca + mfccc; - m1 = mfccc - mfcca; - m0 = m2 + mfccb; - mfcca = m0; - m0 += c1o36 * oMdrho; - mfccb = m1 - m0 * vvz; - mfccc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m2 = mfaaa + mfaca; - m1 = mfaca - mfaaa; - m0 = m2 + mfaba; - mfaaa = m0; - m0 += c1o6 * oMdrho; - mfaba = m1 - m0 * vvy; - mfaca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfacb; - m1 = mfacb - mfaab; - m0 = m2 + mfabb; - mfaab = m0; - mfabb = m1 - m0 * vvy; - mfacb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfacc; - m1 = mfacc - mfaac; - m0 = m2 + mfabc; - mfaac = m0; - m0 += c1o18 * oMdrho; - mfabc = m1 - m0 * vvy; - mfacc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbca; - m1 = mfbca - mfbaa; - m0 = m2 + mfbba; - mfbaa = m0; - m0 += c2o3 * oMdrho; - mfbba = m1 - m0 * vvy; - mfbca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbab + mfbcb; - m1 = mfbcb - mfbab; - m0 = m2 + mfbbb; - mfbab = m0; - mfbbb = m1 - m0 * vvy; - mfbcb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbac + mfbcc; - m1 = mfbcc - mfbac; - m0 = m2 + mfbbc; - mfbac = m0; - m0 += c2o9 * oMdrho; - mfbbc = m1 - m0 * vvy; - mfbcc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcca; - m1 = mfcca - mfcaa; - m0 = m2 + mfcba; - mfcaa = m0; - m0 += c1o6 * oMdrho; - mfcba = m1 - m0 * vvy; - mfcca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcab + mfccb; - m1 = mfccb - mfcab; - m0 = m2 + mfcbb; - mfcab = m0; - mfcbb = m1 - m0 * vvy; - mfccb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcac + mfccc; - m1 = mfccc - mfcac; - m0 = m2 + mfcbc; - mfcac = m0; - m0 += c1o18 * oMdrho; - mfcbc = m1 - m0 * vvy; - mfccc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m2 = mfaaa + mfcaa; - m1 = mfcaa - mfaaa; - m0 = m2 + mfbaa; - mfaaa = m0; - m0 += c1o1* oMdrho; - mfbaa = m1 - m0 * vvx; - mfcaa = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfcba; - m1 = mfcba - mfaba; - m0 = m2 + mfbba; - mfaba = m0; - mfbba = m1 - m0 * vvx; - mfcba = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfcca; - m1 = mfcca - mfaca; - m0 = m2 + mfbca; - mfaca = m0; - m0 += c1o3 * oMdrho; - mfbca = m1 - m0 * vvx; - mfcca = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfcab; - m1 = mfcab - mfaab; - m0 = m2 + mfbab; - mfaab = m0; - mfbab = m1 - m0 * vvx; - mfcab = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabb + mfcbb; - m1 = mfcbb - mfabb; - m0 = m2 + mfbbb; - mfabb = m0; - mfbbb = m1 - m0 * vvx; - mfcbb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacb + mfccb; - m1 = mfccb - mfacb; - m0 = m2 + mfbcb; - mfacb = m0; - mfbcb = m1 - m0 * vvx; - mfccb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfcac; - m1 = mfcac - mfaac; - m0 = m2 + mfbac; - mfaac = m0; - m0 += c1o3 * oMdrho; - mfbac = m1 - m0 * vvx; - mfcac = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabc + mfcbc; - m1 = mfcbc - mfabc; - m0 = m2 + mfbbc; - mfabc = m0; - mfbbc = m1 - m0 * vvx; - mfcbc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacc + mfccc; - m1 = mfccc - mfacc; - m0 = m2 + mfbcc; - mfacc = m0; - m0 += c1o9 * oMdrho; - mfbcc = m1 - m0 * vvx; - mfccc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - // linear combinations - - mxxyPyzz = mfcba + mfabc; - mxxyMyzz = mfcba - mfabc; - - mxxzPyyz = mfcab + mfacb; - mxxzMyyz = mfcab - mfacb; - - mxyyPxzz = mfbca + mfbac; - mxyyMxzz = mfbca - mfbac; - - - ////////////////////////////////////////////////////////////////////////// - //exclusive for this source node - real mfbbb_NWT = mfbbb; - real mxxyPyzz_NWT = mxxyPyzz; - real mxxyMyzz_NWT = mxxyMyzz; - real mxxzPyyz_NWT = mxxzPyyz; - real mxxzMyyz_NWT = mxxzMyyz; - real mxyyPxzz_NWT = mxyyPxzz; - real mxyyMxzz_NWT = mxyyMxzz; - ////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ////////////////////////////////////////////////////////////////////////// - //NET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborCX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborCX[ksw]; - kbw = neighborCX[kbw]; - kbs = kbsw; - kbsw = neighborCX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - drho_NET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_NET = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NET); - vx2_NET = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NET); - vx3_NET = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NET); - - kxyFromfcNEQ_NET = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NET) - ((vx1_NET*vx2_NET))); - kyzFromfcNEQ_NET = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NET) - ((vx2_NET*vx3_NET))); - kxzFromfcNEQ_NET = -c3o1*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_NET) - ((vx1_NET*vx3_NET))); - kxxMyyFromfcNEQ_NET = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (c1o1 + drho_NET) - ((vx1_NET*vx1_NET-vx2_NET*vx2_NET))); - kxxMzzFromfcNEQ_NET = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (c1o1 + drho_NET) - ((vx1_NET*vx1_NET-vx3_NET*vx3_NET))); - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - mfcbb = f_E ; - mfabb = f_W ; - mfbcb = f_N ; - mfbab = f_S ; - mfbbc = f_T ; - mfbba = f_B ; - mfccb = f_NE ; - mfaab = f_SW ; - mfcab = f_SE ; - mfacb = f_NW ; - mfcbc = f_TE ; - mfaba = f_BW ; - mfcba = f_BE ; - mfabc = f_TW ; - mfbcc = f_TN ; - mfbaa = f_BS ; - mfbca = f_BN ; - mfbac = f_TS ; - mfbbb = f_ZERO; - mfccc = f_TNE ; - mfaac = f_TSW ; - mfcac = f_TSE ; - mfacc = f_TNW ; - mfcca = f_BNE ; - mfaaa = f_BSW ; - mfcaa = f_BSE ; - mfaca = f_BNW ; - //////////////////////////////////////////////////////////////////////////////////// - drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + - (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) + - ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb; - - rho = c1o1+drho; - //////////////////////////////////////////////////////////////////////////////////// - vvx =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + - (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) + - (mfcbb-mfabb)) / rho; - vvy =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + - (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) + - (mfbcb-mfbab)) / rho; - vvz =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + - (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) + - (mfbbc-mfbba)) / rho; - //////////////////////////////////////////////////////////////////////////////////// - //fast - oMdrho = c1o1; // comp special - vx2=vvx*vvx; - vy2=vvy*vvy; - vz2=vvz*vvz; - //////////////////////////////////////////////////////////////////////////////////// - //Hin - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m2 = mfaaa + mfaac; - m1 = mfaac - mfaaa; - m0 = m2 + mfaab; - mfaaa = m0; - m0 += c1o36 * oMdrho; - mfaab = m1 - m0 * vvz; - mfaac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfabc; - m1 = mfabc - mfaba; - m0 = m2 + mfabb; - mfaba = m0; - m0 += c1o9 * oMdrho; - mfabb = m1 - m0 * vvz; - mfabc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfacc; - m1 = mfacc - mfaca; - m0 = m2 + mfacb; - mfaca = m0; - m0 += c1o36 * oMdrho; - mfacb = m1 - m0 * vvz; - mfacc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbac; - m1 = mfbac - mfbaa; - m0 = m2 + mfbab; - mfbaa = m0; - m0 += c1o9 * oMdrho; - mfbab = m1 - m0 * vvz; - mfbac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbba + mfbbc; - m1 = mfbbc - mfbba; - m0 = m2 + mfbbb; - mfbba = m0; - m0 += c4o9 * oMdrho; - mfbbb = m1 - m0 * vvz; - mfbbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbca + mfbcc; - m1 = mfbcc - mfbca; - m0 = m2 + mfbcb; - mfbca = m0; - m0 += c1o9 * oMdrho; - mfbcb = m1 - m0 * vvz; - mfbcc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcac; - m1 = mfcac - mfcaa; - m0 = m2 + mfcab; - mfcaa = m0; - m0 += c1o36 * oMdrho; - mfcab = m1 - m0 * vvz; - mfcac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcba + mfcbc; - m1 = mfcbc - mfcba; - m0 = m2 + mfcbb; - mfcba = m0; - m0 += c1o9 * oMdrho; - mfcbb = m1 - m0 * vvz; - mfcbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcca + mfccc; - m1 = mfccc - mfcca; - m0 = m2 + mfccb; - mfcca = m0; - m0 += c1o36 * oMdrho; - mfccb = m1 - m0 * vvz; - mfccc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m2 = mfaaa + mfaca; - m1 = mfaca - mfaaa; - m0 = m2 + mfaba; - mfaaa = m0; - m0 += c1o6 * oMdrho; - mfaba = m1 - m0 * vvy; - mfaca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfacb; - m1 = mfacb - mfaab; - m0 = m2 + mfabb; - mfaab = m0; - mfabb = m1 - m0 * vvy; - mfacb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfacc; - m1 = mfacc - mfaac; - m0 = m2 + mfabc; - mfaac = m0; - m0 += c1o18 * oMdrho; - mfabc = m1 - m0 * vvy; - mfacc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbca; - m1 = mfbca - mfbaa; - m0 = m2 + mfbba; - mfbaa = m0; - m0 += c2o3 * oMdrho; - mfbba = m1 - m0 * vvy; - mfbca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbab + mfbcb; - m1 = mfbcb - mfbab; - m0 = m2 + mfbbb; - mfbab = m0; - mfbbb = m1 - m0 * vvy; - mfbcb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbac + mfbcc; - m1 = mfbcc - mfbac; - m0 = m2 + mfbbc; - mfbac = m0; - m0 += c2o9 * oMdrho; - mfbbc = m1 - m0 * vvy; - mfbcc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcca; - m1 = mfcca - mfcaa; - m0 = m2 + mfcba; - mfcaa = m0; - m0 += c1o6 * oMdrho; - mfcba = m1 - m0 * vvy; - mfcca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcab + mfccb; - m1 = mfccb - mfcab; - m0 = m2 + mfcbb; - mfcab = m0; - mfcbb = m1 - m0 * vvy; - mfccb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcac + mfccc; - m1 = mfccc - mfcac; - m0 = m2 + mfcbc; - mfcac = m0; - m0 += c1o18 * oMdrho; - mfcbc = m1 - m0 * vvy; - mfccc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m2 = mfaaa + mfcaa; - m1 = mfcaa - mfaaa; - m0 = m2 + mfbaa; - mfaaa = m0; - m0 += c1o1* oMdrho; - mfbaa = m1 - m0 * vvx; - mfcaa = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfcba; - m1 = mfcba - mfaba; - m0 = m2 + mfbba; - mfaba = m0; - mfbba = m1 - m0 * vvx; - mfcba = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfcca; - m1 = mfcca - mfaca; - m0 = m2 + mfbca; - mfaca = m0; - m0 += c1o3 * oMdrho; - mfbca = m1 - m0 * vvx; - mfcca = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfcab; - m1 = mfcab - mfaab; - m0 = m2 + mfbab; - mfaab = m0; - mfbab = m1 - m0 * vvx; - mfcab = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabb + mfcbb; - m1 = mfcbb - mfabb; - m0 = m2 + mfbbb; - mfabb = m0; - mfbbb = m1 - m0 * vvx; - mfcbb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacb + mfccb; - m1 = mfccb - mfacb; - m0 = m2 + mfbcb; - mfacb = m0; - mfbcb = m1 - m0 * vvx; - mfccb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfcac; - m1 = mfcac - mfaac; - m0 = m2 + mfbac; - mfaac = m0; - m0 += c1o3 * oMdrho; - mfbac = m1 - m0 * vvx; - mfcac = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabc + mfcbc; - m1 = mfcbc - mfabc; - m0 = m2 + mfbbc; - mfabc = m0; - mfbbc = m1 - m0 * vvx; - mfcbc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacc + mfccc; - m1 = mfccc - mfacc; - m0 = m2 + mfbcc; - mfacc = m0; - m0 += c1o9 * oMdrho; - mfbcc = m1 - m0 * vvx; - mfccc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - // linear combinations - - mxxyPyzz = mfcba + mfabc; - mxxyMyzz = mfcba - mfabc; - - mxxzPyyz = mfcab + mfacb; - mxxzMyyz = mfcab - mfacb; - - mxyyPxzz = mfbca + mfbac; - mxyyMxzz = mfbca - mfbac; - - - ////////////////////////////////////////////////////////////////////////// - //exclusive for this source node - real mfbbb_NET = mfbbb; - real mxxyPyzz_NET = mxxyPyzz; - real mxxyMyzz_NET = mxxyMyzz; - real mxxzPyyz_NET = mxxzPyyz; - real mxxzMyyz_NET = mxxzMyyz; - real mxyyPxzz_NET = mxyyPxzz; - real mxyyMxzz_NET = mxyyMxzz; - ////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ////////////////////////////////////////////////////////////////////////// - //NEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborCX[k0w]; - ks = k0sw; - ksw = neighborCX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - drho_NEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_NEB = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NEB); - vx2_NEB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NEB); - vx3_NEB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NEB); - - kxyFromfcNEQ_NEB = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx2_NEB))); - kyzFromfcNEQ_NEB = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NEB) - ((vx2_NEB*vx3_NEB))); - kxzFromfcNEQ_NEB = -c3o1*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx3_NEB))); - kxxMyyFromfcNEQ_NEB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx1_NEB-vx2_NEB*vx2_NEB))); - kxxMzzFromfcNEQ_NEB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx1_NEB-vx3_NEB*vx3_NEB))); - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - mfcbb = f_E ; - mfabb = f_W ; - mfbcb = f_N ; - mfbab = f_S ; - mfbbc = f_T ; - mfbba = f_B ; - mfccb = f_NE ; - mfaab = f_SW ; - mfcab = f_SE ; - mfacb = f_NW ; - mfcbc = f_TE ; - mfaba = f_BW ; - mfcba = f_BE ; - mfabc = f_TW ; - mfbcc = f_TN ; - mfbaa = f_BS ; - mfbca = f_BN ; - mfbac = f_TS ; - mfbbb = f_ZERO; - mfccc = f_TNE ; - mfaac = f_TSW ; - mfcac = f_TSE ; - mfacc = f_TNW ; - mfcca = f_BNE ; - mfaaa = f_BSW ; - mfcaa = f_BSE ; - mfaca = f_BNW ; - //////////////////////////////////////////////////////////////////////////////////// - drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + - (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) + - ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb; - - rho = c1o1+drho; - //////////////////////////////////////////////////////////////////////////////////// - vvx =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + - (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) + - (mfcbb-mfabb)) / rho; - vvy =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + - (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) + - (mfbcb-mfbab)) / rho; - vvz =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + - (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) + - (mfbbc-mfbba)) / rho; - //////////////////////////////////////////////////////////////////////////////////// - //fast - oMdrho = c1o1; // comp special - vx2=vvx*vvx; - vy2=vvy*vvy; - vz2=vvz*vvz; - //////////////////////////////////////////////////////////////////////////////////// - //Hin - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m2 = mfaaa + mfaac; - m1 = mfaac - mfaaa; - m0 = m2 + mfaab; - mfaaa = m0; - m0 += c1o36 * oMdrho; - mfaab = m1 - m0 * vvz; - mfaac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfabc; - m1 = mfabc - mfaba; - m0 = m2 + mfabb; - mfaba = m0; - m0 += c1o9 * oMdrho; - mfabb = m1 - m0 * vvz; - mfabc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfacc; - m1 = mfacc - mfaca; - m0 = m2 + mfacb; - mfaca = m0; - m0 += c1o36 * oMdrho; - mfacb = m1 - m0 * vvz; - mfacc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbac; - m1 = mfbac - mfbaa; - m0 = m2 + mfbab; - mfbaa = m0; - m0 += c1o9 * oMdrho; - mfbab = m1 - m0 * vvz; - mfbac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbba + mfbbc; - m1 = mfbbc - mfbba; - m0 = m2 + mfbbb; - mfbba = m0; - m0 += c4o9 * oMdrho; - mfbbb = m1 - m0 * vvz; - mfbbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbca + mfbcc; - m1 = mfbcc - mfbca; - m0 = m2 + mfbcb; - mfbca = m0; - m0 += c1o9 * oMdrho; - mfbcb = m1 - m0 * vvz; - mfbcc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcac; - m1 = mfcac - mfcaa; - m0 = m2 + mfcab; - mfcaa = m0; - m0 += c1o36 * oMdrho; - mfcab = m1 - m0 * vvz; - mfcac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcba + mfcbc; - m1 = mfcbc - mfcba; - m0 = m2 + mfcbb; - mfcba = m0; - m0 += c1o9 * oMdrho; - mfcbb = m1 - m0 * vvz; - mfcbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcca + mfccc; - m1 = mfccc - mfcca; - m0 = m2 + mfccb; - mfcca = m0; - m0 += c1o36 * oMdrho; - mfccb = m1 - m0 * vvz; - mfccc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m2 = mfaaa + mfaca; - m1 = mfaca - mfaaa; - m0 = m2 + mfaba; - mfaaa = m0; - m0 += c1o6 * oMdrho; - mfaba = m1 - m0 * vvy; - mfaca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfacb; - m1 = mfacb - mfaab; - m0 = m2 + mfabb; - mfaab = m0; - mfabb = m1 - m0 * vvy; - mfacb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfacc; - m1 = mfacc - mfaac; - m0 = m2 + mfabc; - mfaac = m0; - m0 += c1o18 * oMdrho; - mfabc = m1 - m0 * vvy; - mfacc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbca; - m1 = mfbca - mfbaa; - m0 = m2 + mfbba; - mfbaa = m0; - m0 += c2o3 * oMdrho; - mfbba = m1 - m0 * vvy; - mfbca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbab + mfbcb; - m1 = mfbcb - mfbab; - m0 = m2 + mfbbb; - mfbab = m0; - mfbbb = m1 - m0 * vvy; - mfbcb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbac + mfbcc; - m1 = mfbcc - mfbac; - m0 = m2 + mfbbc; - mfbac = m0; - m0 += c2o9 * oMdrho; - mfbbc = m1 - m0 * vvy; - mfbcc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcca; - m1 = mfcca - mfcaa; - m0 = m2 + mfcba; - mfcaa = m0; - m0 += c1o6 * oMdrho; - mfcba = m1 - m0 * vvy; - mfcca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcab + mfccb; - m1 = mfccb - mfcab; - m0 = m2 + mfcbb; - mfcab = m0; - mfcbb = m1 - m0 * vvy; - mfccb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcac + mfccc; - m1 = mfccc - mfcac; - m0 = m2 + mfcbc; - mfcac = m0; - m0 += c1o18 * oMdrho; - mfcbc = m1 - m0 * vvy; - mfccc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m2 = mfaaa + mfcaa; - m1 = mfcaa - mfaaa; - m0 = m2 + mfbaa; - mfaaa = m0; - m0 += c1o1* oMdrho; - mfbaa = m1 - m0 * vvx; - mfcaa = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfcba; - m1 = mfcba - mfaba; - m0 = m2 + mfbba; - mfaba = m0; - mfbba = m1 - m0 * vvx; - mfcba = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfcca; - m1 = mfcca - mfaca; - m0 = m2 + mfbca; - mfaca = m0; - m0 += c1o3 * oMdrho; - mfbca = m1 - m0 * vvx; - mfcca = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfcab; - m1 = mfcab - mfaab; - m0 = m2 + mfbab; - mfaab = m0; - mfbab = m1 - m0 * vvx; - mfcab = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabb + mfcbb; - m1 = mfcbb - mfabb; - m0 = m2 + mfbbb; - mfabb = m0; - mfbbb = m1 - m0 * vvx; - mfcbb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacb + mfccb; - m1 = mfccb - mfacb; - m0 = m2 + mfbcb; - mfacb = m0; - mfbcb = m1 - m0 * vvx; - mfccb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfcac; - m1 = mfcac - mfaac; - m0 = m2 + mfbac; - mfaac = m0; - m0 += c1o3 * oMdrho; - mfbac = m1 - m0 * vvx; - mfcac = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabc + mfcbc; - m1 = mfcbc - mfabc; - m0 = m2 + mfbbc; - mfabc = m0; - mfbbc = m1 - m0 * vvx; - mfcbc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacc + mfccc; - m1 = mfccc - mfacc; - m0 = m2 + mfbcc; - mfacc = m0; - m0 += c1o9 * oMdrho; - mfbcc = m1 - m0 * vvx; - mfccc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - // linear combinations - - mxxyPyzz = mfcba + mfabc; - mxxyMyzz = mfcba - mfabc; - - mxxzPyyz = mfcab + mfacb; - mxxzMyyz = mfcab - mfacb; - - mxyyPxzz = mfbca + mfbac; - mxyyMxzz = mfbca - mfbac; - - - ////////////////////////////////////////////////////////////////////////// - //exclusive for this source node - real mfbbb_NEB = mfbbb; - real mxxyPyzz_NEB = mxxyPyzz; - real mxxyMyzz_NEB = mxxyMyzz; - real mxxzPyyz_NEB = mxxzPyyz; - real mxxzMyyz_NEB = mxxzMyyz; - real mxyyPxzz_NEB = mxyyPxzz; - real mxyyMxzz_NEB = mxyyMxzz; - ////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfbbbMean = c1o8 * (mfbbb_SWB + mfbbb_SWT + mfbbb_SET + mfbbb_SEB + mfbbb_NWB + mfbbb_NWT + mfbbb_NET + mfbbb_NEB); - real mxxyPyzzMean = c1o8 * (mxxyPyzz_SWB + mxxyPyzz_SWT + mxxyPyzz_SET + mxxyPyzz_SEB + mxxyPyzz_NWB + mxxyPyzz_NWT + mxxyPyzz_NET + mxxyPyzz_NEB); - real mxxyMyzzMean = c1o8 * (mxxyMyzz_SWB + mxxyMyzz_SWT + mxxyMyzz_SET + mxxyMyzz_SEB + mxxyMyzz_NWB + mxxyMyzz_NWT + mxxyMyzz_NET + mxxyMyzz_NEB); - real mxxzPyyzMean = c1o8 * (mxxzPyyz_SWB + mxxzPyyz_SWT + mxxzPyyz_SET + mxxzPyyz_SEB + mxxzPyyz_NWB + mxxzPyyz_NWT + mxxzPyyz_NET + mxxzPyyz_NEB); - real mxxzMyyzMean = c1o8 * (mxxzMyyz_SWB + mxxzMyyz_SWT + mxxzMyyz_SET + mxxzMyyz_SEB + mxxzMyyz_NWB + mxxzMyyz_NWT + mxxzMyyz_NET + mxxzMyyz_NEB); - real mxyyPxzzMean = c1o8 * (mxyyPxzz_SWB + mxyyPxzz_SWT + mxyyPxzz_SET + mxyyPxzz_SEB + mxyyPxzz_NWB + mxyyPxzz_NWT + mxyyPxzz_NET + mxyyPxzz_NEB); - real mxyyMxzzMean = c1o8 * (mxyyMxzz_SWB + mxyyMxzz_SWT + mxyyMxzz_SET + mxyyMxzz_SEB + mxyyMxzz_NWB + mxyyMxzz_NWT + mxyyMxzz_NET + mxyyMxzz_NEB); - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // kxyFromfcNEQ_SWB = zero; - //kyzFromfcNEQ_SWB = zero; - //kxzFromfcNEQ_SWB = zero; - //kxxMyyFromfcNEQ_SWB = zero; - //kxxMzzFromfcNEQ_SWB = zero; - //kxyFromfcNEQ_SWT = zero; - //kyzFromfcNEQ_SWT = zero; - //kxzFromfcNEQ_SWT = zero; - //kxxMyyFromfcNEQ_SWT = zero; - //kxxMzzFromfcNEQ_SWT = zero; - //kxyFromfcNEQ_SET = zero; - //kyzFromfcNEQ_SET = zero; - //kxzFromfcNEQ_SET = zero; - //kxxMyyFromfcNEQ_SET = zero; - //kxxMzzFromfcNEQ_SET = zero; - //kxyFromfcNEQ_SEB = zero; - //kyzFromfcNEQ_SEB = zero; - //kxzFromfcNEQ_SEB = zero; - //kxxMyyFromfcNEQ_SEB = zero; - //kxxMzzFromfcNEQ_SEB = zero; - //kxyFromfcNEQ_NWB = zero; - //kyzFromfcNEQ_NWB = zero; - //kxzFromfcNEQ_NWB = zero; - //kxxMyyFromfcNEQ_NWB = zero; - //kxxMzzFromfcNEQ_NWB = zero; - //kxyFromfcNEQ_NWT = zero; - //kyzFromfcNEQ_NWT = zero; - //kxzFromfcNEQ_NWT = zero; - //kxxMyyFromfcNEQ_NWT = zero; - //kxxMzzFromfcNEQ_NWT = zero; - //kxyFromfcNEQ_NET = zero; - //kyzFromfcNEQ_NET = zero; - //kxzFromfcNEQ_NET = zero; - //kxxMyyFromfcNEQ_NET = zero; - //kxxMzzFromfcNEQ_NET = zero; - //kxyFromfcNEQ_NEB = zero; - //kyzFromfcNEQ_NEB = zero; - //kxzFromfcNEQ_NEB = zero; - //kxxMyyFromfcNEQ_NEB = zero; - //kxxMzzFromfcNEQ_NEB = zero; - ////////////////////////////////////////////////////////////////////////// - //3 - ////////////////////////////////////////////////////////////////////////// - a0 = (-kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT - - kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - - kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - - c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET - c2o1*kxyFromfcNEQ_NWB - c2o1*kxyFromfcNEQ_NWT + - c2o1*kxyFromfcNEQ_SEB + c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + - c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB - c2o1*kxzFromfcNEQ_NWT + - c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB - c2o1*kxzFromfcNEQ_SWT + - c8o1*vx1_NEB + c8o1*vx1_NET + c8o1*vx1_NWB + c8o1*vx1_NWT + c8o1*vx1_SEB + - c8o1*vx1_SET + c8o1*vx1_SWB + c8o1*vx1_SWT + c2o1*vx2_NEB + c2o1*vx2_NET - - c2o1*vx2_NWB - c2o1*vx2_NWT - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + - c2o1*vx2_SWT - c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - - c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1; - b0 = (c2o1*kxxMyyFromfcNEQ_NEB + c2o1*kxxMyyFromfcNEQ_NET + c2o1*kxxMyyFromfcNEQ_NWB + c2o1*kxxMyyFromfcNEQ_NWT - - c2o1*kxxMyyFromfcNEQ_SEB - c2o1*kxxMyyFromfcNEQ_SET - c2o1*kxxMyyFromfcNEQ_SWB - c2o1*kxxMyyFromfcNEQ_SWT - - kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - - c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET + c2o1*kxyFromfcNEQ_NWB + c2o1*kxyFromfcNEQ_NWT - - c2o1*kxyFromfcNEQ_SEB - c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + - c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET + c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + - c2o1*kyzFromfcNEQ_SEB - c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB - c2o1*kyzFromfcNEQ_SWT + - c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT + - c8o1*vx2_NEB + c8o1*vx2_NET + c8o1*vx2_NWB + c8o1*vx2_NWT + - c8o1*vx2_SEB + c8o1*vx2_SET + c8o1*vx2_SWB + c8o1*vx2_SWT - - c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + - c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1; - - //b0 = ((eight*vx2_NEB + eight*vx2_SWT) + (eight*vx2_NET + eight*vx2_SWB) + (eight*vx2_NWB + eight*vx2_SET) + (eight*vx2_NWT + eight*vx2_SEB))/sixtyfour; - - c0 = (kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT - - c2o1*kxxMzzFromfcNEQ_NEB + c2o1*kxxMzzFromfcNEQ_NET - c2o1*kxxMzzFromfcNEQ_NWB + c2o1*kxxMzzFromfcNEQ_NWT - - c2o1*kxxMzzFromfcNEQ_SEB + c2o1*kxxMzzFromfcNEQ_SET - c2o1*kxxMzzFromfcNEQ_SWB + c2o1*kxxMzzFromfcNEQ_SWT - - c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB + c2o1*kxzFromfcNEQ_NWT - - c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB + c2o1*kxzFromfcNEQ_SWT - - c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET - c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + - c2o1*kyzFromfcNEQ_SEB + c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB + c2o1*kyzFromfcNEQ_SWT - - c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - - c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT + - c8o1*vx3_NEB + c8o1*vx3_NET + c8o1*vx3_NWB + c8o1*vx3_NWT + - c8o1*vx3_SEB + c8o1*vx3_SET + c8o1*vx3_SWB + c8o1*vx3_SWT)/c64o1; - ax = (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT + vx1_SEB + vx1_SET - vx1_SWB - vx1_SWT)/c4o1; - bx = (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT + vx2_SEB + vx2_SET - vx2_SWB - vx2_SWT)/c4o1; - //bx = ((vx2_NEB - vx2_SWT) + (vx2_NET - vx2_SWB) + (vx2_SET - vx2_NWB) + (vx2_SEB - vx2_NWT))/four; - cx = (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT + vx3_SEB + vx3_SET - vx3_SWB - vx3_SWT)/c4o1; - axx= (kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT + - kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + - c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB - c2o1*vx2_NWT - - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + c2o1*vx2_SWT - - c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - - c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1; - bxx= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET - kxyFromfcNEQ_NWB - kxyFromfcNEQ_NWT + - kxyFromfcNEQ_SEB + kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - - c2o1*vx1_NEB - c2o1*vx1_NET + c2o1*vx1_NWB + c2o1*vx1_NWT + - c2o1*vx1_SEB + c2o1*vx1_SET - c2o1*vx1_SWB - c2o1*vx1_SWT)/c8o1; - cxx= (kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB - kxzFromfcNEQ_NWT + - kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB - kxzFromfcNEQ_SWT + - c2o1*vx1_NEB - c2o1*vx1_NET - c2o1*vx1_NWB + c2o1*vx1_NWT + - c2o1*vx1_SEB - c2o1*vx1_SET - c2o1*vx1_SWB + c2o1*vx1_SWT)/c8o1; - ay = (vx1_NEB + vx1_NET + vx1_NWB + vx1_NWT - vx1_SEB - vx1_SET - vx1_SWB - vx1_SWT)/c4o1; - by = (vx2_NEB + vx2_NET + vx2_NWB + vx2_NWT - vx2_SEB - vx2_SET - vx2_SWB - vx2_SWT)/c4o1; - cy = (vx3_NEB + vx3_NET + vx3_NWB + vx3_NWT - vx3_SEB - vx3_SET - vx3_SWB - vx3_SWT)/c4o1; - ayy= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET + kxyFromfcNEQ_NWB + kxyFromfcNEQ_NWT - - kxyFromfcNEQ_SEB - kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - - c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB + c2o1*vx2_NWT + - c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB - c2o1*vx2_SWT)/c8o1; - byy= (-c2o1*kxxMyyFromfcNEQ_NEB - c2o1*kxxMyyFromfcNEQ_NET - c2o1*kxxMyyFromfcNEQ_NWB - c2o1*kxxMyyFromfcNEQ_NWT + - c2o1*kxxMyyFromfcNEQ_SEB + c2o1*kxxMyyFromfcNEQ_SET + c2o1*kxxMyyFromfcNEQ_SWB + c2o1*kxxMyyFromfcNEQ_SWT + - kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - - kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + - c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT - - c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + - c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1; - cyy= (kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET + kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - - kyzFromfcNEQ_SEB - kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB - kyzFromfcNEQ_SWT + - c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB - c2o1*vx2_NWT - - c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB + c2o1*vx2_SWT)/c8o1; - az = (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT - vx1_SEB + vx1_SET - vx1_SWB + vx1_SWT)/c4o1; - //bz = (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT - vx2_SEB + vx2_SET - vx2_SWB + vx2_SWT)/four; - bz = ((vx2_SWT - vx2_NEB) + (vx2_NET - vx2_SWB) + (vx2_SET - vx2_NWB) + (vx2_NWT - vx2_SEB))/c4o1; - cz = (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT - vx3_SEB + vx3_SET - vx3_SWB + vx3_SWT)/c4o1; - azz= (-kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB + kxzFromfcNEQ_NWT - - kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB + kxzFromfcNEQ_SWT + - c2o1*vx3_NEB - c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + - c2o1*vx3_SEB - c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1; - bzz= (-kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET - kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - - kyzFromfcNEQ_SEB + kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB + kyzFromfcNEQ_SWT + - c2o1*vx3_NEB - c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - - c2o1*vx3_SEB + c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1; - czz= (-kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT + - c2o1*kxxMzzFromfcNEQ_NEB - c2o1*kxxMzzFromfcNEQ_NET + c2o1*kxxMzzFromfcNEQ_NWB - c2o1*kxxMzzFromfcNEQ_NWT + - c2o1*kxxMzzFromfcNEQ_SEB - c2o1*kxxMzzFromfcNEQ_SET + c2o1*kxxMzzFromfcNEQ_SWB - c2o1*kxxMzzFromfcNEQ_SWT - - c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - - c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT)/c16o1; - axy= (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT - vx1_SEB - vx1_SET + vx1_SWB + vx1_SWT)/c2o1; - bxy= (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT - vx2_SEB - vx2_SET + vx2_SWB + vx2_SWT)/c2o1; - cxy= (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT - vx3_SEB - vx3_SET + vx3_SWB + vx3_SWT)/c2o1; - axz= (-vx1_NEB + vx1_NET + vx1_NWB - vx1_NWT - vx1_SEB + vx1_SET + vx1_SWB - vx1_SWT)/c2o1; - bxz= (-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT - vx2_SEB + vx2_SET + vx2_SWB - vx2_SWT)/c2o1; - cxz= (-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT - vx3_SEB + vx3_SET + vx3_SWB - vx3_SWT)/c2o1; - ayz= (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT + vx1_SEB - vx1_SET + vx1_SWB - vx1_SWT)/c2o1; - byz= (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT + vx2_SEB - vx2_SET + vx2_SWB - vx2_SWT)/c2o1; - cyz= (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT + vx3_SEB - vx3_SET + vx3_SWB - vx3_SWT)/c2o1; - axyz=-vx1_NEB + vx1_NET + vx1_NWB - vx1_NWT + vx1_SEB - vx1_SET - vx1_SWB + vx1_SWT; - bxyz=-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT + vx2_SEB - vx2_SET - vx2_SWB + vx2_SWT; - cxyz=-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT + vx3_SEB - vx3_SET - vx3_SWB + vx3_SWT; - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real kxyAverage = c0o1; - real kyzAverage = c0o1; - real kxzAverage = c0o1; - real kxxMyyAverage = c0o1; - real kxxMzzAverage = c0o1; - //real kxyAverage =(kxyFromfcNEQ_SWB+ - // kxyFromfcNEQ_SWT+ - // kxyFromfcNEQ_SET+ - // kxyFromfcNEQ_SEB+ - // kxyFromfcNEQ_NWB+ - // kxyFromfcNEQ_NWT+ - // kxyFromfcNEQ_NET+ - // kxyFromfcNEQ_NEB)*c1o8-(ay+bx); - //real kyzAverage =(kyzFromfcNEQ_SWB+ - // kyzFromfcNEQ_SWT+ - // kyzFromfcNEQ_SET+ - // kyzFromfcNEQ_SEB+ - // kyzFromfcNEQ_NWB+ - // kyzFromfcNEQ_NWT+ - // kyzFromfcNEQ_NET+ - // kyzFromfcNEQ_NEB)*c1o8-(bz+cy); - //real kxzAverage =(kxzFromfcNEQ_SWB+ - // kxzFromfcNEQ_SWT+ - // kxzFromfcNEQ_SET+ - // kxzFromfcNEQ_SEB+ - // kxzFromfcNEQ_NWB+ - // kxzFromfcNEQ_NWT+ - // kxzFromfcNEQ_NET+ - // kxzFromfcNEQ_NEB)*c1o8-(az+cx); - //real kxxMyyAverage =(kxxMyyFromfcNEQ_SWB+ - // kxxMyyFromfcNEQ_SWT+ - // kxxMyyFromfcNEQ_SET+ - // kxxMyyFromfcNEQ_SEB+ - // kxxMyyFromfcNEQ_NWB+ - // kxxMyyFromfcNEQ_NWT+ - // kxxMyyFromfcNEQ_NET+ - // kxxMyyFromfcNEQ_NEB)*c1o8-(ax-by); - //real kxxMzzAverage =(kxxMzzFromfcNEQ_SWB+ - // kxxMzzFromfcNEQ_SWT+ - // kxxMzzFromfcNEQ_SET+ - // kxxMzzFromfcNEQ_SEB+ - // kxxMzzFromfcNEQ_NWB+ - // kxxMzzFromfcNEQ_NWT+ - // kxxMzzFromfcNEQ_NET+ - // kxxMzzFromfcNEQ_NEB)*c1o8-(ax-cz); - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //Press - //d0 = ( press_NEB + press_NET + press_NWB + press_NWT + press_SEB + press_SET + press_SWB + press_SWT) * c1o8; - //dx = ( press_NEB + press_NET - press_NWB - press_NWT + press_SEB + press_SET - press_SWB - press_SWT) * c1o4; - //dy = ( press_NEB + press_NET + press_NWB + press_NWT - press_SEB - press_SET - press_SWB - press_SWT) * c1o4; - //dz = (-press_NEB + press_NET - press_NWB + press_NWT - press_SEB + press_SET - press_SWB + press_SWT) * c1o4; - //dxy = ( press_NEB + press_NET - press_NWB - press_NWT - press_SEB - press_SET + press_SWB + press_SWT) * c1o2; - //dxz = (-press_NEB + press_NET + press_NWB - press_NWT - press_SEB + press_SET + press_SWB - press_SWT) * c1o2; - //dyz = (-press_NEB + press_NET - press_NWB + press_NWT + press_SEB - press_SET + press_SWB - press_SWT) * c1o2; - //dxyz = -press_NEB + press_NET + press_NWB - press_NWT + press_SEB - press_SET - press_SWB + press_SWT; - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho - real LapRho = ((xoff != c0o1) || (yoff != c0o1) || (zoff != c0o1)) ? c0o1 : -c3o1*(ax*ax + by*by + cz*cz) - c6o1 * (bx*ay + cx*az + cy*bz); - d0 = ( drho_NEB + drho_NET + drho_NWB + drho_NWT + drho_SEB + drho_SET + drho_SWB + drho_SWT) * c1o8; - dx = ( drho_NEB + drho_NET - drho_NWB - drho_NWT + drho_SEB + drho_SET - drho_SWB - drho_SWT) * c1o4; - dy = ( drho_NEB + drho_NET + drho_NWB + drho_NWT - drho_SEB - drho_SET - drho_SWB - drho_SWT) * c1o4; - dz = (-drho_NEB + drho_NET - drho_NWB + drho_NWT - drho_SEB + drho_SET - drho_SWB + drho_SWT) * c1o4; - dxy = ( drho_NEB + drho_NET - drho_NWB - drho_NWT - drho_SEB - drho_SET + drho_SWB + drho_SWT) * c1o2; - dxz = (-drho_NEB + drho_NET + drho_NWB - drho_NWT - drho_SEB + drho_SET + drho_SWB - drho_SWT) * c1o2; - dyz = (-drho_NEB + drho_NET - drho_NWB + drho_NWT + drho_SEB - drho_SET + drho_SWB - drho_SWT) * c1o2; - dxyz = -drho_NEB + drho_NET + drho_NWB - drho_NWT + drho_SEB - drho_SET - drho_SWB + drho_SWT; - // d0 = zero; - //dx = zero; - //dy = zero; - //dz = zero; - //dxy = zero; - //dxz = zero; - //dyz = zero; - //dxyz = zero; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - // Bernd das Brot - // - // X------X - // | | x---x - // | ---+-+-> | ----> off-vector - // | | x---x - // X------X - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - a0 = a0 + xoff * ax + yoff * ay + zoff * az + xoff_sq * axx + yoff_sq * ayy + zoff_sq * azz + xoff*yoff*axy + xoff*zoff*axz + yoff*zoff*ayz; - ax = ax + c2o1 * xoff * axx + yoff * axy + zoff * axz; - ay = ay + c2o1 * yoff * ayy + xoff * axy + zoff * ayz; - az = az + c2o1 * zoff * azz + xoff * axz + yoff * ayz; - b0 = b0 + xoff * bx + yoff * by + zoff * bz + xoff_sq * bxx + yoff_sq * byy + zoff_sq * bzz + xoff*yoff*bxy + xoff*zoff*bxz + yoff*zoff*byz; - bx = bx + c2o1 * xoff * bxx + yoff * bxy + zoff * bxz; - by = by + c2o1 * yoff * byy + xoff * bxy + zoff * byz; - bz = bz + c2o1 * zoff * bzz + xoff * bxz + yoff * byz; - c0 = c0 + xoff * cx + yoff * cy + zoff * cz + xoff_sq * cxx + yoff_sq * cyy + zoff_sq * czz + xoff*yoff*cxy + xoff*zoff*cxz + yoff*zoff*cyz; - cx = cx + c2o1 * xoff * cxx + yoff * cxy + zoff * cxz; - cy = cy + c2o1 * yoff * cyy + xoff * cxy + zoff * cyz; - cz = cz + c2o1 * zoff * czz + xoff * cxz + yoff * cyz; - d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz; - dx = dx + yoff * dxy + zoff * dxz; - dy = dy + xoff * dxy + zoff * dyz; - dz = dz + xoff * dxz + yoff * dyz; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // FIX /////////////////////////////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //AAAAAAAAAAAAHHHHHHHHHHHH!!!!! Mieser Test!!! - //b0= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz= c0= cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero; - //a0=zero; - //ax=zero; - //ay=zero; - //az=zero; - //axx=zero; - //ayy=zero; - //azz=zero; - //axy=zero; - //axz=zero; - //ayz=zero; - //b0=zero; - //bx=zero; - //by=zero; - //bz=zero; - //bxx=zero; - //byy=zero; - //bzz=zero; - //bxy=zero; - //bxz=zero; - //byz=zero; - //c0=zero; - //cx=zero; - //cy=zero; - //cz=zero; - //cxx=zero; - //cyy=zero; - //czz=zero; - //cxy=zero; - //cxz=zero; - //cyz=zero; - //axyz=zero; - //bxyz=zero; - //cxyz=zero; - //ax= ay= az= axx= ayy= azz= axy= axz= ayz= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz= cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero; - //a0=zero; - //b0=zero; - //c0=c1o100; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //real m0, m1, m2, vvx, vvy, vvz, vx2, vy2, vz2, oMdrho; - //real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz; - ////real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein - ////real O3 = two - o; - ////real residu, residutmp; - ////residutmp = zero;// /*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new; - //real NeqOn = one;//zero;//one; //.... one = on ..... zero = off - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position SWB -0.25f, -0.25f, -0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = -c1o4; - y = -c1o4; - z = -c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //real mxoff = -xoff; - //real myoff = -yoff; - //real mzoff = -zoff; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c3o64*drho_NEB+c1o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c27o64*drho_SWB+c9o64*drho_SWT; - //press = press_SWT * (c9o64 + c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + - // press_NWT * (c3o64 + c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + - // press_SET * (c3o64 - c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + - // press_NET * (c1o64 - c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + - // press_NEB * (c3o64 - c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + - // press_NWB * (c9o64 + c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c9o64 - c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c27o64 + c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff); - //drho = drho_SWT * (c9o64 + c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + - // drho_NWT * (c3o64 + c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - // drho_SET * (c3o64 - c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + - // drho_NET * (c1o64 - c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + - // drho_NEB * (c3o64 - c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + - // drho_NWB * (c9o64 + c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c9o64 - c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c27o64 + c9o16 * xoff + c9o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa; - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - mfbbb = c1o2 * (( omFine + c12o1)*(-omCoarse + c2o1)) / ((omCoarse + c12o1)*(-omFine + c2o1)) * mfbbbMean; - mxxyPyzz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxxyPyzzMean; - mxxyMyzz = c1o2 * ((-omFine + c6o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1 )*(-omFine + c2o1)) * mxxyMyzzMean; - mxxzPyyz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxxzPyyzMean; - mxxzMyyz = c1o2 * ((-omFine + c6o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1 )*(-omFine + c2o1)) * mxxzMyyzMean; - mxyyPxzz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxyyPxzzMean; - mxyyMxzz = c1o2 * ((-omFine + c6o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1 )*(-omFine + c2o1)) * mxyyMxzzMean; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= posFSWB[k]; - k0w = neighborFX[k0zero]; - k0s = neighborFY[k0zero]; - k0b = neighborFZ[k0zero]; - k0sw = neighborFY[k0w]; - k0bw = neighborFZ[k0w]; - k0bs = neighborFZ[k0s]; - k0bsw = neighborFZ[k0sw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position SWT -0.25f, -0.25f, 0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = -c1o4; - y = -c1o4; - z = c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c1o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c27o64*drho_SWT; - //press = press_SWT * (c27o64 + c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + - // press_NWT * (c9o64 + c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + - // press_SET * (c9o64 - c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + - // press_NET * (c3o64 - c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + - // press_NEB * (c1o64 - c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + - // press_NWB * (c3o64 + c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c3o64 - c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c9o64 + c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff); - //drho = drho_SWT * (c27o64 + c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + - // drho_NWT * (c9o64 + c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + - // drho_SET * (c9o64 - c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - // drho_NET * (c3o64 - c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + - // drho_NEB * (c1o64 - c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + - // drho_NWB * (c3o64 + c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c3o64 - c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c9o64 + c3o16 * xoff + c3o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa; - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - mfbbb = c1o2 * (( omFine + c12o1)*(-omCoarse + c2o1)) / ((omCoarse + c12o1)*(-omFine + c2o1)) * mfbbbMean; - mxxyPyzz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxxyPyzzMean; - mxxyMyzz = c1o2 * ((-omFine + c6o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1 )*(-omFine + c2o1)) * mxxyMyzzMean; - mxxzPyyz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxxzPyyzMean; - mxxzMyyz = c1o2 * ((-omFine + c6o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1 )*(-omFine + c2o1)) * mxxzMyyzMean; - mxyyPxzz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxyyPxzzMean; - mxyyMxzz = c1o2 * ((-omFine + c6o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1 )*(-omFine + c2o1)) * mxyyMxzzMean; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position SET 0.25f, -0.25f, 0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = c1o4; - y = -c1o4; - z = c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho =c3o64*drho_NEB+c9o64*drho_NET+c1o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c27o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT; - //press = press_SET * (c27o64 - c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + - // press_NET * (c9o64 - c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c9o64 + c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + - // press_NWT * (c3o64 + c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + - // press_NWB * (c1o64 + c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + - // press_NEB * (c3o64 - c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c3o64 + c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c9o64 - c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff); - //drho = drho_SET * (c27o64 - c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + - // drho_NET * (c9o64 - c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c9o64 + c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - // drho_NWT * (c3o64 + c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + - // drho_NWB * (c1o64 + c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + - // drho_NEB * (c3o64 - c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c3o64 + c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c9o64 - c3o16 * xoff + c3o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa; - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - mfbbb = c1o2 * (( omFine + c12o1)*(-omCoarse + c2o1)) / ((omCoarse + c12o1)*(-omFine + c2o1)) * mfbbbMean; - mxxyPyzz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxxyPyzzMean; - mxxyMyzz = c1o2 * ((-omFine + c6o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1 )*(-omFine + c2o1)) * mxxyMyzzMean; - mxxzPyyz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxxzPyyzMean; - mxxzMyyz = c1o2 * ((-omFine + c6o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1 )*(-omFine + c2o1)) * mxxzMyyzMean; - mxyyPxzz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxyyPxzzMean; - mxyyMxzz = c1o2 * ((-omFine + c6o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1 )*(-omFine + c2o1)) * mxyyMxzzMean; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position SEB 0.25f, -0.25f, -0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = c1o4; - y = -c1o4; - z = -c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho =c9o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c1o64*drho_NWT+c27o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT; - //press = press_SET * (c9o64 - c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + - // press_NET * (c3o64 - c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c3o64 + c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + - // press_NWT * (c1o64 + c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + - // press_NWB * (c3o64 + c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + - // press_NEB * (c9o64 - c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c9o64 + c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c27o64 - c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff); - //drho = drho_SET * (c9o64 - c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + - // drho_NET * (c3o64 - c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c3o64 + c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + - // drho_NWT * (c1o64 + c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + - // drho_NWB * (c3o64 + c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + - // drho_NEB * (c9o64 - c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c9o64 + c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c27o64 - c9o16 * xoff + c9o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa; - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - mfbbb = c1o2 * (( omFine + c12o1)*(-omCoarse + c2o1)) / ((omCoarse + c12o1)*(-omFine + c2o1)) * mfbbbMean; - mxxyPyzz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxxyPyzzMean; - mxxyMyzz = c1o2 * ((-omFine + c6o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1 )*(-omFine + c2o1)) * mxxyMyzzMean; - mxxzPyyz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxxzPyyzMean; - mxxzMyyz = c1o2 * ((-omFine + c6o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1 )*(-omFine + c2o1)) * mxxzMyyzMean; - mxyyPxzz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxyyPxzzMean; - mxyyMxzz = c1o2 * ((-omFine + c6o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1 )*(-omFine + c2o1)) * mxyyMxzzMean; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position NWB -0.25f, 0.25f, -0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = -c1o4; - y = c1o4; - z = -c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c9o64*drho_NEB+c3o64*drho_NET+c27o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c1o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT; - //press = press_NWT * (c9o64 + c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + - // press_NET * (c3o64 - c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c3o64 + c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + - // press_SET * (c1o64 - c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + - // press_SEB * (c3o64 - c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + - // press_NEB * (c9o64 - c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c9o64 + c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + - // press_NWB * (c27o64 + c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff); - //drho = drho_NWT * (c9o64 + c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + - // drho_NET * (c3o64 - c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c3o64 + c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - // drho_SET * (c1o64 - c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + - // drho_SEB * (c3o64 - c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + - // drho_NEB * (c9o64 - c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c9o64 + c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + - // drho_NWB * (c27o64 + c9o16 * xoff - c9o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa; - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - mfbbb = c1o2 * (( omFine + c12o1)*(-omCoarse + c2o1)) / ((omCoarse + c12o1)*(-omFine + c2o1)) * mfbbbMean; - mxxyPyzz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxxyPyzzMean; - mxxyMyzz = c1o2 * ((-omFine + c6o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1 )*(-omFine + c2o1)) * mxxyMyzzMean; - mxxzPyyz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxxzPyyzMean; - mxxzMyyz = c1o2 * ((-omFine + c6o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1 )*(-omFine + c2o1)) * mxxzMyyzMean; - mxyyPxzz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxyyPxzzMean; - mxyyMxzz = c1o2 * ((-omFine + c6o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1 )*(-omFine + c2o1)) * mxyyMxzzMean; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= k0s; - k0w = k0sw; - k0s = neighborFY[k0s]; - k0b = k0bs; - k0sw = neighborFY[k0sw]; - k0bw = k0bsw; - k0bs = neighborFY[k0bs]; - k0bsw = neighborFY[k0bsw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position NWT -0.25f, 0.25f, 0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = -c1o4; - y = c1o4; - z = c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c3o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c27o64*drho_NWT+c1o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT; - //press = press_NWT * (c27o64 + c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + - // press_NET * (c9o64 - c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c9o64 + c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + - // press_SET * (c3o64 - c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + - // press_SEB * (c1o64 - c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + - // press_NEB * (c3o64 - c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c3o64 + c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + - // press_NWB * (c9o64 + c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff); - //drho = drho_NWT * (c27o64 + c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + - // drho_NET * (c9o64 - c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c9o64 + c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + - // drho_SET * (c3o64 - c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + - // drho_SEB * (c1o64 - c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + - // drho_NEB * (c3o64 - c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c3o64 + c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - // drho_NWB * (c9o64 + c3o16 * xoff - c3o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa; - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - mfbbb = c1o2 * (( omFine + c12o1)*(-omCoarse + c2o1)) / ((omCoarse + c12o1)*(-omFine + c2o1)) * mfbbbMean; - mxxyPyzz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxxyPyzzMean; - mxxyMyzz = c1o2 * ((-omFine + c6o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1 )*(-omFine + c2o1)) * mxxyMyzzMean; - mxxzPyyz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxxzPyyzMean; - mxxzMyyz = c1o2 * ((-omFine + c6o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1 )*(-omFine + c2o1)) * mxxzMyyzMean; - mxyyPxzz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxyyPxzzMean; - mxyyMxzz = c1o2 * ((-omFine + c6o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1 )*(-omFine + c2o1)) * mxyyMxzzMean; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position NET 0.25f, 0.25f, 0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = c1o4; - y = c1o4; - z = c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c9o64*drho_NEB+c27o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c1o64*drho_SWB+c3o64*drho_SWT; - //press = press_NET * (c27o64 - c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + - // press_NWT * (c9o64 + c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + - // press_SET * (c9o64 - c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c3o64 + c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + - // press_SWB * (c1o64 + c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + - // press_NWB * (c3o64 + c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c3o64 - c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + - // press_NEB * (c9o64 - c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff); - //drho = drho_NET * (c27o64 - c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + - // drho_NWT * (c9o64 + c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - // drho_SET * (c9o64 - c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c3o64 + c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + - // drho_SWB * (c1o64 + c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + - // drho_NWB * (c3o64 + c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c3o64 - c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - // drho_NEB * (c9o64 - c3o16 * xoff - c3o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa; - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - mfbbb = c1o2 * (( omFine + c12o1)*(-omCoarse + c2o1)) / ((omCoarse + c12o1)*(-omFine + c2o1)) * mfbbbMean; - mxxyPyzz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxxyPyzzMean; - mxxyMyzz = c1o2 * ((-omFine + c6o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1 )*(-omFine + c2o1)) * mxxyMyzzMean; - mxxzPyyz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxxzPyyzMean; - mxxzMyyz = c1o2 * ((-omFine + c6o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1 )*(-omFine + c2o1)) * mxxzMyyzMean; - mxyyPxzz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxyyPxzzMean; - mxyyMxzz = c1o2 * ((-omFine + c6o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1 )*(-omFine + c2o1)) * mxyyMxzzMean; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position NEB 0.25f, 0.25f, -0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = c1o4; - y = c1o4; - z = -c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c27o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c1o64*drho_SWT; - //press = press_NET * (c9o64 - c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + - // press_NWT * (c3o64 + c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + - // press_SET * (c3o64 - c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c1o64 + c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + - // press_SWB * (c3o64 + c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + - // press_NWB * (c9o64 + c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c9o64 - c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + - // press_NEB * (c27o64 - c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff); - //drho = drho_NET * (c9o64 - c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + - // drho_NWT * (c3o64 + c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + - // drho_SET * (c3o64 - c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c1o64 + c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + - // drho_SWB * (c3o64 + c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + - // drho_NWB * (c9o64 + c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c9o64 - c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + - // drho_NEB * (c27o64 - c9o16 * xoff - c9o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa; - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - mfbbb = c1o2 * (( omFine + c12o1)*(-omCoarse + c2o1)) / ((omCoarse + c12o1)*(-omFine + c2o1)) * mfbbbMean; - mxxyPyzz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxxyPyzzMean; - mxxyMyzz = c1o2 * ((-omFine + c6o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1 )*(-omFine + c2o1)) * mxxyMyzzMean; - mxxzPyyz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxxzPyyzMean; - mxxzMyyz = c1o2 * ((-omFine + c6o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1 )*(-omFine + c2o1)) * mxxzMyyzMean; - mxyyPxzz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxyyPxzzMean; - mxyyMxzz = c1o2 * ((-omFine + c6o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1 )*(-omFine + c2o1)) * mxyyMxzzMean; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - } -} -////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -////////////////////////////////////////////////////////////////////////// -__global__ void scaleCF_RhoSq_comp_27(real* DC, - real* DF, - unsigned int* neighborCX, - unsigned int* neighborCY, - unsigned int* neighborCZ, - unsigned int* neighborFX, - unsigned int* neighborFY, - unsigned int* neighborFZ, - unsigned long long numberOfLBnodesCoarse, - unsigned long long numberOfLBnodesFine, - bool isEvenTimestep, - unsigned int* posCSWB, - unsigned int* posFSWB, - unsigned int kCF, - real omCoarse, - real omFine, - real nu, - unsigned int nxC, - unsigned int nyC, - unsigned int nxF, - unsigned int nyF, - ICellNeigh offCF) -{ - real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, - *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - - feF = &DF[dP00 * numberOfLBnodesFine]; - fwF = &DF[dM00 * numberOfLBnodesFine]; - fnF = &DF[d0P0 * numberOfLBnodesFine]; - fsF = &DF[d0M0 * numberOfLBnodesFine]; - ftF = &DF[d00P * numberOfLBnodesFine]; - fbF = &DF[d00M * numberOfLBnodesFine]; - fneF = &DF[dPP0 * numberOfLBnodesFine]; - fswF = &DF[dMM0 * numberOfLBnodesFine]; - fseF = &DF[dPM0 * numberOfLBnodesFine]; - fnwF = &DF[dMP0 * numberOfLBnodesFine]; - fteF = &DF[dP0P * numberOfLBnodesFine]; - fbwF = &DF[dM0M * numberOfLBnodesFine]; - fbeF = &DF[dP0M * numberOfLBnodesFine]; - ftwF = &DF[dM0P * numberOfLBnodesFine]; - ftnF = &DF[d0PP * numberOfLBnodesFine]; - fbsF = &DF[d0MM * numberOfLBnodesFine]; - fbnF = &DF[d0PM * numberOfLBnodesFine]; - ftsF = &DF[d0MP * numberOfLBnodesFine]; - fzeroF = &DF[d000 * numberOfLBnodesFine]; - ftneF = &DF[dPPP * numberOfLBnodesFine]; - ftswF = &DF[dMMP * numberOfLBnodesFine]; - ftseF = &DF[dPMP * numberOfLBnodesFine]; - ftnwF = &DF[dMPP * numberOfLBnodesFine]; - fbneF = &DF[dPPM * numberOfLBnodesFine]; - fbswF = &DF[dMMM * numberOfLBnodesFine]; - fbseF = &DF[dPMM * numberOfLBnodesFine]; - fbnwF = &DF[dMPM * numberOfLBnodesFine]; - - real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, *fzeroC, - *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; - - if (isEvenTimestep==true) - { - feC = &DC[dP00 * numberOfLBnodesCoarse]; - fwC = &DC[dM00 * numberOfLBnodesCoarse]; - fnC = &DC[d0P0 * numberOfLBnodesCoarse]; - fsC = &DC[d0M0 * numberOfLBnodesCoarse]; - ftC = &DC[d00P * numberOfLBnodesCoarse]; - fbC = &DC[d00M * numberOfLBnodesCoarse]; - fneC = &DC[dPP0 * numberOfLBnodesCoarse]; - fswC = &DC[dMM0 * numberOfLBnodesCoarse]; - fseC = &DC[dPM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dMP0 * numberOfLBnodesCoarse]; - fteC = &DC[dP0P * numberOfLBnodesCoarse]; - fbwC = &DC[dM0M * numberOfLBnodesCoarse]; - fbeC = &DC[dP0M * numberOfLBnodesCoarse]; - ftwC = &DC[dM0P * numberOfLBnodesCoarse]; - ftnC = &DC[d0PP * numberOfLBnodesCoarse]; - fbsC = &DC[d0MM * numberOfLBnodesCoarse]; - fbnC = &DC[d0PM * numberOfLBnodesCoarse]; - ftsC = &DC[d0MP * numberOfLBnodesCoarse]; - fzeroC = &DC[d000 * numberOfLBnodesCoarse]; - ftneC = &DC[dPPP * numberOfLBnodesCoarse]; - ftswC = &DC[dMMP * numberOfLBnodesCoarse]; - ftseC = &DC[dPMP * numberOfLBnodesCoarse]; - ftnwC = &DC[dMPP * numberOfLBnodesCoarse]; - fbneC = &DC[dPPM * numberOfLBnodesCoarse]; - fbswC = &DC[dMMM * numberOfLBnodesCoarse]; - fbseC = &DC[dPMM * numberOfLBnodesCoarse]; - fbnwC = &DC[dMPM * numberOfLBnodesCoarse]; - } - else - { - fwC = &DC[dP00 * numberOfLBnodesCoarse]; - feC = &DC[dM00 * numberOfLBnodesCoarse]; - fsC = &DC[d0P0 * numberOfLBnodesCoarse]; - fnC = &DC[d0M0 * numberOfLBnodesCoarse]; - fbC = &DC[d00P * numberOfLBnodesCoarse]; - ftC = &DC[d00M * numberOfLBnodesCoarse]; - fswC = &DC[dPP0 * numberOfLBnodesCoarse]; - fneC = &DC[dMM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dPM0 * numberOfLBnodesCoarse]; - fseC = &DC[dMP0 * numberOfLBnodesCoarse]; - fbwC = &DC[dP0P * numberOfLBnodesCoarse]; - fteC = &DC[dM0M * numberOfLBnodesCoarse]; - ftwC = &DC[dP0M * numberOfLBnodesCoarse]; - fbeC = &DC[dM0P * numberOfLBnodesCoarse]; - fbsC = &DC[d0PP * numberOfLBnodesCoarse]; - ftnC = &DC[d0MM * numberOfLBnodesCoarse]; - ftsC = &DC[d0PM * numberOfLBnodesCoarse]; - fbnC = &DC[d0MP * numberOfLBnodesCoarse]; - fzeroC = &DC[d000 * numberOfLBnodesCoarse]; - fbswC = &DC[dPPP * numberOfLBnodesCoarse]; - fbneC = &DC[dMMP * numberOfLBnodesCoarse]; - fbnwC = &DC[dPMP * numberOfLBnodesCoarse]; - fbseC = &DC[dMPP * numberOfLBnodesCoarse]; - ftswC = &DC[dPPM * numberOfLBnodesCoarse]; - ftneC = &DC[dMMM * numberOfLBnodesCoarse]; - ftnwC = &DC[dPMM * numberOfLBnodesCoarse]; - ftseC = &DC[dMPM * numberOfLBnodesCoarse]; - } - - //////////////////////////////////////////////////////////////////////////////// - const unsigned ix = threadIdx.x; // Globaler x-Index - const unsigned iy = blockIdx.x; // Globaler y-Index - const unsigned iz = blockIdx.y; // Globaler z-Index - - const unsigned nx = blockDim.x; - const unsigned ny = gridDim.x; - - const unsigned k = nx*(ny*iz + iy) + ix; - ////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////// - real eps_new = c1o2; - real omegaS = omCoarse;//-omCoarse; - real o = omFine;//-omFine; - //real op = one; - //real cu_sq; - - real xoff, yoff, zoff; - real xoff_sq, yoff_sq, zoff_sq; - - real press;//,drho,vx1,vx2,vx3; - real /*press_SWT,*/drho_SWT,vx1_SWT,vx2_SWT,vx3_SWT; - real /*press_NWT,*/drho_NWT,vx1_NWT,vx2_NWT,vx3_NWT; - real /*press_NET,*/drho_NET,vx1_NET,vx2_NET,vx3_NET; - real /*press_SET,*/drho_SET,vx1_SET,vx2_SET,vx3_SET; - real /*press_SWB,*/drho_SWB,vx1_SWB,vx2_SWB,vx3_SWB; - real /*press_NWB,*/drho_NWB,vx1_NWB,vx2_NWB,vx3_NWB; - real /*press_NEB,*/drho_NEB,vx1_NEB,vx2_NEB,vx3_NEB; - real /*press_SEB,*/drho_SEB,vx1_SEB,vx2_SEB,vx3_SEB; - real f_E,f_W,f_N,f_S,f_T,f_B,f_NE,f_SW,f_SE,f_NW,f_TE,f_BW,f_BE,f_TW,f_TN,f_BS,f_BN,f_TS,f_ZERO,f_TNE, f_TSW, f_TSE, f_TNW, f_BNE, f_BSW, f_BSE, f_BNW; - //real feq_E,feq_W,feq_N,feq_S,feq_T,feq_B,feq_NE,feq_SW,feq_SE,feq_NW,feq_TE,feq_BW,feq_BE,feq_TW,feq_TN,feq_BS,feq_BN,feq_TS,feq_ZERO,feq_TNE, feq_TSW, feq_TSE, feq_TNW, feq_BNE, feq_BSW, feq_BSE, feq_BNW; - real kxyFromfcNEQ_SWT, kyzFromfcNEQ_SWT, kxzFromfcNEQ_SWT, kxxMyyFromfcNEQ_SWT, kxxMzzFromfcNEQ_SWT; - real kxyFromfcNEQ_NWT, kyzFromfcNEQ_NWT, kxzFromfcNEQ_NWT, kxxMyyFromfcNEQ_NWT, kxxMzzFromfcNEQ_NWT; - real kxyFromfcNEQ_NET, kyzFromfcNEQ_NET, kxzFromfcNEQ_NET, kxxMyyFromfcNEQ_NET, kxxMzzFromfcNEQ_NET; - real kxyFromfcNEQ_SET, kyzFromfcNEQ_SET, kxzFromfcNEQ_SET, kxxMyyFromfcNEQ_SET, kxxMzzFromfcNEQ_SET; - real kxyFromfcNEQ_SWB, kyzFromfcNEQ_SWB, kxzFromfcNEQ_SWB, kxxMyyFromfcNEQ_SWB, kxxMzzFromfcNEQ_SWB; - real kxyFromfcNEQ_NWB, kyzFromfcNEQ_NWB, kxzFromfcNEQ_NWB, kxxMyyFromfcNEQ_NWB, kxxMzzFromfcNEQ_NWB; - real kxyFromfcNEQ_NEB, kyzFromfcNEQ_NEB, kxzFromfcNEQ_NEB, kxxMyyFromfcNEQ_NEB, kxxMzzFromfcNEQ_NEB; - real kxyFromfcNEQ_SEB, kyzFromfcNEQ_SEB, kxzFromfcNEQ_SEB, kxxMyyFromfcNEQ_SEB, kxxMzzFromfcNEQ_SEB; - real a0, ax, ay, az, axx, ayy, azz, axy, axz, ayz, b0, bx, by, bz, bxx, byy, bzz, bxy, bxz, byz, c0, cx, cy, cz, cxx, cyy, czz, cxy, cxz, cyz, axyz, bxyz, cxyz; - real d0, dx, dy, dz, dxy, dxz, dyz, dxyz; - - real x,y,z; - - - if(k<kCF) - { - ////////////////////////////////////////////////////////////////////////// - xoff = offCF.x[k]; - yoff = offCF.y[k]; - zoff = offCF.z[k]; - xoff_sq = xoff * xoff; - yoff_sq = yoff * yoff; - zoff_sq = zoff * zoff; - ////////////////////////////////////////////////////////////////////////// - //SWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - unsigned int k0zero= posCSWB[k]; - unsigned int k0w = neighborCX[k0zero]; - unsigned int k0s = neighborCY[k0zero]; - unsigned int k0b = neighborCZ[k0zero]; - unsigned int k0sw = neighborCY[k0w]; - unsigned int k0bw = neighborCZ[k0w]; - unsigned int k0bs = neighborCZ[k0s]; - unsigned int k0bsw = neighborCZ[k0sw]; - ////////////////////////////////////////////////////////////////////////// - //index - unsigned int kzero= k0zero; - unsigned int kw = k0w; - unsigned int ks = k0s; - unsigned int kb = k0b; - unsigned int ksw = k0sw; - unsigned int kbw = k0bw; - unsigned int kbs = k0bs; - unsigned int kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - drho_SWB = ((((f_TNE + f_BSW) + (f_TSE + f_BNW)) + ((f_TNW + f_BSE) + (f_TSW + f_BNE))) + - (((f_TS + f_BN) + (f_BS + f_TN)) + ((f_TW + f_BE) + (f_TE + f_BW)) + - ((f_NW + f_SE) + (f_NE + f_SW))) + - ((f_W + f_E) + (f_S + f_N) + (f_B + f_T))) + - f_ZERO; - vx1_SWB = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SWB); - vx2_SWB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWB); - vx3_SWB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWB); - - kxyFromfcNEQ_SWB = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx2_SWB))); - kyzFromfcNEQ_SWB = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SWB) - ((vx2_SWB*vx3_SWB))); - kxzFromfcNEQ_SWB = -c3o1*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx3_SWB))); - kxxMyyFromfcNEQ_SWB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx1_SWB-vx2_SWB*vx2_SWB))); - kxxMzzFromfcNEQ_SWB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx1_SWB-vx3_SWB*vx3_SWB))); - - ////////////////////////////////////////////////////////////////////////// - //SWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborCZ[kb]; - ksw = kbsw; - kbw = neighborCZ[kbw]; - kbs = neighborCZ[kbs]; - kbsw = neighborCZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - drho_SWT = ((((f_TNE + f_BSW) + (f_TSE + f_BNW)) + ((f_TNW + f_BSE) + (f_TSW + f_BNE))) + - (((f_TS + f_BN) + (f_BS + f_TN)) + ((f_TW + f_BE) + (f_TE + f_BW)) + - ((f_NW + f_SE) + (f_NE + f_SW))) + - ((f_W + f_E) + (f_S + f_N) + (f_B + f_T))) + - f_ZERO; - vx1_SWT = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SWT); - vx2_SWT = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWT); - vx3_SWT = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWT); - - kxyFromfcNEQ_SWT = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx2_SWT))); - kyzFromfcNEQ_SWT = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SWT) - ((vx2_SWT*vx3_SWT))); - kxzFromfcNEQ_SWT = -c3o1*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx3_SWT))); - kxxMyyFromfcNEQ_SWT = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx1_SWT-vx2_SWT*vx2_SWT))); - kxxMzzFromfcNEQ_SWT = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx1_SWT-vx3_SWT*vx3_SWT))); - - ////////////////////////////////////////////////////////////////////////// - //SET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborCX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborCX[ksw]; - kbw = neighborCX[kbw]; - kbs = kbsw; - kbsw = neighborCX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - drho_SET = ((((f_TNE + f_BSW) + (f_TSE + f_BNW)) + ((f_TNW + f_BSE) + (f_TSW + f_BNE))) + - (((f_TS + f_BN) + (f_BS + f_TN)) + ((f_TW + f_BE) + (f_TE + f_BW)) + - ((f_NW + f_SE) + (f_NE + f_SW))) + - ((f_W + f_E) + (f_S + f_N) + (f_B + f_T))) + - f_ZERO; - vx1_SET = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SET); - vx2_SET = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SET); - vx3_SET = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SET); - - kxyFromfcNEQ_SET = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SET) - ((vx1_SET*vx2_SET))); - kyzFromfcNEQ_SET = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SET) - ((vx2_SET*vx3_SET))); - kxzFromfcNEQ_SET = -c3o1*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_SET) - ((vx1_SET*vx3_SET))); - kxxMyyFromfcNEQ_SET = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (c1o1 + drho_SET) - ((vx1_SET*vx1_SET-vx2_SET*vx2_SET))); - kxxMzzFromfcNEQ_SET = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (c1o1 + drho_SET) - ((vx1_SET*vx1_SET-vx3_SET*vx3_SET))); - - ////////////////////////////////////////////////////////////////////////// - //SEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborCX[k0w]; - ks = k0sw; - ksw = neighborCX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - drho_SEB = ((((f_TNE + f_BSW) + (f_TSE + f_BNW)) + ((f_TNW + f_BSE) + (f_TSW + f_BNE))) + - (((f_TS + f_BN) + (f_BS + f_TN)) + ((f_TW + f_BE) + (f_TE + f_BW)) + - ((f_NW + f_SE) + (f_NE + f_SW))) + - ((f_W + f_E) + (f_S + f_N) + (f_B + f_T))) + - f_ZERO; - vx1_SEB = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SEB); - vx2_SEB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SEB); - vx3_SEB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SEB); - - kxyFromfcNEQ_SEB = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx2_SEB))); - kyzFromfcNEQ_SEB = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SEB) - ((vx2_SEB*vx3_SEB))); - kxzFromfcNEQ_SEB = -c3o1*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx3_SEB))); - kxxMyyFromfcNEQ_SEB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx1_SEB-vx2_SEB*vx2_SEB))); - kxxMzzFromfcNEQ_SEB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx1_SEB-vx3_SEB*vx3_SEB))); - - ////////////////////////////////////////////////////////////////////////// - //NWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= k0s; - k0w = k0sw; - k0s = neighborCY[k0s]; - k0b = k0bs; - k0sw = neighborCY[k0sw]; - k0bw = k0bsw; - k0bs = neighborCY[k0bs]; - k0bsw = neighborCY[k0bsw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - drho_NWB = ((((f_TNE + f_BSW) + (f_TSE + f_BNW)) + ((f_TNW + f_BSE) + (f_TSW + f_BNE))) + - (((f_TS + f_BN) + (f_BS + f_TN)) + ((f_TW + f_BE) + (f_TE + f_BW)) + - ((f_NW + f_SE) + (f_NE + f_SW))) + - ((f_W + f_E) + (f_S + f_N) + (f_B + f_T))) + - f_ZERO; - vx1_NWB = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NWB); - vx2_NWB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWB); - vx3_NWB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWB); - - kxyFromfcNEQ_NWB = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx2_NWB))); - kyzFromfcNEQ_NWB = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NWB) - ((vx2_NWB*vx3_NWB))); - kxzFromfcNEQ_NWB = -c3o1*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx3_NWB))); - kxxMyyFromfcNEQ_NWB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx1_NWB-vx2_NWB*vx2_NWB))); - kxxMzzFromfcNEQ_NWB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx1_NWB-vx3_NWB*vx3_NWB))); - - ////////////////////////////////////////////////////////////////////////// - //NWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborCZ[kb]; - ksw = kbsw; - kbw = neighborCZ[kbw]; - kbs = neighborCZ[kbs]; - kbsw = neighborCZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - drho_NWT = ((((f_TNE + f_BSW) + (f_TSE + f_BNW)) + ((f_TNW + f_BSE) + (f_TSW + f_BNE))) + - (((f_TS + f_BN) + (f_BS + f_TN)) + ((f_TW + f_BE) + (f_TE + f_BW)) + - ((f_NW + f_SE) + (f_NE + f_SW))) + - ((f_W + f_E) + (f_S + f_N) + (f_B + f_T))) + - f_ZERO; - vx1_NWT = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NWT); - vx2_NWT = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWT); - vx3_NWT = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWT); - - kxyFromfcNEQ_NWT = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx2_NWT))); - kyzFromfcNEQ_NWT = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NWT) - ((vx2_NWT*vx3_NWT))); - kxzFromfcNEQ_NWT = -c3o1*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx3_NWT))); - kxxMyyFromfcNEQ_NWT = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx1_NWT-vx2_NWT*vx2_NWT))); - kxxMzzFromfcNEQ_NWT = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx1_NWT-vx3_NWT*vx3_NWT))); - - ////////////////////////////////////////////////////////////////////////// - //NET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborCX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborCX[ksw]; - kbw = neighborCX[kbw]; - kbs = kbsw; - kbsw = neighborCX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - drho_NET = ((((f_TNE + f_BSW) + (f_TSE + f_BNW)) + ((f_TNW + f_BSE) + (f_TSW + f_BNE))) + - (((f_TS + f_BN) + (f_BS + f_TN)) + ((f_TW + f_BE) + (f_TE + f_BW)) + - ((f_NW + f_SE) + (f_NE + f_SW))) + - ((f_W + f_E) + (f_S + f_N) + (f_B + f_T))) + - f_ZERO; - vx1_NET = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NET); - vx2_NET = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NET); - vx3_NET = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NET); - - kxyFromfcNEQ_NET = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NET) - ((vx1_NET*vx2_NET))); - kyzFromfcNEQ_NET = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NET) - ((vx2_NET*vx3_NET))); - kxzFromfcNEQ_NET = -c3o1*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_NET) - ((vx1_NET*vx3_NET))); - kxxMyyFromfcNEQ_NET = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (c1o1 + drho_NET) - ((vx1_NET*vx1_NET-vx2_NET*vx2_NET))); - kxxMzzFromfcNEQ_NET = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (c1o1 + drho_NET) - ((vx1_NET*vx1_NET-vx3_NET*vx3_NET))); - - ////////////////////////////////////////////////////////////////////////// - //NEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborCX[k0w]; - ks = k0sw; - ksw = neighborCX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - drho_NEB = ((((f_TNE + f_BSW) + (f_TSE + f_BNW)) + ((f_TNW + f_BSE) + (f_TSW + f_BNE))) + - (((f_TS + f_BN) + (f_BS + f_TN)) + ((f_TW + f_BE) + (f_TE + f_BW)) + - ((f_NW + f_SE) + (f_NE + f_SW))) + - ((f_W + f_E) + (f_S + f_N) + (f_B + f_T))) + - f_ZERO; - vx1_NEB = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NEB); - vx2_NEB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NEB); - vx3_NEB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NEB); - - kxyFromfcNEQ_NEB = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx2_NEB))); - kyzFromfcNEQ_NEB = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NEB) - ((vx2_NEB*vx3_NEB))); - kxzFromfcNEQ_NEB = -c3o1*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx3_NEB))); - kxxMyyFromfcNEQ_NEB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx1_NEB-vx2_NEB*vx2_NEB))); - kxxMzzFromfcNEQ_NEB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx1_NEB-vx3_NEB*vx3_NEB))); - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // kxyFromfcNEQ_SWB = zero; - //kyzFromfcNEQ_SWB = zero; - //kxzFromfcNEQ_SWB = zero; - //kxxMyyFromfcNEQ_SWB = zero; - //kxxMzzFromfcNEQ_SWB = zero; - //kxyFromfcNEQ_SWT = zero; - //kyzFromfcNEQ_SWT = zero; - //kxzFromfcNEQ_SWT = zero; - //kxxMyyFromfcNEQ_SWT = zero; - //kxxMzzFromfcNEQ_SWT = zero; - //kxyFromfcNEQ_SET = zero; - //kyzFromfcNEQ_SET = zero; - //kxzFromfcNEQ_SET = zero; - //kxxMyyFromfcNEQ_SET = zero; - //kxxMzzFromfcNEQ_SET = zero; - //kxyFromfcNEQ_SEB = zero; - //kyzFromfcNEQ_SEB = zero; - //kxzFromfcNEQ_SEB = zero; - //kxxMyyFromfcNEQ_SEB = zero; - //kxxMzzFromfcNEQ_SEB = zero; - //kxyFromfcNEQ_NWB = zero; - //kyzFromfcNEQ_NWB = zero; - //kxzFromfcNEQ_NWB = zero; - //kxxMyyFromfcNEQ_NWB = zero; - //kxxMzzFromfcNEQ_NWB = zero; - //kxyFromfcNEQ_NWT = zero; - //kyzFromfcNEQ_NWT = zero; - //kxzFromfcNEQ_NWT = zero; - //kxxMyyFromfcNEQ_NWT = zero; - //kxxMzzFromfcNEQ_NWT = zero; - //kxyFromfcNEQ_NET = zero; - //kyzFromfcNEQ_NET = zero; - //kxzFromfcNEQ_NET = zero; - //kxxMyyFromfcNEQ_NET = zero; - //kxxMzzFromfcNEQ_NET = zero; - //kxyFromfcNEQ_NEB = zero; - //kyzFromfcNEQ_NEB = zero; - //kxzFromfcNEQ_NEB = zero; - //kxxMyyFromfcNEQ_NEB = zero; - //kxxMzzFromfcNEQ_NEB = zero; - ////////////////////////////////////////////////////////////////////////// - //3 - ////////////////////////////////////////////////////////////////////////// - a0 = (-kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT - - kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - - kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - - c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET - c2o1*kxyFromfcNEQ_NWB - c2o1*kxyFromfcNEQ_NWT + - c2o1*kxyFromfcNEQ_SEB + c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + - c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB - c2o1*kxzFromfcNEQ_NWT + - c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB - c2o1*kxzFromfcNEQ_SWT + - c8o1*vx1_NEB + c8o1*vx1_NET + c8o1*vx1_NWB + c8o1*vx1_NWT + c8o1*vx1_SEB + - c8o1*vx1_SET + c8o1*vx1_SWB + c8o1*vx1_SWT + c2o1*vx2_NEB + c2o1*vx2_NET - - c2o1*vx2_NWB - c2o1*vx2_NWT - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + - c2o1*vx2_SWT - c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - - c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1; - b0 = (c2o1*kxxMyyFromfcNEQ_NEB + c2o1*kxxMyyFromfcNEQ_NET + c2o1*kxxMyyFromfcNEQ_NWB + c2o1*kxxMyyFromfcNEQ_NWT - - c2o1*kxxMyyFromfcNEQ_SEB - c2o1*kxxMyyFromfcNEQ_SET - c2o1*kxxMyyFromfcNEQ_SWB - c2o1*kxxMyyFromfcNEQ_SWT - - kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - - c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET + c2o1*kxyFromfcNEQ_NWB + c2o1*kxyFromfcNEQ_NWT - - c2o1*kxyFromfcNEQ_SEB - c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + - c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET + c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + - c2o1*kyzFromfcNEQ_SEB - c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB - c2o1*kyzFromfcNEQ_SWT + - c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT + - c8o1*vx2_NEB + c8o1*vx2_NET + c8o1*vx2_NWB + c8o1*vx2_NWT + - c8o1*vx2_SEB + c8o1*vx2_SET + c8o1*vx2_SWB + c8o1*vx2_SWT - - c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + - c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1; - - //b0 = ((eight*vx2_NEB + eight*vx2_SWT) + (eight*vx2_NET + eight*vx2_SWB) + (eight*vx2_NWB + eight*vx2_SET) + (eight*vx2_NWT + eight*vx2_SEB))/sixtyfour; - - c0 = (kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT - - c2o1*kxxMzzFromfcNEQ_NEB + c2o1*kxxMzzFromfcNEQ_NET - c2o1*kxxMzzFromfcNEQ_NWB + c2o1*kxxMzzFromfcNEQ_NWT - - c2o1*kxxMzzFromfcNEQ_SEB + c2o1*kxxMzzFromfcNEQ_SET - c2o1*kxxMzzFromfcNEQ_SWB + c2o1*kxxMzzFromfcNEQ_SWT - - c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB + c2o1*kxzFromfcNEQ_NWT - - c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB + c2o1*kxzFromfcNEQ_SWT - - c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET - c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + - c2o1*kyzFromfcNEQ_SEB + c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB + c2o1*kyzFromfcNEQ_SWT - - c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - - c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT + - c8o1*vx3_NEB + c8o1*vx3_NET + c8o1*vx3_NWB + c8o1*vx3_NWT + - c8o1*vx3_SEB + c8o1*vx3_SET + c8o1*vx3_SWB + c8o1*vx3_SWT)/c64o1; - ax = (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT + vx1_SEB + vx1_SET - vx1_SWB - vx1_SWT)/c4o1; - bx = (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT + vx2_SEB + vx2_SET - vx2_SWB - vx2_SWT)/c4o1; - //bx = ((vx2_NEB - vx2_SWT) + (vx2_NET - vx2_SWB) + (vx2_SET - vx2_NWB) + (vx2_SEB - vx2_NWT))/four; - cx = (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT + vx3_SEB + vx3_SET - vx3_SWB - vx3_SWT)/c4o1; - axx= (kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT + - kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + - c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB - c2o1*vx2_NWT - - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + c2o1*vx2_SWT - - c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - - c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1; - bxx= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET - kxyFromfcNEQ_NWB - kxyFromfcNEQ_NWT + - kxyFromfcNEQ_SEB + kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - - c2o1*vx1_NEB - c2o1*vx1_NET + c2o1*vx1_NWB + c2o1*vx1_NWT + - c2o1*vx1_SEB + c2o1*vx1_SET - c2o1*vx1_SWB - c2o1*vx1_SWT)/c8o1; - cxx= (kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB - kxzFromfcNEQ_NWT + - kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB - kxzFromfcNEQ_SWT + - c2o1*vx1_NEB - c2o1*vx1_NET - c2o1*vx1_NWB + c2o1*vx1_NWT + - c2o1*vx1_SEB - c2o1*vx1_SET - c2o1*vx1_SWB + c2o1*vx1_SWT)/c8o1; - ay = (vx1_NEB + vx1_NET + vx1_NWB + vx1_NWT - vx1_SEB - vx1_SET - vx1_SWB - vx1_SWT)/c4o1; - by = (vx2_NEB + vx2_NET + vx2_NWB + vx2_NWT - vx2_SEB - vx2_SET - vx2_SWB - vx2_SWT)/c4o1; - cy = (vx3_NEB + vx3_NET + vx3_NWB + vx3_NWT - vx3_SEB - vx3_SET - vx3_SWB - vx3_SWT)/c4o1; - ayy= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET + kxyFromfcNEQ_NWB + kxyFromfcNEQ_NWT - - kxyFromfcNEQ_SEB - kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - - c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB + c2o1*vx2_NWT + - c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB - c2o1*vx2_SWT)/c8o1; - byy= (-c2o1*kxxMyyFromfcNEQ_NEB - c2o1*kxxMyyFromfcNEQ_NET - c2o1*kxxMyyFromfcNEQ_NWB - c2o1*kxxMyyFromfcNEQ_NWT + - c2o1*kxxMyyFromfcNEQ_SEB + c2o1*kxxMyyFromfcNEQ_SET + c2o1*kxxMyyFromfcNEQ_SWB + c2o1*kxxMyyFromfcNEQ_SWT + - kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - - kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + - c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT - - c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + - c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1; - cyy= (kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET + kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - - kyzFromfcNEQ_SEB - kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB - kyzFromfcNEQ_SWT + - c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB - c2o1*vx2_NWT - - c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB + c2o1*vx2_SWT)/c8o1; - az = (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT - vx1_SEB + vx1_SET - vx1_SWB + vx1_SWT)/c4o1; - //bz = (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT - vx2_SEB + vx2_SET - vx2_SWB + vx2_SWT)/four; - bz = ((vx2_SWT - vx2_NEB) + (vx2_NET - vx2_SWB) + (vx2_SET - vx2_NWB) + (vx2_NWT - vx2_SEB))/c4o1; - cz = (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT - vx3_SEB + vx3_SET - vx3_SWB + vx3_SWT)/c4o1; - azz= (-kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB + kxzFromfcNEQ_NWT - - kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB + kxzFromfcNEQ_SWT + - c2o1*vx3_NEB - c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + - c2o1*vx3_SEB - c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1; - bzz= (-kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET - kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - - kyzFromfcNEQ_SEB + kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB + kyzFromfcNEQ_SWT + - c2o1*vx3_NEB - c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - - c2o1*vx3_SEB + c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1; - czz= (-kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT + - c2o1*kxxMzzFromfcNEQ_NEB - c2o1*kxxMzzFromfcNEQ_NET + c2o1*kxxMzzFromfcNEQ_NWB - c2o1*kxxMzzFromfcNEQ_NWT + - c2o1*kxxMzzFromfcNEQ_SEB - c2o1*kxxMzzFromfcNEQ_SET + c2o1*kxxMzzFromfcNEQ_SWB - c2o1*kxxMzzFromfcNEQ_SWT - - c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - - c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT)/c16o1; - axy= (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT - vx1_SEB - vx1_SET + vx1_SWB + vx1_SWT)/c2o1; - bxy= (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT - vx2_SEB - vx2_SET + vx2_SWB + vx2_SWT)/c2o1; - cxy= (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT - vx3_SEB - vx3_SET + vx3_SWB + vx3_SWT)/c2o1; - axz= (-vx1_NEB + vx1_NET + vx1_NWB - vx1_NWT - vx1_SEB + vx1_SET + vx1_SWB - vx1_SWT)/c2o1; - bxz= (-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT - vx2_SEB + vx2_SET + vx2_SWB - vx2_SWT)/c2o1; - cxz= (-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT - vx3_SEB + vx3_SET + vx3_SWB - vx3_SWT)/c2o1; - ayz= (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT + vx1_SEB - vx1_SET + vx1_SWB - vx1_SWT)/c2o1; - byz= (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT + vx2_SEB - vx2_SET + vx2_SWB - vx2_SWT)/c2o1; - cyz= (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT + vx3_SEB - vx3_SET + vx3_SWB - vx3_SWT)/c2o1; - axyz=-vx1_NEB + vx1_NET + vx1_NWB - vx1_NWT + vx1_SEB - vx1_SET - vx1_SWB + vx1_SWT; - bxyz=-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT + vx2_SEB - vx2_SET - vx2_SWB + vx2_SWT; - cxyz=-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT + vx3_SEB - vx3_SET - vx3_SWB + vx3_SWT; - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real kxyAverage = c0o1; - real kyzAverage = c0o1; - real kxzAverage = c0o1; - real kxxMyyAverage = c0o1; - real kxxMzzAverage = c0o1; - //real kxyAverage =(kxyFromfcNEQ_SWB+ - // kxyFromfcNEQ_SWT+ - // kxyFromfcNEQ_SET+ - // kxyFromfcNEQ_SEB+ - // kxyFromfcNEQ_NWB+ - // kxyFromfcNEQ_NWT+ - // kxyFromfcNEQ_NET+ - // kxyFromfcNEQ_NEB)*c1o8-(ay+bx); - //real kyzAverage =(kyzFromfcNEQ_SWB+ - // kyzFromfcNEQ_SWT+ - // kyzFromfcNEQ_SET+ - // kyzFromfcNEQ_SEB+ - // kyzFromfcNEQ_NWB+ - // kyzFromfcNEQ_NWT+ - // kyzFromfcNEQ_NET+ - // kyzFromfcNEQ_NEB)*c1o8-(bz+cy); - //real kxzAverage =(kxzFromfcNEQ_SWB+ - // kxzFromfcNEQ_SWT+ - // kxzFromfcNEQ_SET+ - // kxzFromfcNEQ_SEB+ - // kxzFromfcNEQ_NWB+ - // kxzFromfcNEQ_NWT+ - // kxzFromfcNEQ_NET+ - // kxzFromfcNEQ_NEB)*c1o8-(az+cx); - //real kxxMyyAverage =(kxxMyyFromfcNEQ_SWB+ - // kxxMyyFromfcNEQ_SWT+ - // kxxMyyFromfcNEQ_SET+ - // kxxMyyFromfcNEQ_SEB+ - // kxxMyyFromfcNEQ_NWB+ - // kxxMyyFromfcNEQ_NWT+ - // kxxMyyFromfcNEQ_NET+ - // kxxMyyFromfcNEQ_NEB)*c1o8-(ax-by); - //real kxxMzzAverage =(kxxMzzFromfcNEQ_SWB+ - // kxxMzzFromfcNEQ_SWT+ - // kxxMzzFromfcNEQ_SET+ - // kxxMzzFromfcNEQ_SEB+ - // kxxMzzFromfcNEQ_NWB+ - // kxxMzzFromfcNEQ_NWT+ - // kxxMzzFromfcNEQ_NET+ - // kxxMzzFromfcNEQ_NEB)*c1o8-(ax-cz); - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //Press - //d0 = ( press_NEB + press_NET + press_NWB + press_NWT + press_SEB + press_SET + press_SWB + press_SWT) * c1o8; - //dx = ( press_NEB + press_NET - press_NWB - press_NWT + press_SEB + press_SET - press_SWB - press_SWT) * c1o4; - //dy = ( press_NEB + press_NET + press_NWB + press_NWT - press_SEB - press_SET - press_SWB - press_SWT) * c1o4; - //dz = (-press_NEB + press_NET - press_NWB + press_NWT - press_SEB + press_SET - press_SWB + press_SWT) * c1o4; - //dxy = ( press_NEB + press_NET - press_NWB - press_NWT - press_SEB - press_SET + press_SWB + press_SWT) * c1o2; - //dxz = (-press_NEB + press_NET + press_NWB - press_NWT - press_SEB + press_SET + press_SWB - press_SWT) * c1o2; - //dyz = (-press_NEB + press_NET - press_NWB + press_NWT + press_SEB - press_SET + press_SWB - press_SWT) * c1o2; - //dxyz = -press_NEB + press_NET + press_NWB - press_NWT + press_SEB - press_SET - press_SWB + press_SWT; - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho - real LapRho = ((xoff != c0o1) || (yoff != c0o1) || (zoff != c0o1)) ? c0o1 : -c3o1*(ax*ax + by*by + cz*cz) - c6o1 * (bx*ay + cx*az + cy*bz); - d0 = ( drho_NEB + drho_NET + drho_NWB + drho_NWT + drho_SEB + drho_SET + drho_SWB + drho_SWT) * c1o8; - dx = ( drho_NEB + drho_NET - drho_NWB - drho_NWT + drho_SEB + drho_SET - drho_SWB - drho_SWT) * c1o4; - dy = ( drho_NEB + drho_NET + drho_NWB + drho_NWT - drho_SEB - drho_SET - drho_SWB - drho_SWT) * c1o4; - dz = (-drho_NEB + drho_NET - drho_NWB + drho_NWT - drho_SEB + drho_SET - drho_SWB + drho_SWT) * c1o4; - dxy = ( drho_NEB + drho_NET - drho_NWB - drho_NWT - drho_SEB - drho_SET + drho_SWB + drho_SWT) * c1o2; - dxz = (-drho_NEB + drho_NET + drho_NWB - drho_NWT - drho_SEB + drho_SET + drho_SWB - drho_SWT) * c1o2; - dyz = (-drho_NEB + drho_NET - drho_NWB + drho_NWT + drho_SEB - drho_SET + drho_SWB - drho_SWT) * c1o2; - dxyz = -drho_NEB + drho_NET + drho_NWB - drho_NWT + drho_SEB - drho_SET - drho_SWB + drho_SWT; - // d0 = zero; - //dx = zero; - //dy = zero; - //dz = zero; - //dxy = zero; - //dxz = zero; - //dyz = zero; - //dxyz = zero; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - // Bernd das Brot - // - // X------X - // | | x---x - // | ---+-+-> | ----> off-vector - // | | x---x - // X------X - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - a0 = a0 + xoff * ax + yoff * ay + zoff * az + xoff_sq * axx + yoff_sq * ayy + zoff_sq * azz + xoff*yoff*axy + xoff*zoff*axz + yoff*zoff*ayz; - ax = ax + c2o1 * xoff * axx + yoff * axy + zoff * axz; - ay = ay + c2o1 * yoff * ayy + xoff * axy + zoff * ayz; - az = az + c2o1 * zoff * azz + xoff * axz + yoff * ayz; - b0 = b0 + xoff * bx + yoff * by + zoff * bz + xoff_sq * bxx + yoff_sq * byy + zoff_sq * bzz + xoff*yoff*bxy + xoff*zoff*bxz + yoff*zoff*byz; - bx = bx + c2o1 * xoff * bxx + yoff * bxy + zoff * bxz; - by = by + c2o1 * yoff * byy + xoff * bxy + zoff * byz; - bz = bz + c2o1 * zoff * bzz + xoff * bxz + yoff * byz; - c0 = c0 + xoff * cx + yoff * cy + zoff * cz + xoff_sq * cxx + yoff_sq * cyy + zoff_sq * czz + xoff*yoff*cxy + xoff*zoff*cxz + yoff*zoff*cyz; - cx = cx + c2o1 * xoff * cxx + yoff * cxy + zoff * cxz; - cy = cy + c2o1 * yoff * cyy + xoff * cxy + zoff * cyz; - cz = cz + c2o1 * zoff * czz + xoff * cxz + yoff * cyz; - d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz; - dx = dx + yoff * dxy + zoff * dxz; - dy = dy + xoff * dxy + zoff * dyz; - dz = dz + xoff * dxz + yoff * dyz; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // FIX /////////////////////////////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //AAAAAAAAAAAAHHHHHHHHHHHH!!!!! Mieser Test!!! - //b0= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz= c0= cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero; - //a0=zero; - //ax=zero; - //ay=zero; - //az=zero; - //axx=zero; - //ayy=zero; - //azz=zero; - //axy=zero; - //axz=zero; - //ayz=zero; - //b0=zero; - //bx=zero; - //by=zero; - //bz=zero; - //bxx=zero; - //byy=zero; - //bzz=zero; - //bxy=zero; - //bxz=zero; - //byz=zero; - //c0=zero; - //cx=zero; - //cy=zero; - //cz=zero; - //cxx=zero; - //cyy=zero; - //czz=zero; - //cxy=zero; - //cxz=zero; - //cyz=zero; - //axyz=zero; - //bxyz=zero; - //cxyz=zero; - //ax= ay= az= axx= ayy= azz= axy= axz= ayz= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz= cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero; - //a0=zero; - //b0=zero; - //c0=c1o100; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = c0o1; - real mfabb = c0o1; - real mfbcb = c0o1; - real mfbab = c0o1; - real mfbbc = c0o1; - real mfbba = c0o1; - real mfccb = c0o1; - real mfaab = c0o1; - real mfcab = c0o1; - real mfacb = c0o1; - real mfcbc = c0o1; - real mfaba = c0o1; - real mfcba = c0o1; - real mfabc = c0o1; - real mfbcc = c0o1; - real mfbaa = c0o1; - real mfbca = c0o1; - real mfbac = c0o1; - real mfbbb = c0o1; - real mfccc = c0o1; - real mfaac = c0o1; - real mfcac = c0o1; - real mfacc = c0o1; - real mfcca = c0o1; - real mfaaa = c0o1; - real mfcaa = c0o1; - real mfaca = c0o1; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real m0, m1, m2, vvx, vvy, vvz, vx2, vy2, vz2, oMdrho; - real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz; - //real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein - //real O3 = two - o; - //real residu, residutmp; - //residutmp = zero;// /*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new; - real NeqOn = c1o1;//zero;//one; //.... one = on ..... zero = off - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position SWB -0.25f, -0.25f, -0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = -c1o4; - y = -c1o4; - z = -c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //real mxoff = -xoff; - //real myoff = -yoff; - //real mzoff = -zoff; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c3o64*drho_NEB+c1o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c27o64*drho_SWB+c9o64*drho_SWT; - //press = press_SWT * (c9o64 + c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + - // press_NWT * (c3o64 + c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + - // press_SET * (c3o64 - c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + - // press_NET * (c1o64 - c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + - // press_NEB * (c3o64 - c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + - // press_NWB * (c9o64 + c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c9o64 - c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c27o64 + c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff); - //drho = drho_SWT * (c9o64 + c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + - // drho_NWT * (c3o64 + c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - // drho_SET * (c3o64 - c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + - // drho_NET * (c1o64 - c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + - // drho_NEB * (c3o64 - c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + - // drho_NWB * (c9o64 + c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c9o64 - c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c27o64 + c9o16 * xoff + c9o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa; - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y - + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y - + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0o1; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0o1; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0o1; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0o1; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0o1; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0o1; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0o1; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= posFSWB[k]; - k0w = neighborFX[k0zero]; - k0s = neighborFY[k0zero]; - k0b = neighborFZ[k0zero]; - k0sw = neighborFY[k0w]; - k0bw = neighborFZ[k0w]; - k0bs = neighborFZ[k0s]; - k0bsw = neighborFZ[k0sw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position SWT -0.25f, -0.25f, 0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = -c1o4; - y = -c1o4; - z = c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c1o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c27o64*drho_SWT; - //press = press_SWT * (c27o64 + c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + - // press_NWT * (c9o64 + c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + - // press_SET * (c9o64 - c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + - // press_NET * (c3o64 - c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + - // press_NEB * (c1o64 - c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + - // press_NWB * (c3o64 + c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c3o64 - c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c9o64 + c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff); - //drho = drho_SWT * (c27o64 + c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + - // drho_NWT * (c9o64 + c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + - // drho_SET * (c9o64 - c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - // drho_NET * (c3o64 - c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + - // drho_NEB * (c1o64 - c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + - // drho_NWB * (c3o64 + c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c3o64 - c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c9o64 + c3o16 * xoff + c3o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa; - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0o1; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0o1; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0o1; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0o1; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0o1; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0o1; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0o1; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position SET 0.25f, -0.25f, 0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = c1o4; - y = -c1o4; - z = c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho =c3o64*drho_NEB+c9o64*drho_NET+c1o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c27o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT; - //press = press_SET * (c27o64 - c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + - // press_NET * (c9o64 - c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c9o64 + c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + - // press_NWT * (c3o64 + c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + - // press_NWB * (c1o64 + c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + - // press_NEB * (c3o64 - c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c3o64 + c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c9o64 - c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff); - //drho = drho_SET * (c27o64 - c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + - // drho_NET * (c9o64 - c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c9o64 + c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - // drho_NWT * (c3o64 + c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + - // drho_NWB * (c1o64 + c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + - // drho_NEB * (c3o64 - c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c3o64 + c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c9o64 - c3o16 * xoff + c3o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa; - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0o1; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0o1; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0o1; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0o1; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0o1; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0o1; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0o1; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position SEB 0.25f, -0.25f, -0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = c1o4; - y = -c1o4; - z = -c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho =c9o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c1o64*drho_NWT+c27o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT; - //press = press_SET * (c9o64 - c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + - // press_NET * (c3o64 - c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c3o64 + c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + - // press_NWT * (c1o64 + c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + - // press_NWB * (c3o64 + c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + - // press_NEB * (c9o64 - c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c9o64 + c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c27o64 - c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff); - //drho = drho_SET * (c9o64 - c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + - // drho_NET * (c3o64 - c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c3o64 + c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + - // drho_NWT * (c1o64 + c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + - // drho_NWB * (c3o64 + c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + - // drho_NEB * (c9o64 - c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c9o64 + c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c27o64 - c9o16 * xoff + c9o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa; - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0o1; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0o1; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0o1; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0o1; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0o1; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0o1; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0o1; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position NWB -0.25f, 0.25f, -0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = -c1o4; - y = c1o4; - z = -c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c9o64*drho_NEB+c3o64*drho_NET+c27o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c1o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT; - //press = press_NWT * (c9o64 + c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + - // press_NET * (c3o64 - c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c3o64 + c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + - // press_SET * (c1o64 - c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + - // press_SEB * (c3o64 - c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + - // press_NEB * (c9o64 - c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c9o64 + c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + - // press_NWB * (c27o64 + c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff); - //drho = drho_NWT * (c9o64 + c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + - // drho_NET * (c3o64 - c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c3o64 + c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - // drho_SET * (c1o64 - c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + - // drho_SEB * (c3o64 - c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + - // drho_NEB * (c9o64 - c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c9o64 + c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + - // drho_NWB * (c27o64 + c9o16 * xoff - c9o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa; - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0o1; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0o1; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0o1; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0o1; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0o1; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0o1; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0o1; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= k0s; - k0w = k0sw; - k0s = neighborFY[k0s]; - k0b = k0bs; - k0sw = neighborFY[k0sw]; - k0bw = k0bsw; - k0bs = neighborFY[k0bs]; - k0bsw = neighborFY[k0bsw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position NWT -0.25f, 0.25f, 0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = -c1o4; - y = c1o4; - z = c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c3o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c27o64*drho_NWT+c1o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT; - //press = press_NWT * (c27o64 + c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + - // press_NET * (c9o64 - c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c9o64 + c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + - // press_SET * (c3o64 - c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + - // press_SEB * (c1o64 - c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + - // press_NEB * (c3o64 - c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c3o64 + c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + - // press_NWB * (c9o64 + c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff); - //drho = drho_NWT * (c27o64 + c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + - // drho_NET * (c9o64 - c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c9o64 + c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + - // drho_SET * (c3o64 - c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + - // drho_SEB * (c1o64 - c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + - // drho_NEB * (c3o64 - c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c3o64 + c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - // drho_NWB * (c9o64 + c3o16 * xoff - c3o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa; - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0o1; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0o1; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0o1; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0o1; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0o1; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0o1; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0o1; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position NET 0.25f, 0.25f, 0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = c1o4; - y = c1o4; - z = c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c9o64*drho_NEB+c27o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c1o64*drho_SWB+c3o64*drho_SWT; - //press = press_NET * (c27o64 - c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + - // press_NWT * (c9o64 + c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + - // press_SET * (c9o64 - c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c3o64 + c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + - // press_SWB * (c1o64 + c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + - // press_NWB * (c3o64 + c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c3o64 - c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + - // press_NEB * (c9o64 - c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff); - //drho = drho_NET * (c27o64 - c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + - // drho_NWT * (c9o64 + c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - // drho_SET * (c9o64 - c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c3o64 + c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + - // drho_SWB * (c1o64 + c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + - // drho_NWB * (c3o64 + c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c3o64 - c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - // drho_NEB * (c9o64 - c3o16 * xoff - c3o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa; - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0o1; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0o1; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0o1; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0o1; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0o1; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0o1; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0o1; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position NEB 0.25f, 0.25f, -0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = c1o4; - y = c1o4; - z = -c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c27o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c1o64*drho_SWT; - //press = press_NET * (c9o64 - c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + - // press_NWT * (c3o64 + c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + - // press_SET * (c3o64 - c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c1o64 + c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + - // press_SWB * (c3o64 + c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + - // press_NWB * (c9o64 + c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c9o64 - c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + - // press_NEB * (c27o64 - c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff); - //drho = drho_NET * (c9o64 - c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + - // drho_NWT * (c3o64 + c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + - // drho_SET * (c3o64 - c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c1o64 + c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + - // drho_SWB * (c3o64 + c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + - // drho_NWB * (c9o64 + c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c9o64 - c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + - // drho_NEB * (c27o64 - c9o16 * xoff - c9o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa; - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0o1; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0o1; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0o1; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0o1; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0o1; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0o1; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0o1; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - } -} -////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -////////////////////////////////////////////////////////////////////////// -__global__ void scaleCF_staggered_time_comp_27( real* DC, - real* DF, - unsigned int* neighborCX, - unsigned int* neighborCY, - unsigned int* neighborCZ, - unsigned int* neighborFX, - unsigned int* neighborFY, - unsigned int* neighborFZ, - unsigned long long numberOfLBnodesCoarse, - unsigned long long numberOfLBnodesFine, - bool isEvenTimestep, - unsigned int* posCSWB, - unsigned int* posFSWB, - unsigned int kCF, - real omCoarse, - real omFine, - real nu, - unsigned int nxC, - unsigned int nyC, - unsigned int nxF, - unsigned int nyF, - ICellNeigh offCF) -{ - real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, - *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - - feF = &DF[dP00 * numberOfLBnodesFine]; - fwF = &DF[dM00 * numberOfLBnodesFine]; - fnF = &DF[d0P0 * numberOfLBnodesFine]; - fsF = &DF[d0M0 * numberOfLBnodesFine]; - ftF = &DF[d00P * numberOfLBnodesFine]; - fbF = &DF[d00M * numberOfLBnodesFine]; - fneF = &DF[dPP0 * numberOfLBnodesFine]; - fswF = &DF[dMM0 * numberOfLBnodesFine]; - fseF = &DF[dPM0 * numberOfLBnodesFine]; - fnwF = &DF[dMP0 * numberOfLBnodesFine]; - fteF = &DF[dP0P * numberOfLBnodesFine]; - fbwF = &DF[dM0M * numberOfLBnodesFine]; - fbeF = &DF[dP0M * numberOfLBnodesFine]; - ftwF = &DF[dM0P * numberOfLBnodesFine]; - ftnF = &DF[d0PP * numberOfLBnodesFine]; - fbsF = &DF[d0MM * numberOfLBnodesFine]; - fbnF = &DF[d0PM * numberOfLBnodesFine]; - ftsF = &DF[d0MP * numberOfLBnodesFine]; - fzeroF = &DF[d000 * numberOfLBnodesFine]; - ftneF = &DF[dPPP * numberOfLBnodesFine]; - ftswF = &DF[dMMP * numberOfLBnodesFine]; - ftseF = &DF[dPMP * numberOfLBnodesFine]; - ftnwF = &DF[dMPP * numberOfLBnodesFine]; - fbneF = &DF[dPPM * numberOfLBnodesFine]; - fbswF = &DF[dMMM * numberOfLBnodesFine]; - fbseF = &DF[dPMM * numberOfLBnodesFine]; - fbnwF = &DF[dMPM * numberOfLBnodesFine]; - - real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, *fzeroC, - *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; - - if (isEvenTimestep==true) - { - feC = &DC[dP00 * numberOfLBnodesCoarse]; - fwC = &DC[dM00 * numberOfLBnodesCoarse]; - fnC = &DC[d0P0 * numberOfLBnodesCoarse]; - fsC = &DC[d0M0 * numberOfLBnodesCoarse]; - ftC = &DC[d00P * numberOfLBnodesCoarse]; - fbC = &DC[d00M * numberOfLBnodesCoarse]; - fneC = &DC[dPP0 * numberOfLBnodesCoarse]; - fswC = &DC[dMM0 * numberOfLBnodesCoarse]; - fseC = &DC[dPM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dMP0 * numberOfLBnodesCoarse]; - fteC = &DC[dP0P * numberOfLBnodesCoarse]; - fbwC = &DC[dM0M * numberOfLBnodesCoarse]; - fbeC = &DC[dP0M * numberOfLBnodesCoarse]; - ftwC = &DC[dM0P * numberOfLBnodesCoarse]; - ftnC = &DC[d0PP * numberOfLBnodesCoarse]; - fbsC = &DC[d0MM * numberOfLBnodesCoarse]; - fbnC = &DC[d0PM * numberOfLBnodesCoarse]; - ftsC = &DC[d0MP * numberOfLBnodesCoarse]; - fzeroC = &DC[d000 * numberOfLBnodesCoarse]; - ftneC = &DC[dPPP * numberOfLBnodesCoarse]; - ftswC = &DC[dMMP * numberOfLBnodesCoarse]; - ftseC = &DC[dPMP * numberOfLBnodesCoarse]; - ftnwC = &DC[dMPP * numberOfLBnodesCoarse]; - fbneC = &DC[dPPM * numberOfLBnodesCoarse]; - fbswC = &DC[dMMM * numberOfLBnodesCoarse]; - fbseC = &DC[dPMM * numberOfLBnodesCoarse]; - fbnwC = &DC[dMPM * numberOfLBnodesCoarse]; - } - else - { - fwC = &DC[dP00 * numberOfLBnodesCoarse]; - feC = &DC[dM00 * numberOfLBnodesCoarse]; - fsC = &DC[d0P0 * numberOfLBnodesCoarse]; - fnC = &DC[d0M0 * numberOfLBnodesCoarse]; - fbC = &DC[d00P * numberOfLBnodesCoarse]; - ftC = &DC[d00M * numberOfLBnodesCoarse]; - fswC = &DC[dPP0 * numberOfLBnodesCoarse]; - fneC = &DC[dMM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dPM0 * numberOfLBnodesCoarse]; - fseC = &DC[dMP0 * numberOfLBnodesCoarse]; - fbwC = &DC[dP0P * numberOfLBnodesCoarse]; - fteC = &DC[dM0M * numberOfLBnodesCoarse]; - ftwC = &DC[dP0M * numberOfLBnodesCoarse]; - fbeC = &DC[dM0P * numberOfLBnodesCoarse]; - fbsC = &DC[d0PP * numberOfLBnodesCoarse]; - ftnC = &DC[d0MM * numberOfLBnodesCoarse]; - ftsC = &DC[d0PM * numberOfLBnodesCoarse]; - fbnC = &DC[d0MP * numberOfLBnodesCoarse]; - fzeroC = &DC[d000 * numberOfLBnodesCoarse]; - fbswC = &DC[dPPP * numberOfLBnodesCoarse]; - fbneC = &DC[dMMP * numberOfLBnodesCoarse]; - fbnwC = &DC[dPMP * numberOfLBnodesCoarse]; - fbseC = &DC[dMPP * numberOfLBnodesCoarse]; - ftswC = &DC[dPPM * numberOfLBnodesCoarse]; - ftneC = &DC[dMMM * numberOfLBnodesCoarse]; - ftnwC = &DC[dPMM * numberOfLBnodesCoarse]; - ftseC = &DC[dMPM * numberOfLBnodesCoarse]; - } - - //////////////////////////////////////////////////////////////////////////////// - const unsigned ix = threadIdx.x; // Globaler x-Index - const unsigned iy = blockIdx.x; // Globaler y-Index - const unsigned iz = blockIdx.y; // Globaler z-Index - - const unsigned nx = blockDim.x; - const unsigned ny = gridDim.x; - - const unsigned k = nx*(ny*iz + iy) + ix; - ////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////// - real eps_new = c1o2; - real omegaS = omCoarse;//-omCoarse; - real o = omFine;//-omFine; - //real op = one; - //real cu_sq; - - real xoff, yoff, zoff; - real xoff_sq, yoff_sq, zoff_sq; - - real press;//,drho,vx1,vx2,vx3; - real /*press_SWT,*/drho_SWT,vx1_SWT,vx2_SWT,vx3_SWT; - real /*press_NWT,*/drho_NWT,vx1_NWT,vx2_NWT,vx3_NWT; - real /*press_NET,*/drho_NET,vx1_NET,vx2_NET,vx3_NET; - real /*press_SET,*/drho_SET,vx1_SET,vx2_SET,vx3_SET; - real /*press_SWB,*/drho_SWB,vx1_SWB,vx2_SWB,vx3_SWB; - real /*press_NWB,*/drho_NWB,vx1_NWB,vx2_NWB,vx3_NWB; - real /*press_NEB,*/drho_NEB,vx1_NEB,vx2_NEB,vx3_NEB; - real /*press_SEB,*/drho_SEB,vx1_SEB,vx2_SEB,vx3_SEB; - real f_E,f_W,f_N,f_S,f_T,f_B,f_NE,f_SW,f_SE,f_NW,f_TE,f_BW,f_BE,f_TW,f_TN,f_BS,f_BN,f_TS,f_ZERO,f_TNE, f_TSW, f_TSE, f_TNW, f_BNE, f_BSW, f_BSE, f_BNW; - //real feq_E,feq_W,feq_N,feq_S,feq_T,feq_B,feq_NE,feq_SW,feq_SE,feq_NW,feq_TE,feq_BW,feq_BE,feq_TW,feq_TN,feq_BS,feq_BN,feq_TS,feq_ZERO,feq_TNE, feq_TSW, feq_TSE, feq_TNW, feq_BNE, feq_BSW, feq_BSE, feq_BNW; - real kxyFromfcNEQ_SWT, kyzFromfcNEQ_SWT, kxzFromfcNEQ_SWT, kxxMyyFromfcNEQ_SWT, kxxMzzFromfcNEQ_SWT; - real kxyFromfcNEQ_NWT, kyzFromfcNEQ_NWT, kxzFromfcNEQ_NWT, kxxMyyFromfcNEQ_NWT, kxxMzzFromfcNEQ_NWT; - real kxyFromfcNEQ_NET, kyzFromfcNEQ_NET, kxzFromfcNEQ_NET, kxxMyyFromfcNEQ_NET, kxxMzzFromfcNEQ_NET; - real kxyFromfcNEQ_SET, kyzFromfcNEQ_SET, kxzFromfcNEQ_SET, kxxMyyFromfcNEQ_SET, kxxMzzFromfcNEQ_SET; - real kxyFromfcNEQ_SWB, kyzFromfcNEQ_SWB, kxzFromfcNEQ_SWB, kxxMyyFromfcNEQ_SWB, kxxMzzFromfcNEQ_SWB; - real kxyFromfcNEQ_NWB, kyzFromfcNEQ_NWB, kxzFromfcNEQ_NWB, kxxMyyFromfcNEQ_NWB, kxxMzzFromfcNEQ_NWB; - real kxyFromfcNEQ_NEB, kyzFromfcNEQ_NEB, kxzFromfcNEQ_NEB, kxxMyyFromfcNEQ_NEB, kxxMzzFromfcNEQ_NEB; - real kxyFromfcNEQ_SEB, kyzFromfcNEQ_SEB, kxzFromfcNEQ_SEB, kxxMyyFromfcNEQ_SEB, kxxMzzFromfcNEQ_SEB; - real a0, ax, ay, az, axx, ayy, azz, axy, axz, ayz, b0, bx, by, bz, bxx, byy, bzz, bxy, bxz, byz, c0, cx, cy, cz, cxx, cyy, czz, cxy, cxz, cyz, axyz, bxyz, cxyz; - real d0, dx, dy, dz, dxy, dxz, dyz, dxyz; - - real x,y,z; - - - if(k<kCF) - { - ////////////////////////////////////////////////////////////////////////// - xoff = offCF.x[k]; - yoff = offCF.y[k]; - zoff = offCF.z[k]; - xoff_sq = xoff * xoff; - yoff_sq = yoff * yoff; - zoff_sq = zoff * zoff; - ////////////////////////////////////////////////////////////////////////// - //SWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - unsigned int k0zero= posCSWB[k]; - unsigned int k0w = neighborCX[k0zero]; - unsigned int k0s = neighborCY[k0zero]; - unsigned int k0b = neighborCZ[k0zero]; - unsigned int k0sw = neighborCY[k0w]; - unsigned int k0bw = neighborCZ[k0w]; - unsigned int k0bs = neighborCZ[k0s]; - unsigned int k0bsw = neighborCZ[k0sw]; - ////////////////////////////////////////////////////////////////////////// - //index - unsigned int kzero= k0zero; - unsigned int kw = k0w; - unsigned int ks = k0s; - unsigned int kb = k0b; - unsigned int ksw = k0sw; - unsigned int kbw = k0bw; - unsigned int kbs = k0bs; - unsigned int kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - drho_SWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_SWB = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W)); - vx2_SWB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S)); - vx3_SWB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B)); - - kxyFromfcNEQ_SWB = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-((vx1_SWB*vx2_SWB) /(c1o1 + drho_SWB))); - kyzFromfcNEQ_SWB = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-((vx2_SWB*vx3_SWB) /(c1o1 + drho_SWB))); - kxzFromfcNEQ_SWB = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-((vx1_SWB*vx3_SWB) /(c1o1 + drho_SWB))); - kxxMyyFromfcNEQ_SWB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-((vx1_SWB*vx1_SWB-vx2_SWB*vx2_SWB)/(c1o1 + drho_SWB))); - kxxMzzFromfcNEQ_SWB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-((vx1_SWB*vx1_SWB-vx3_SWB*vx3_SWB)/(c1o1 + drho_SWB))); - - ////////////////////////////////////////////////////////////////////////// - //SWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborCZ[kb]; - ksw = kbsw; - kbw = neighborCZ[kbw]; - kbs = neighborCZ[kbs]; - kbsw = neighborCZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - drho_SWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_SWT = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W)); - vx2_SWT = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S)); - vx3_SWT = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B)); - - kxyFromfcNEQ_SWT = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-((vx1_SWT*vx2_SWT) /(c1o1 + drho_SWT))); - kyzFromfcNEQ_SWT = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-((vx2_SWT*vx3_SWT) /(c1o1 + drho_SWT))); - kxzFromfcNEQ_SWT = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-((vx1_SWT*vx3_SWT) /(c1o1 + drho_SWT))); - kxxMyyFromfcNEQ_SWT = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-((vx1_SWT*vx1_SWT-vx2_SWT*vx2_SWT)/(c1o1 + drho_SWT))); - kxxMzzFromfcNEQ_SWT = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-((vx1_SWT*vx1_SWT-vx3_SWT*vx3_SWT)/(c1o1 + drho_SWT))); - - ////////////////////////////////////////////////////////////////////////// - //SET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborCX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborCX[ksw]; - kbw = neighborCX[kbw]; - kbs = kbsw; - kbsw = neighborCX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - drho_SET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_SET = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W)); - vx2_SET = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S)); - vx3_SET = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B)); - - kxyFromfcNEQ_SET = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-((vx1_SET*vx2_SET) /(c1o1 + drho_SET))); - kyzFromfcNEQ_SET = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-((vx2_SET*vx3_SET) /(c1o1 + drho_SET))); - kxzFromfcNEQ_SET = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-((vx1_SET*vx3_SET) /(c1o1 + drho_SET))); - kxxMyyFromfcNEQ_SET = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-((vx1_SET*vx1_SET-vx2_SET*vx2_SET)/(c1o1 + drho_SET))); - kxxMzzFromfcNEQ_SET = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-((vx1_SET*vx1_SET-vx3_SET*vx3_SET)/(c1o1 + drho_SET))); - - ////////////////////////////////////////////////////////////////////////// - //SEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborCX[k0w]; - ks = k0sw; - ksw = neighborCX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - drho_SEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_SEB = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W)); - vx2_SEB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S)); - vx3_SEB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B)); - - kxyFromfcNEQ_SEB = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-((vx1_SEB*vx2_SEB) /(c1o1 + drho_SEB))); - kyzFromfcNEQ_SEB = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-((vx2_SEB*vx3_SEB) /(c1o1 + drho_SEB))); - kxzFromfcNEQ_SEB = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-((vx1_SEB*vx3_SEB) /(c1o1 + drho_SEB))); - kxxMyyFromfcNEQ_SEB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-((vx1_SEB*vx1_SEB-vx2_SEB*vx2_SEB)/(c1o1 + drho_SEB))); - kxxMzzFromfcNEQ_SEB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-((vx1_SEB*vx1_SEB-vx3_SEB*vx3_SEB)/(c1o1 + drho_SEB))); - - ////////////////////////////////////////////////////////////////////////// - //NWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= k0s; - k0w = k0sw; - k0s = neighborCY[k0s]; - k0b = k0bs; - k0sw = neighborCY[k0sw]; - k0bw = k0bsw; - k0bs = neighborCY[k0bs]; - k0bsw = neighborCY[k0bsw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - drho_NWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_NWB = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W)); - vx2_NWB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S)); - vx3_NWB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B)); - - kxyFromfcNEQ_NWB = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-((vx1_NWB*vx2_NWB) /(c1o1 + drho_NWB))); - kyzFromfcNEQ_NWB = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-((vx2_NWB*vx3_NWB) /(c1o1 + drho_NWB))); - kxzFromfcNEQ_NWB = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-((vx1_NWB*vx3_NWB) /(c1o1 + drho_NWB))); - kxxMyyFromfcNEQ_NWB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-((vx1_NWB*vx1_NWB-vx2_NWB*vx2_NWB)/(c1o1 + drho_NWB))); - kxxMzzFromfcNEQ_NWB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-((vx1_NWB*vx1_NWB-vx3_NWB*vx3_NWB)/(c1o1 + drho_NWB))); - - ////////////////////////////////////////////////////////////////////////// - //NWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborCZ[kb]; - ksw = kbsw; - kbw = neighborCZ[kbw]; - kbs = neighborCZ[kbs]; - kbsw = neighborCZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - drho_NWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_NWT = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W)); - vx2_NWT = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S)); - vx3_NWT = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B)); - - kxyFromfcNEQ_NWT = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-((vx1_NWT*vx2_NWT) /(c1o1 + drho_NWT))); - kyzFromfcNEQ_NWT = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-((vx2_NWT*vx3_NWT) /(c1o1 + drho_NWT))); - kxzFromfcNEQ_NWT = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-((vx1_NWT*vx3_NWT) /(c1o1 + drho_NWT))); - kxxMyyFromfcNEQ_NWT = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-((vx1_NWT*vx1_NWT-vx2_NWT*vx2_NWT)/(c1o1 + drho_NWT))); - kxxMzzFromfcNEQ_NWT = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-((vx1_NWT*vx1_NWT-vx3_NWT*vx3_NWT)/(c1o1 + drho_NWT))); - - ////////////////////////////////////////////////////////////////////////// - //NET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborCX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborCX[ksw]; - kbw = neighborCX[kbw]; - kbs = kbsw; - kbsw = neighborCX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - drho_NET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_NET = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W)); - vx2_NET = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S)); - vx3_NET = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B)); - - kxyFromfcNEQ_NET = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-((vx1_NET*vx2_NET) /(c1o1 + drho_NET))); - kyzFromfcNEQ_NET = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-((vx2_NET*vx3_NET) /(c1o1 + drho_NET))); - kxzFromfcNEQ_NET = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-((vx1_NET*vx3_NET) /(c1o1 + drho_NET))); - kxxMyyFromfcNEQ_NET = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-((vx1_NET*vx1_NET-vx2_NET*vx2_NET)/(c1o1 + drho_NET))); - kxxMzzFromfcNEQ_NET = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-((vx1_NET*vx1_NET-vx3_NET*vx3_NET)/(c1o1 + drho_NET))); - - ////////////////////////////////////////////////////////////////////////// - //NEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborCX[k0w]; - ks = k0sw; - ksw = neighborCX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - drho_NEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_NEB = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W)); - vx2_NEB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S)); - vx3_NEB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B)); - - kxyFromfcNEQ_NEB = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-((vx1_NEB*vx2_NEB) /(c1o1 + drho_NEB))); - kyzFromfcNEQ_NEB = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-((vx2_NEB*vx3_NEB) /(c1o1 + drho_NEB))); - kxzFromfcNEQ_NEB = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-((vx1_NEB*vx3_NEB) /(c1o1 + drho_NEB))); - kxxMyyFromfcNEQ_NEB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-((vx1_NEB*vx1_NEB-vx2_NEB*vx2_NEB)/(c1o1 + drho_NEB))); - kxxMzzFromfcNEQ_NEB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-((vx1_NEB*vx1_NEB-vx3_NEB*vx3_NEB)/(c1o1 + drho_NEB))); - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // kxyFromfcNEQ_SWB = zero; - //kyzFromfcNEQ_SWB = zero; - //kxzFromfcNEQ_SWB = zero; - //kxxMyyFromfcNEQ_SWB = zero; - //kxxMzzFromfcNEQ_SWB = zero; - //kxyFromfcNEQ_SWT = zero; - //kyzFromfcNEQ_SWT = zero; - //kxzFromfcNEQ_SWT = zero; - //kxxMyyFromfcNEQ_SWT = zero; - //kxxMzzFromfcNEQ_SWT = zero; - //kxyFromfcNEQ_SET = zero; - //kyzFromfcNEQ_SET = zero; - //kxzFromfcNEQ_SET = zero; - //kxxMyyFromfcNEQ_SET = zero; - //kxxMzzFromfcNEQ_SET = zero; - //kxyFromfcNEQ_SEB = zero; - //kyzFromfcNEQ_SEB = zero; - //kxzFromfcNEQ_SEB = zero; - //kxxMyyFromfcNEQ_SEB = zero; - //kxxMzzFromfcNEQ_SEB = zero; - //kxyFromfcNEQ_NWB = zero; - //kyzFromfcNEQ_NWB = zero; - //kxzFromfcNEQ_NWB = zero; - //kxxMyyFromfcNEQ_NWB = zero; - //kxxMzzFromfcNEQ_NWB = zero; - //kxyFromfcNEQ_NWT = zero; - //kyzFromfcNEQ_NWT = zero; - //kxzFromfcNEQ_NWT = zero; - //kxxMyyFromfcNEQ_NWT = zero; - //kxxMzzFromfcNEQ_NWT = zero; - //kxyFromfcNEQ_NET = zero; - //kyzFromfcNEQ_NET = zero; - //kxzFromfcNEQ_NET = zero; - //kxxMyyFromfcNEQ_NET = zero; - //kxxMzzFromfcNEQ_NET = zero; - //kxyFromfcNEQ_NEB = zero; - //kyzFromfcNEQ_NEB = zero; - //kxzFromfcNEQ_NEB = zero; - //kxxMyyFromfcNEQ_NEB = zero; - //kxxMzzFromfcNEQ_NEB = zero; - ////////////////////////////////////////////////////////////////////////// - //3 - ////////////////////////////////////////////////////////////////////////// - a0 = (-kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT - - kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - - kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - - c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET - c2o1*kxyFromfcNEQ_NWB - c2o1*kxyFromfcNEQ_NWT + - c2o1*kxyFromfcNEQ_SEB + c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + - c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB - c2o1*kxzFromfcNEQ_NWT + - c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB - c2o1*kxzFromfcNEQ_SWT + - c8o1*vx1_NEB + c8o1*vx1_NET + c8o1*vx1_NWB + c8o1*vx1_NWT + c8o1*vx1_SEB + - c8o1*vx1_SET + c8o1*vx1_SWB + c8o1*vx1_SWT + c2o1*vx2_NEB + c2o1*vx2_NET - - c2o1*vx2_NWB - c2o1*vx2_NWT - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + - c2o1*vx2_SWT - c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - - c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1; - b0 = (c2o1*kxxMyyFromfcNEQ_NEB + c2o1*kxxMyyFromfcNEQ_NET + c2o1*kxxMyyFromfcNEQ_NWB + c2o1*kxxMyyFromfcNEQ_NWT - - c2o1*kxxMyyFromfcNEQ_SEB - c2o1*kxxMyyFromfcNEQ_SET - c2o1*kxxMyyFromfcNEQ_SWB - c2o1*kxxMyyFromfcNEQ_SWT - - kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - - c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET + c2o1*kxyFromfcNEQ_NWB + c2o1*kxyFromfcNEQ_NWT - - c2o1*kxyFromfcNEQ_SEB - c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + - c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET + c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + - c2o1*kyzFromfcNEQ_SEB - c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB - c2o1*kyzFromfcNEQ_SWT + - c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT + - c8o1*vx2_NEB + c8o1*vx2_NET + c8o1*vx2_NWB + c8o1*vx2_NWT + - c8o1*vx2_SEB + c8o1*vx2_SET + c8o1*vx2_SWB + c8o1*vx2_SWT - - c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + - c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1; - - //b0 = ((eight*vx2_NEB + eight*vx2_SWT) + (eight*vx2_NET + eight*vx2_SWB) + (eight*vx2_NWB + eight*vx2_SET) + (eight*vx2_NWT + eight*vx2_SEB))/sixtyfour; - - c0 = (kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT - - c2o1*kxxMzzFromfcNEQ_NEB + c2o1*kxxMzzFromfcNEQ_NET - c2o1*kxxMzzFromfcNEQ_NWB + c2o1*kxxMzzFromfcNEQ_NWT - - c2o1*kxxMzzFromfcNEQ_SEB + c2o1*kxxMzzFromfcNEQ_SET - c2o1*kxxMzzFromfcNEQ_SWB + c2o1*kxxMzzFromfcNEQ_SWT - - c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB + c2o1*kxzFromfcNEQ_NWT - - c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB + c2o1*kxzFromfcNEQ_SWT - - c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET - c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + - c2o1*kyzFromfcNEQ_SEB + c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB + c2o1*kyzFromfcNEQ_SWT - - c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - - c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT + - c8o1*vx3_NEB + c8o1*vx3_NET + c8o1*vx3_NWB + c8o1*vx3_NWT + - c8o1*vx3_SEB + c8o1*vx3_SET + c8o1*vx3_SWB + c8o1*vx3_SWT)/c64o1; - ax = (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT + vx1_SEB + vx1_SET - vx1_SWB - vx1_SWT)/c4o1; - bx = (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT + vx2_SEB + vx2_SET - vx2_SWB - vx2_SWT)/c4o1; - //bx = ((vx2_NEB - vx2_SWT) + (vx2_NET - vx2_SWB) + (vx2_SET - vx2_NWB) + (vx2_SEB - vx2_NWT))/four; - cx = (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT + vx3_SEB + vx3_SET - vx3_SWB - vx3_SWT)/c4o1; - axx= (kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT + - kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + - c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB - c2o1*vx2_NWT - - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + c2o1*vx2_SWT - - c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - - c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1; - bxx= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET - kxyFromfcNEQ_NWB - kxyFromfcNEQ_NWT + - kxyFromfcNEQ_SEB + kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - - c2o1*vx1_NEB - c2o1*vx1_NET + c2o1*vx1_NWB + c2o1*vx1_NWT + - c2o1*vx1_SEB + c2o1*vx1_SET - c2o1*vx1_SWB - c2o1*vx1_SWT)/c8o1; - cxx= (kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB - kxzFromfcNEQ_NWT + - kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB - kxzFromfcNEQ_SWT + - c2o1*vx1_NEB - c2o1*vx1_NET - c2o1*vx1_NWB + c2o1*vx1_NWT + - c2o1*vx1_SEB - c2o1*vx1_SET - c2o1*vx1_SWB + c2o1*vx1_SWT)/c8o1; - ay = (vx1_NEB + vx1_NET + vx1_NWB + vx1_NWT - vx1_SEB - vx1_SET - vx1_SWB - vx1_SWT)/c4o1; - by = (vx2_NEB + vx2_NET + vx2_NWB + vx2_NWT - vx2_SEB - vx2_SET - vx2_SWB - vx2_SWT)/c4o1; - cy = (vx3_NEB + vx3_NET + vx3_NWB + vx3_NWT - vx3_SEB - vx3_SET - vx3_SWB - vx3_SWT)/c4o1; - ayy= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET + kxyFromfcNEQ_NWB + kxyFromfcNEQ_NWT - - kxyFromfcNEQ_SEB - kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - - c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB + c2o1*vx2_NWT + - c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB - c2o1*vx2_SWT)/c8o1; - byy= (-c2o1*kxxMyyFromfcNEQ_NEB - c2o1*kxxMyyFromfcNEQ_NET - c2o1*kxxMyyFromfcNEQ_NWB - c2o1*kxxMyyFromfcNEQ_NWT + - c2o1*kxxMyyFromfcNEQ_SEB + c2o1*kxxMyyFromfcNEQ_SET + c2o1*kxxMyyFromfcNEQ_SWB + c2o1*kxxMyyFromfcNEQ_SWT + - kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - - kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + - c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT - - c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + - c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1; - cyy= (kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET + kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - - kyzFromfcNEQ_SEB - kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB - kyzFromfcNEQ_SWT + - c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB - c2o1*vx2_NWT - - c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB + c2o1*vx2_SWT)/c8o1; - az = (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT - vx1_SEB + vx1_SET - vx1_SWB + vx1_SWT)/c4o1; - //bz = (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT - vx2_SEB + vx2_SET - vx2_SWB + vx2_SWT)/four; - bz = ((vx2_SWT - vx2_NEB) + (vx2_NET - vx2_SWB) + (vx2_SET - vx2_NWB) + (vx2_NWT - vx2_SEB))/c4o1; - cz = (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT - vx3_SEB + vx3_SET - vx3_SWB + vx3_SWT)/c4o1; - azz= (-kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB + kxzFromfcNEQ_NWT - - kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB + kxzFromfcNEQ_SWT + - c2o1*vx3_NEB - c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + - c2o1*vx3_SEB - c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1; - bzz= (-kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET - kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - - kyzFromfcNEQ_SEB + kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB + kyzFromfcNEQ_SWT + - c2o1*vx3_NEB - c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - - c2o1*vx3_SEB + c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1; - czz= (-kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT + - c2o1*kxxMzzFromfcNEQ_NEB - c2o1*kxxMzzFromfcNEQ_NET + c2o1*kxxMzzFromfcNEQ_NWB - c2o1*kxxMzzFromfcNEQ_NWT + - c2o1*kxxMzzFromfcNEQ_SEB - c2o1*kxxMzzFromfcNEQ_SET + c2o1*kxxMzzFromfcNEQ_SWB - c2o1*kxxMzzFromfcNEQ_SWT - - c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - - c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT)/c16o1; - axy= (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT - vx1_SEB - vx1_SET + vx1_SWB + vx1_SWT)/c2o1; - bxy= (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT - vx2_SEB - vx2_SET + vx2_SWB + vx2_SWT)/c2o1; - cxy= (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT - vx3_SEB - vx3_SET + vx3_SWB + vx3_SWT)/c2o1; - axz= (-vx1_NEB + vx1_NET + vx1_NWB - vx1_NWT - vx1_SEB + vx1_SET + vx1_SWB - vx1_SWT)/c2o1; - bxz= (-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT - vx2_SEB + vx2_SET + vx2_SWB - vx2_SWT)/c2o1; - cxz= (-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT - vx3_SEB + vx3_SET + vx3_SWB - vx3_SWT)/c2o1; - ayz= (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT + vx1_SEB - vx1_SET + vx1_SWB - vx1_SWT)/c2o1; - byz= (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT + vx2_SEB - vx2_SET + vx2_SWB - vx2_SWT)/c2o1; - cyz= (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT + vx3_SEB - vx3_SET + vx3_SWB - vx3_SWT)/c2o1; - axyz=-vx1_NEB + vx1_NET + vx1_NWB - vx1_NWT + vx1_SEB - vx1_SET - vx1_SWB + vx1_SWT; - bxyz=-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT + vx2_SEB - vx2_SET - vx2_SWB + vx2_SWT; - cxyz=-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT + vx3_SEB - vx3_SET - vx3_SWB + vx3_SWT; - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real kxyAverage =(kxyFromfcNEQ_SWB+ - kxyFromfcNEQ_SWT+ - kxyFromfcNEQ_SET+ - kxyFromfcNEQ_SEB+ - kxyFromfcNEQ_NWB+ - kxyFromfcNEQ_NWT+ - kxyFromfcNEQ_NET+ - kxyFromfcNEQ_NEB)*c1o8-(ay+bx); - real kyzAverage =(kyzFromfcNEQ_SWB+ - kyzFromfcNEQ_SWT+ - kyzFromfcNEQ_SET+ - kyzFromfcNEQ_SEB+ - kyzFromfcNEQ_NWB+ - kyzFromfcNEQ_NWT+ - kyzFromfcNEQ_NET+ - kyzFromfcNEQ_NEB)*c1o8-(bz+cy); - real kxzAverage =(kxzFromfcNEQ_SWB+ - kxzFromfcNEQ_SWT+ - kxzFromfcNEQ_SET+ - kxzFromfcNEQ_SEB+ - kxzFromfcNEQ_NWB+ - kxzFromfcNEQ_NWT+ - kxzFromfcNEQ_NET+ - kxzFromfcNEQ_NEB)*c1o8-(az+cx); - real kxxMyyAverage =(kxxMyyFromfcNEQ_SWB+ - kxxMyyFromfcNEQ_SWT+ - kxxMyyFromfcNEQ_SET+ - kxxMyyFromfcNEQ_SEB+ - kxxMyyFromfcNEQ_NWB+ - kxxMyyFromfcNEQ_NWT+ - kxxMyyFromfcNEQ_NET+ - kxxMyyFromfcNEQ_NEB)*c1o8-(ax-by); - real kxxMzzAverage =(kxxMzzFromfcNEQ_SWB+ - kxxMzzFromfcNEQ_SWT+ - kxxMzzFromfcNEQ_SET+ - kxxMzzFromfcNEQ_SEB+ - kxxMzzFromfcNEQ_NWB+ - kxxMzzFromfcNEQ_NWT+ - kxxMzzFromfcNEQ_NET+ - kxxMzzFromfcNEQ_NEB)*c1o8-(ax-cz); - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //Press - //d0 = ( press_NEB + press_NET + press_NWB + press_NWT + press_SEB + press_SET + press_SWB + press_SWT) * c1o8; - //dx = ( press_NEB + press_NET - press_NWB - press_NWT + press_SEB + press_SET - press_SWB - press_SWT) * c1o4; - //dy = ( press_NEB + press_NET + press_NWB + press_NWT - press_SEB - press_SET - press_SWB - press_SWT) * c1o4; - //dz = (-press_NEB + press_NET - press_NWB + press_NWT - press_SEB + press_SET - press_SWB + press_SWT) * c1o4; - //dxy = ( press_NEB + press_NET - press_NWB - press_NWT - press_SEB - press_SET + press_SWB + press_SWT) * c1o2; - //dxz = (-press_NEB + press_NET + press_NWB - press_NWT - press_SEB + press_SET + press_SWB - press_SWT) * c1o2; - //dyz = (-press_NEB + press_NET - press_NWB + press_NWT + press_SEB - press_SET + press_SWB - press_SWT) * c1o2; - //dxyz = -press_NEB + press_NET + press_NWB - press_NWT + press_SEB - press_SET - press_SWB + press_SWT; - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho - d0 = ( drho_NEB + drho_NET + drho_NWB + drho_NWT + drho_SEB + drho_SET + drho_SWB + drho_SWT) * c1o8; - dx = ( drho_NEB + drho_NET - drho_NWB - drho_NWT + drho_SEB + drho_SET - drho_SWB - drho_SWT) * c1o4; - dy = ( drho_NEB + drho_NET + drho_NWB + drho_NWT - drho_SEB - drho_SET - drho_SWB - drho_SWT) * c1o4; - dz = (-drho_NEB + drho_NET - drho_NWB + drho_NWT - drho_SEB + drho_SET - drho_SWB + drho_SWT) * c1o4; - dxy = ( drho_NEB + drho_NET - drho_NWB - drho_NWT - drho_SEB - drho_SET + drho_SWB + drho_SWT) * c1o2; - dxz = (-drho_NEB + drho_NET + drho_NWB - drho_NWT - drho_SEB + drho_SET + drho_SWB - drho_SWT) * c1o2; - dyz = (-drho_NEB + drho_NET - drho_NWB + drho_NWT + drho_SEB - drho_SET + drho_SWB - drho_SWT) * c1o2; - dxyz = -drho_NEB + drho_NET + drho_NWB - drho_NWT + drho_SEB - drho_SET - drho_SWB + drho_SWT; - // d0 = zero; - //dx = zero; - //dy = zero; - //dz = zero; - //dxy = zero; - //dxz = zero; - //dyz = zero; - //dxyz = zero; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - // Bernd das Brot - // - // X------X - // | | x---x - // | ---+-+-> | ----> off-vector - // | | x---x - // X------X - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - a0 = a0 + xoff * ax + yoff * ay + zoff * az + xoff_sq * axx + yoff_sq * ayy + zoff_sq * azz + xoff*yoff*axy + xoff*zoff*axz + yoff*zoff*ayz; - ax = ax + c2o1 * xoff * axx + yoff * axy + zoff * axz; - ay = ay + c2o1 * yoff * ayy + xoff * axy + zoff * ayz; - az = az + c2o1 * zoff * azz + xoff * axz + yoff * ayz; - b0 = b0 + xoff * bx + yoff * by + zoff * bz + xoff_sq * bxx + yoff_sq * byy + zoff_sq * bzz + xoff*yoff*bxy + xoff*zoff*bxz + yoff*zoff*byz; - bx = bx + c2o1 * xoff * bxx + yoff * bxy + zoff * bxz; - by = by + c2o1 * yoff * byy + xoff * bxy + zoff * byz; - bz = bz + c2o1 * zoff * bzz + xoff * bxz + yoff * byz; - c0 = c0 + xoff * cx + yoff * cy + zoff * cz + xoff_sq * cxx + yoff_sq * cyy + zoff_sq * czz + xoff*yoff*cxy + xoff*zoff*cxz + yoff*zoff*cyz; - cx = cx + c2o1 * xoff * cxx + yoff * cxy + zoff * cxz; - cy = cy + c2o1 * yoff * cyy + xoff * cxy + zoff * cyz; - cz = cz + c2o1 * zoff * czz + xoff * cxz + yoff * cyz; - d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz; - dx = dx + yoff * dxy + zoff * dxz; - dy = dy + xoff * dxy + zoff * dyz; - dz = dz + xoff * dxz + yoff * dyz; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // FIX /////////////////////////////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //AAAAAAAAAAAAHHHHHHHHHHHH!!!!! Mieser Test!!! - //b0= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz= c0= cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero; - //a0=zero; - //ax=zero; - //ay=zero; - //az=zero; - //axx=zero; - //ayy=zero; - //azz=zero; - //axy=zero; - //axz=zero; - //ayz=zero; - //b0=zero; - //bx=zero; - //by=zero; - //bz=zero; - //bxx=zero; - //byy=zero; - //bzz=zero; - //bxy=zero; - //bxz=zero; - //byz=zero; - //c0=zero; - //cx=zero; - //cy=zero; - //cz=zero; - //cxx=zero; - //cyy=zero; - //czz=zero; - //cxy=zero; - //cxz=zero; - //cyz=zero; - //axyz=zero; - //bxyz=zero; - //cxyz=zero; - //ax= ay= az= axx= ayy= azz= axy= axz= ayz= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz= cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero; - //a0=zero; - //b0=zero; - //c0=c1o100; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = c0o1; - real mfabb = c0o1; - real mfbcb = c0o1; - real mfbab = c0o1; - real mfbbc = c0o1; - real mfbba = c0o1; - real mfccb = c0o1; - real mfaab = c0o1; - real mfcab = c0o1; - real mfacb = c0o1; - real mfcbc = c0o1; - real mfaba = c0o1; - real mfcba = c0o1; - real mfabc = c0o1; - real mfbcc = c0o1; - real mfbaa = c0o1; - real mfbca = c0o1; - real mfbac = c0o1; - real mfbbb = c0o1; - real mfccc = c0o1; - real mfaac = c0o1; - real mfcac = c0o1; - real mfacc = c0o1; - real mfcca = c0o1; - real mfaaa = c0o1; - real mfcaa = c0o1; - real mfaca = c0o1; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real m0, m1, m2, vvx, vvy, vvz, vx2, vy2, vz2, oMdrho; - real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz; - //real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein - //real O3 = two - o; - //real residu, residutmp; - //residutmp = zero;// /*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new; - real NeqOn = c1o1;//zero;//one; //.... one = on ..... zero = off - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position SWB -0.25f, -0.25f, -0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = -c1o4; - y = -c1o4; - z = -c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //real mxoff = -xoff; - //real myoff = -yoff; - //real mzoff = -zoff; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c3o64*drho_NEB+c1o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c27o64*drho_SWB+c9o64*drho_SWT; - //press = press_SWT * (c9o64 + c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + - // press_NWT * (c3o64 + c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + - // press_SET * (c3o64 - c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + - // press_NET * (c1o64 - c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + - // press_NEB * (c3o64 - c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + - // press_NWB * (c9o64 + c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c9o64 - c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c27o64 + c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff); - //drho = drho_SWT * (c9o64 + c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + - // drho_NWT * (c3o64 + c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - // drho_SET * (c3o64 - c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + - // drho_NET * (c1o64 - c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + - // drho_NEB * (c3o64 - c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + - // drho_NWB * (c9o64 + c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c9o64 - c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c27o64 + c9o16 * xoff + c9o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz)/(c1o1 + press); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz)/(c1o1 + press); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz)/(c1o1 + press); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa; - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o; - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0o1; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0o1; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0o1; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0o1; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0o1; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0o1; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0o1; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= posFSWB[k]; - k0w = neighborFX[k0zero]; - k0s = neighborFY[k0zero]; - k0b = neighborFZ[k0zero]; - k0sw = neighborFY[k0w]; - k0bw = neighborFZ[k0w]; - k0bs = neighborFZ[k0s]; - k0bsw = neighborFZ[k0sw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position SWT -0.25f, -0.25f, 0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = -c1o4; - y = -c1o4; - z = c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c1o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c27o64*drho_SWT; - //press = press_SWT * (c27o64 + c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + - // press_NWT * (c9o64 + c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + - // press_SET * (c9o64 - c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + - // press_NET * (c3o64 - c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + - // press_NEB * (c1o64 - c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + - // press_NWB * (c3o64 + c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c3o64 - c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c9o64 + c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff); - //drho = drho_SWT * (c27o64 + c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + - // drho_NWT * (c9o64 + c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + - // drho_SET * (c9o64 - c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - // drho_NET * (c3o64 - c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + - // drho_NEB * (c1o64 - c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + - // drho_NWB * (c3o64 + c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c3o64 - c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c9o64 + c3o16 * xoff + c3o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz)/(c1o1 + press); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz)/(c1o1 + press); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz)/(c1o1 + press); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //two - // linear combinations - mxxPyyPzz = mfaaa; - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o; - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0o1; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0o1; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0o1; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0o1; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0o1; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0o1; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0o1; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position SET 0.25f, -0.25f, 0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = c1o4; - y = -c1o4; - z = c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho =c3o64*drho_NEB+c9o64*drho_NET+c1o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c27o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT; - //press = press_SET * (c27o64 - c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + - // press_NET * (c9o64 - c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c9o64 + c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + - // press_NWT * (c3o64 + c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + - // press_NWB * (c1o64 + c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + - // press_NEB * (c3o64 - c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c3o64 + c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c9o64 - c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff); - //drho = drho_SET * (c27o64 - c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + - // drho_NET * (c9o64 - c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c9o64 + c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - // drho_NWT * (c3o64 + c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + - // drho_NWB * (c1o64 + c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + - // drho_NEB * (c3o64 - c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c3o64 + c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c9o64 - c3o16 * xoff + c3o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz)/(c1o1 + press); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz)/(c1o1 + press); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz)/(c1o1 + press); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //two - // linear combinations - mxxPyyPzz = mfaaa; - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o; - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0o1; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0o1; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0o1; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0o1; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0o1; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0o1; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0o1; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position SEB 0.25f, -0.25f, -0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = c1o4; - y = -c1o4; - z = -c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho =c9o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c1o64*drho_NWT+c27o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT; - //press = press_SET * (c9o64 - c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + - // press_NET * (c3o64 - c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c3o64 + c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + - // press_NWT * (c1o64 + c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + - // press_NWB * (c3o64 + c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + - // press_NEB * (c9o64 - c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c9o64 + c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c27o64 - c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff); - //drho = drho_SET * (c9o64 - c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + - // drho_NET * (c3o64 - c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c3o64 + c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + - // drho_NWT * (c1o64 + c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + - // drho_NWB * (c3o64 + c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + - // drho_NEB * (c9o64 - c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c9o64 + c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c27o64 - c9o16 * xoff + c9o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz)/(c1o1 + press); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz)/(c1o1 + press); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz)/(c1o1 + press); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //two - // linear combinations - mxxPyyPzz = mfaaa; - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o; - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0o1; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0o1; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0o1; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0o1; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0o1; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0o1; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0o1; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position NWB -0.25f, 0.25f, -0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = -c1o4; - y = c1o4; - z = -c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c9o64*drho_NEB+c3o64*drho_NET+c27o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c1o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT; - //press = press_NWT * (c9o64 + c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + - // press_NET * (c3o64 - c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c3o64 + c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + - // press_SET * (c1o64 - c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + - // press_SEB * (c3o64 - c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + - // press_NEB * (c9o64 - c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c9o64 + c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + - // press_NWB * (c27o64 + c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff); - //drho = drho_NWT * (c9o64 + c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + - // drho_NET * (c3o64 - c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c3o64 + c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - // drho_SET * (c1o64 - c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + - // drho_SEB * (c3o64 - c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + - // drho_NEB * (c9o64 - c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c9o64 + c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + - // drho_NWB * (c27o64 + c9o16 * xoff - c9o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz)/(c1o1 + press); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz)/(c1o1 + press); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz)/(c1o1 + press); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //two - // linear combinations - mxxPyyPzz = mfaaa; - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o; - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0o1; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0o1; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0o1; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0o1; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0o1; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0o1; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0o1; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= k0s; - k0w = k0sw; - k0s = neighborFY[k0s]; - k0b = k0bs; - k0sw = neighborFY[k0sw]; - k0bw = k0bsw; - k0bs = neighborFY[k0bs]; - k0bsw = neighborFY[k0bsw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position NWT -0.25f, 0.25f, 0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = -c1o4; - y = c1o4; - z = c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c3o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c27o64*drho_NWT+c1o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT; - //press = press_NWT * (c27o64 + c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + - // press_NET * (c9o64 - c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c9o64 + c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + - // press_SET * (c3o64 - c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + - // press_SEB * (c1o64 - c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + - // press_NEB * (c3o64 - c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c3o64 + c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + - // press_NWB * (c9o64 + c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff); - //drho = drho_NWT * (c27o64 + c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + - // drho_NET * (c9o64 - c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c9o64 + c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + - // drho_SET * (c3o64 - c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + - // drho_SEB * (c1o64 - c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + - // drho_NEB * (c3o64 - c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c3o64 + c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - // drho_NWB * (c9o64 + c3o16 * xoff - c3o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz)/(c1o1 + press); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz)/(c1o1 + press); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz)/(c1o1 + press); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //two - // linear combinations - mxxPyyPzz = mfaaa; - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o; - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0o1; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0o1; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0o1; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0o1; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0o1; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0o1; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0o1; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position NET 0.25f, 0.25f, 0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = c1o4; - y = c1o4; - z = c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c9o64*drho_NEB+c27o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c1o64*drho_SWB+c3o64*drho_SWT; - //press = press_NET * (c27o64 - c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + - // press_NWT * (c9o64 + c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + - // press_SET * (c9o64 - c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c3o64 + c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + - // press_SWB * (c1o64 + c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + - // press_NWB * (c3o64 + c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c3o64 - c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + - // press_NEB * (c9o64 - c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff); - //drho = drho_NET * (c27o64 - c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + - // drho_NWT * (c9o64 + c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - // drho_SET * (c9o64 - c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c3o64 + c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + - // drho_SWB * (c1o64 + c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + - // drho_NWB * (c3o64 + c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c3o64 - c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - // drho_NEB * (c9o64 - c3o16 * xoff - c3o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz)/(c1o1 + press); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz)/(c1o1 + press); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz)/(c1o1 + press); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //two - // linear combinations - mxxPyyPzz = mfaaa; - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o; - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0o1; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0o1; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0o1; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0o1; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0o1; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0o1; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0o1; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position NEB 0.25f, 0.25f, -0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = c1o4; - y = c1o4; - z = -c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c27o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c1o64*drho_SWT; - //press = press_NET * (c9o64 - c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + - // press_NWT * (c3o64 + c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + - // press_SET * (c3o64 - c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c1o64 + c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + - // press_SWB * (c3o64 + c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + - // press_NWB * (c9o64 + c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c9o64 - c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + - // press_NEB * (c27o64 - c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff); - //drho = drho_NET * (c9o64 - c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + - // drho_NWT * (c3o64 + c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + - // drho_SET * (c3o64 - c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c1o64 + c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + - // drho_SWB * (c3o64 + c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + - // drho_NWB * (c9o64 + c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c9o64 - c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + - // drho_NEB * (c27o64 - c9o16 * xoff - c9o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz)/(c1o1 + press); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz)/(c1o1 + press); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz)/(c1o1 + press); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //two - // linear combinations - mxxPyyPzz = mfaaa; - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o; - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0o1; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0o1; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0o1; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0o1; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0o1; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0o1; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0o1; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - } -} -////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -////////////////////////////////////////////////////////////////////////// -__global__ void scaleCF_Fix_comp_27( real* DC, - real* DF, - unsigned int* neighborCX, - unsigned int* neighborCY, - unsigned int* neighborCZ, - unsigned int* neighborFX, - unsigned int* neighborFY, - unsigned int* neighborFZ, - unsigned long long numberOfLBnodesCoarse, - unsigned long long numberOfLBnodesFine, - bool isEvenTimestep, - unsigned int* posCSWB, - unsigned int* posFSWB, - unsigned int kCF, - real omCoarse, - real omFine, - real nu, - unsigned int nxC, - unsigned int nyC, - unsigned int nxF, - unsigned int nyF, - ICellNeigh offCF) -{ - real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, - *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - - feF = &DF[dP00 * numberOfLBnodesFine]; - fwF = &DF[dM00 * numberOfLBnodesFine]; - fnF = &DF[d0P0 * numberOfLBnodesFine]; - fsF = &DF[d0M0 * numberOfLBnodesFine]; - ftF = &DF[d00P * numberOfLBnodesFine]; - fbF = &DF[d00M * numberOfLBnodesFine]; - fneF = &DF[dPP0 * numberOfLBnodesFine]; - fswF = &DF[dMM0 * numberOfLBnodesFine]; - fseF = &DF[dPM0 * numberOfLBnodesFine]; - fnwF = &DF[dMP0 * numberOfLBnodesFine]; - fteF = &DF[dP0P * numberOfLBnodesFine]; - fbwF = &DF[dM0M * numberOfLBnodesFine]; - fbeF = &DF[dP0M * numberOfLBnodesFine]; - ftwF = &DF[dM0P * numberOfLBnodesFine]; - ftnF = &DF[d0PP * numberOfLBnodesFine]; - fbsF = &DF[d0MM * numberOfLBnodesFine]; - fbnF = &DF[d0PM * numberOfLBnodesFine]; - ftsF = &DF[d0MP * numberOfLBnodesFine]; - fzeroF = &DF[d000 * numberOfLBnodesFine]; - ftneF = &DF[dPPP * numberOfLBnodesFine]; - ftswF = &DF[dMMP * numberOfLBnodesFine]; - ftseF = &DF[dPMP * numberOfLBnodesFine]; - ftnwF = &DF[dMPP * numberOfLBnodesFine]; - fbneF = &DF[dPPM * numberOfLBnodesFine]; - fbswF = &DF[dMMM * numberOfLBnodesFine]; - fbseF = &DF[dPMM * numberOfLBnodesFine]; - fbnwF = &DF[dMPM * numberOfLBnodesFine]; - - real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, *fzeroC, - *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; - - if (isEvenTimestep==true) - { - feC = &DC[dP00 * numberOfLBnodesCoarse]; - fwC = &DC[dM00 * numberOfLBnodesCoarse]; - fnC = &DC[d0P0 * numberOfLBnodesCoarse]; - fsC = &DC[d0M0 * numberOfLBnodesCoarse]; - ftC = &DC[d00P * numberOfLBnodesCoarse]; - fbC = &DC[d00M * numberOfLBnodesCoarse]; - fneC = &DC[dPP0 * numberOfLBnodesCoarse]; - fswC = &DC[dMM0 * numberOfLBnodesCoarse]; - fseC = &DC[dPM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dMP0 * numberOfLBnodesCoarse]; - fteC = &DC[dP0P * numberOfLBnodesCoarse]; - fbwC = &DC[dM0M * numberOfLBnodesCoarse]; - fbeC = &DC[dP0M * numberOfLBnodesCoarse]; - ftwC = &DC[dM0P * numberOfLBnodesCoarse]; - ftnC = &DC[d0PP * numberOfLBnodesCoarse]; - fbsC = &DC[d0MM * numberOfLBnodesCoarse]; - fbnC = &DC[d0PM * numberOfLBnodesCoarse]; - ftsC = &DC[d0MP * numberOfLBnodesCoarse]; - fzeroC = &DC[d000 * numberOfLBnodesCoarse]; - ftneC = &DC[dPPP * numberOfLBnodesCoarse]; - ftswC = &DC[dMMP * numberOfLBnodesCoarse]; - ftseC = &DC[dPMP * numberOfLBnodesCoarse]; - ftnwC = &DC[dMPP * numberOfLBnodesCoarse]; - fbneC = &DC[dPPM * numberOfLBnodesCoarse]; - fbswC = &DC[dMMM * numberOfLBnodesCoarse]; - fbseC = &DC[dPMM * numberOfLBnodesCoarse]; - fbnwC = &DC[dMPM * numberOfLBnodesCoarse]; - } - else - { - fwC = &DC[dP00 * numberOfLBnodesCoarse]; - feC = &DC[dM00 * numberOfLBnodesCoarse]; - fsC = &DC[d0P0 * numberOfLBnodesCoarse]; - fnC = &DC[d0M0 * numberOfLBnodesCoarse]; - fbC = &DC[d00P * numberOfLBnodesCoarse]; - ftC = &DC[d00M * numberOfLBnodesCoarse]; - fswC = &DC[dPP0 * numberOfLBnodesCoarse]; - fneC = &DC[dMM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dPM0 * numberOfLBnodesCoarse]; - fseC = &DC[dMP0 * numberOfLBnodesCoarse]; - fbwC = &DC[dP0P * numberOfLBnodesCoarse]; - fteC = &DC[dM0M * numberOfLBnodesCoarse]; - ftwC = &DC[dP0M * numberOfLBnodesCoarse]; - fbeC = &DC[dM0P * numberOfLBnodesCoarse]; - fbsC = &DC[d0PP * numberOfLBnodesCoarse]; - ftnC = &DC[d0MM * numberOfLBnodesCoarse]; - ftsC = &DC[d0PM * numberOfLBnodesCoarse]; - fbnC = &DC[d0MP * numberOfLBnodesCoarse]; - fzeroC = &DC[d000 * numberOfLBnodesCoarse]; - fbswC = &DC[dPPP * numberOfLBnodesCoarse]; - fbneC = &DC[dMMP * numberOfLBnodesCoarse]; - fbnwC = &DC[dPMP * numberOfLBnodesCoarse]; - fbseC = &DC[dMPP * numberOfLBnodesCoarse]; - ftswC = &DC[dPPM * numberOfLBnodesCoarse]; - ftneC = &DC[dMMM * numberOfLBnodesCoarse]; - ftnwC = &DC[dPMM * numberOfLBnodesCoarse]; - ftseC = &DC[dMPM * numberOfLBnodesCoarse]; - } - - //////////////////////////////////////////////////////////////////////////////// - const unsigned ix = threadIdx.x; // Globaler x-Index - const unsigned iy = blockIdx.x; // Globaler y-Index - const unsigned iz = blockIdx.y; // Globaler z-Index - - const unsigned nx = blockDim.x; - const unsigned ny = gridDim.x; - - const unsigned k = nx*(ny*iz + iy) + ix; - ////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////// - real eps_new = c1o2; - real omegaS = omCoarse;//-omCoarse; - real o = omFine;//-omFine; - real oP = o;//:( - //real op = one; - //real cu_sq; - - real xoff, yoff, zoff; - real xoff_sq, yoff_sq, zoff_sq; - - //real dhro; - real vvx, vvy, vvz, vx2, vy2, vz2; - real press;//,drho,vx1,vx2,vx3; - real /*press_SWT,*/drho_SWT,vx1_SWT,vx2_SWT,vx3_SWT; - real /*press_NWT,*/drho_NWT,vx1_NWT,vx2_NWT,vx3_NWT; - real /*press_NET,*/drho_NET,vx1_NET,vx2_NET,vx3_NET; - real /*press_SET,*/drho_SET,vx1_SET,vx2_SET,vx3_SET; - real /*press_SWB,*/drho_SWB,vx1_SWB,vx2_SWB,vx3_SWB; - real /*press_NWB,*/drho_NWB,vx1_NWB,vx2_NWB,vx3_NWB; - real /*press_NEB,*/drho_NEB,vx1_NEB,vx2_NEB,vx3_NEB; - real /*press_SEB,*/drho_SEB,vx1_SEB,vx2_SEB,vx3_SEB; - real f_E,f_W,f_N,f_S,f_T,f_B,f_NE,f_SW,f_SE,f_NW,f_TE,f_BW,f_BE,f_TW,f_TN,f_BS,f_BN,f_TS,f_ZERO,f_TNE, f_TSW, f_TSE, f_TNW, f_BNE, f_BSW, f_BSE, f_BNW; - //real feq_E,feq_W,feq_N,feq_S,feq_T,feq_B,feq_NE,feq_SW,feq_SE,feq_NW,feq_TE,feq_BW,feq_BE,feq_TW,feq_TN,feq_BS,feq_BN,feq_TS,feq_ZERO,feq_TNE, feq_TSW, feq_TSE, feq_TNW, feq_BNE, feq_BSW, feq_BSE, feq_BNW; - real kxyFromfcNEQ_SWT, kyzFromfcNEQ_SWT, kxzFromfcNEQ_SWT, kxxMyyFromfcNEQ_SWT, kxxMzzFromfcNEQ_SWT, kyyMzzFromfcNEQ_SWT; - real kxyFromfcNEQ_NWT, kyzFromfcNEQ_NWT, kxzFromfcNEQ_NWT, kxxMyyFromfcNEQ_NWT, kxxMzzFromfcNEQ_NWT, kyyMzzFromfcNEQ_NWT; - real kxyFromfcNEQ_NET, kyzFromfcNEQ_NET, kxzFromfcNEQ_NET, kxxMyyFromfcNEQ_NET, kxxMzzFromfcNEQ_NET, kyyMzzFromfcNEQ_NET; - real kxyFromfcNEQ_SET, kyzFromfcNEQ_SET, kxzFromfcNEQ_SET, kxxMyyFromfcNEQ_SET, kxxMzzFromfcNEQ_SET, kyyMzzFromfcNEQ_SET; - real kxyFromfcNEQ_SWB, kyzFromfcNEQ_SWB, kxzFromfcNEQ_SWB, kxxMyyFromfcNEQ_SWB, kxxMzzFromfcNEQ_SWB, kyyMzzFromfcNEQ_SWB; - real kxyFromfcNEQ_NWB, kyzFromfcNEQ_NWB, kxzFromfcNEQ_NWB, kxxMyyFromfcNEQ_NWB, kxxMzzFromfcNEQ_NWB, kyyMzzFromfcNEQ_NWB; - real kxyFromfcNEQ_NEB, kyzFromfcNEQ_NEB, kxzFromfcNEQ_NEB, kxxMyyFromfcNEQ_NEB, kxxMzzFromfcNEQ_NEB, kyyMzzFromfcNEQ_NEB; - real kxyFromfcNEQ_SEB, kyzFromfcNEQ_SEB, kxzFromfcNEQ_SEB, kxxMyyFromfcNEQ_SEB, kxxMzzFromfcNEQ_SEB, kyyMzzFromfcNEQ_SEB; - real a0, ax, ay, az, axx, ayy, azz, axy, axz, ayz, b0, bx, by, bz, bxx, byy, bzz, bxy, bxz, byz, c0, cx, cy, cz, cxx, cyy, czz, cxy, cxz, cyz, axyz, bxyz, cxyz; - real d0, dx, dy, dz, dxy, dxz, dyz, dxyz; - - real x,y,z; - - - if(k<kCF) - { - ////////////////////////////////////////////////////////////////////////// - xoff = offCF.x[k]; - yoff = offCF.y[k]; - zoff = offCF.z[k]; - xoff_sq = xoff * xoff; - yoff_sq = yoff * yoff; - zoff_sq = zoff * zoff; - ////////////////////////////////////////////////////////////////////////// - //SWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - unsigned int k0zero= posCSWB[k]; - unsigned int k0w = neighborCX[k0zero]; - unsigned int k0s = neighborCY[k0zero]; - unsigned int k0b = neighborCZ[k0zero]; - unsigned int k0sw = neighborCY[k0w]; - unsigned int k0bw = neighborCZ[k0w]; - unsigned int k0bs = neighborCZ[k0s]; - unsigned int k0bsw = neighborCZ[k0sw]; - ////////////////////////////////////////////////////////////////////////// - //index - unsigned int kzero= k0zero; - unsigned int kw = k0w; - unsigned int ks = k0s; - unsigned int kb = k0b; - unsigned int ksw = k0sw; - unsigned int kbw = k0bw; - unsigned int kbs = k0bs; - unsigned int kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - drho_SWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_SWB = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SWB); - vx2_SWB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWB); - vx3_SWB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWB); - - //nicht konditioniert - //kxyFromfcNEQ_SWB = -three*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (one + drho_SWB) - ((vx1_SWB*vx2_SWB))); - //kyzFromfcNEQ_SWB = -three*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (one + drho_SWB) - ((vx2_SWB*vx3_SWB))); - //kxzFromfcNEQ_SWB = -three*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (one + drho_SWB) - ((vx1_SWB*vx3_SWB))); - //kxxMyyFromfcNEQ_SWB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (one + drho_SWB) - ((vx1_SWB*vx1_SWB-vx2_SWB*vx2_SWB))); - //kxxMzzFromfcNEQ_SWB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (one + drho_SWB) - ((vx1_SWB*vx1_SWB-vx3_SWB*vx3_SWB))); - - kxyFromfcNEQ_SWB = -c3o1*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (c1o1 + drho_SWB) - ((vx1_SWB*vx2_SWB))); - kyzFromfcNEQ_SWB = -c3o1*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (c1o1 + drho_SWB) - ((vx2_SWB*vx3_SWB))); - kxzFromfcNEQ_SWB = -c3o1*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (c1o1 + drho_SWB) - ((vx1_SWB*vx3_SWB))); - kxxMyyFromfcNEQ_SWB = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (c1o1 + drho_SWB) - ((vx1_SWB*vx1_SWB - vx2_SWB*vx2_SWB))); - kxxMzzFromfcNEQ_SWB = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (c1o1 + drho_SWB) - ((vx1_SWB*vx1_SWB - vx3_SWB*vx3_SWB))); - kyyMzzFromfcNEQ_SWB = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (c1o1 + drho_SWB) - ((vx2_SWB*vx2_SWB - vx3_SWB*vx3_SWB))); - - ////konditioniert - //vvx = vx1_SWB; - //vvy = vx2_SWB; - //vvz = vx3_SWB; - //drho = drho_SWB; - //vx2 = vvx * vvx; - //vy2 = vvy * vvy; - //vz2 = vvz * vvz; - - - //f_E -= c2over27*drho + (drho + one)*(c2o9*(vvx + vx2) + (c1o6 + c1o2*(vvx + vx2))*vy2*vz2 - c1o9*(vy2 + vz2) - c1o3*(vvx + vx2)*(vy2 + vz2)); - //f_W -= c2over27*drho - (drho + one)*((vvx - vx2)*(c2o9 - c1o3*vy2) - (c1o6*vy2 + (vvx - vx2)*(c1o3 - c1o2*vy2))*vz2 + c1o9*(vy2 + vz2)); - //f_N -= c2over27*drho + (drho + one)*(c2o9*(vvy + vy2) + vx2*(c1o6 + c1o2*(vvy + vy2))*vz2 - c1o9*(vx2 + vz2) - c1o3*(vvy + vy2)*(vx2 + vz2)); - //f_S -= c2over27*drho - (drho + one)*((c2o9 - c1o3*vx2)*(vvy - vy2) - (c1o6*vx2 + (c1o3 - c1o2*vx2)*(vvy - vy2))*vz2 + c1o9*(vx2 + vz2)); - //f_T -= c2over27*drho + (drho + one)*(-(c1o9*(vx2 + vy2)) + c2o9*(vvz + vz2) - c1o3*(vx2 + vy2)*(vvz + vz2) + vx2*vy2*(c1o6 + c1o2*(vvz + vz2))); - //f_B -= c2over27*drho - (drho + one)*(c1o9*(vx2 + vy2) + c2o9*(vvz - vz2) - c1o3*(vx2 + vy2)*(vvz - vz2) - vx2*vy2*(c1o6 + c1o2*(-vvz + vz2))); - //f_NE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvy + vy2) + c1o18*(vvx + vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx + vx2)*(vvy + vy2) + c1o12*(vvx + vvy + vx2 + vy2))*vz2); - //f_SW -= c1over54*drho + (drho + one)*(c1o6*(vvx - vx2)*(vvy - vy2) + c1o18*(-vvx - vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx - vx2)*(vvy - vy2) + c1o12*(-vvx - vvy + vx2 + vy2))*vz2); - //f_SE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvy - vy2)) + c1o18*(vvx - vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx + vx2)*(vvy - vy2) + c1o12*(vvx - vvy + vx2 + vy2))*vz2); - //f_NW -= c1over54*drho + (drho + one)*(-(c1o6*(vvx - vx2)*(vvy + vy2)) + c1o18*(-vvx + vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx - vx2)*(vvy + vy2) + c1o12*(-vvx + vvy + vx2 + vy2))*vz2); - //f_TE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvz + vz2) + c1o18*(vvx + vvz + vx2 + vz2) - vy2*(c1o36 + c1o4*(vvx + vx2)*(vvz + vz2) + c1o12*(vvx + vvz + vx2 + vz2))); - //f_BW -= c1over54*drho - (drho + one)*(-(c1o6*(vvx - vx2)*(vvz - vz2)) + c1o18*(vvx + vvz - vx2 - vz2) + vy2*(c1o36 + c1o4*(vvx - vx2)*(vvz - vz2) + c1o12*(-vvx - vvz + vx2 + vz2))); - //f_BE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvz - vz2)) + c1o18*(vvx - vvz + vx2 + vz2) - vy2*(c1o36 - c1o4*(vvx + vx2)*(vvz - vz2) + c1o12*(vvx - vvz + vx2 + vz2))); - //f_TW -= c1over54*drho - (drho + one)*(c1o18*(vvx - vvz - vx2 - vz2) + c1o6*(vvx - vx2)*(vvz + vz2) + vy2*(c1o36 - c1o4*(vvx - vx2)*(vvz + vz2) + c1o12*(-vvx + vvz + vx2 + vz2))); - //f_TN -= c1over54*drho + (drho + one)*(c1o6*(vvy + vy2)*(vvz + vz2) + c1o18*(vvy + vvz + vy2 + vz2) - vx2*(c1o36 + c1o4*(vvy + vy2)*(vvz + vz2) + c1o12*(vvy + vvz + vy2 + vz2))); - //f_BS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2))); - //f_BN -= c1over54*drho + (drho + one)*(-(c1o6*(vvy + vy2)*(vvz - vz2)) + c1o18*(vvy - vvz + vy2 + vz2) - vx2*(c1o36 - c1o4*(vvy + vy2)*(vvz - vz2) + c1o12*(vvy - vvz + vy2 + vz2))); - //f_TS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2))); - //f_ZERO -= c8over27*drho - (drho + one)*(vx2*vy2*vz2 + c4o9*(vx2 + vy2 + vz2) - c2o3*(vx2*vy2 + (vx2 + vy2)*vz2)); - //f_TNE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz + vz2) + c1o72*(vvx + vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) + vvx*(vvy + vvz + vy2 + vz2))); - //f_TSW -= c1over216*drho + (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz + vz2) + c1o72*(-vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + vvx*(vvy - vvz - vy2 - vz2) + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2))); - //f_TSE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz + vz2)) + c1o72*(vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2) + vvx*(-vvy + vvz + vy2 + vz2))); - //f_TNW -= c1over216*drho - (drho + one)*(c1o72*(vvx - vvy - vvz - vx2 - vy2 - vz2) + c1o8*(vvx - vx2)*(vvy + vy2)*(vvz + vz2) - c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) - vvx*(vvy + vvz + vy2 + vz2))); - //f_BNE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx + vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvy*vvz) + vvy*vx2 - vvz*vx2 - vvz*vy2 + vx2*vy2 + (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2))); - //f_BSW -= c1over216*drho - (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx + vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvz*vx2 + vvz*vy2 - vx2*vy2 - (vx2 + vy2)*vz2 + vvy*(-vvz + vx2 + vz2) + vvx*(-vvy - vvz + vy2 + vz2))); - //f_BSE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx - vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvx*vvy) - vvx*vvz + vvy*vvz - (vvy + vvz)*vx2 + (vvx - vvz + vx2)*vy2 + (vvx - vvy + vx2 + vy2)*vz2)); - //f_BNW -= c1over216*drho - (drho + one)*(-(c1o8*(vvx - vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx - vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvy*vvz - vvy*vx2 + vvz*vx2 + vvz*vy2 - vx2*vy2 - (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2))); - - //kxyFromfcNEQ_SWB = -three*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (one + drho)); - //kyzFromfcNEQ_SWB = -three*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (one + drho)); - //kxzFromfcNEQ_SWB = -three*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (one + drho)); - //kxxMyyFromfcNEQ_SWB = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (one + drho)); - //kxxMzzFromfcNEQ_SWB = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (one + drho)); - //kyyMzzFromfcNEQ_SWB = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (one + drho)); - - - - ////////////////////////////////////////////////////////////////////////// - //SWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborCZ[kb]; - ksw = kbsw; - kbw = neighborCZ[kbw]; - kbs = neighborCZ[kbs]; - kbsw = neighborCZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - drho_SWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_SWT = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SWT); - vx2_SWT = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWT); - vx3_SWT = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWT); - - //nicht konditioniert - //kxyFromfcNEQ_SWT = -three*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (one + drho_SWT) - ((vx1_SWT*vx2_SWT))); - //kyzFromfcNEQ_SWT = -three*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (one + drho_SWT) - ((vx2_SWT*vx3_SWT))); - //kxzFromfcNEQ_SWT = -three*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (one + drho_SWT) - ((vx1_SWT*vx3_SWT))); - //kxxMyyFromfcNEQ_SWT = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (one + drho_SWT) - ((vx1_SWT*vx1_SWT-vx2_SWT*vx2_SWT))); - //kxxMzzFromfcNEQ_SWT = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (one + drho_SWT) - ((vx1_SWT*vx1_SWT-vx3_SWT*vx3_SWT))); - - kxyFromfcNEQ_SWT = -c3o1*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (c1o1 + drho_SWT) - ((vx1_SWT*vx2_SWT))); - kyzFromfcNEQ_SWT = -c3o1*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (c1o1 + drho_SWT) - ((vx2_SWT*vx3_SWT))); - kxzFromfcNEQ_SWT = -c3o1*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (c1o1 + drho_SWT) - ((vx1_SWT*vx3_SWT))); - kxxMyyFromfcNEQ_SWT = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (c1o1 + drho_SWT) - ((vx1_SWT*vx1_SWT - vx2_SWT*vx2_SWT))); - kxxMzzFromfcNEQ_SWT = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (c1o1 + drho_SWT) - ((vx1_SWT*vx1_SWT - vx3_SWT*vx3_SWT))); - kyyMzzFromfcNEQ_SWT = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (c1o1 + drho_SWT) - ((vx2_SWT*vx2_SWT - vx3_SWT*vx3_SWT))); - - ////konditioniert - //vvx = vx1_SWT; - //vvy = vx2_SWT; - //vvz = vx3_SWT; - //drho = drho_SWT; - //vx2 = vvx * vvx; - //vy2 = vvy * vvy; - //vz2 = vvz * vvz; - - - //f_E -= c2over27*drho + (drho + one)*(c2o9*(vvx + vx2) + (c1o6 + c1o2*(vvx + vx2))*vy2*vz2 - c1o9*(vy2 + vz2) - c1o3*(vvx + vx2)*(vy2 + vz2)); - //f_W -= c2over27*drho - (drho + one)*((vvx - vx2)*(c2o9 - c1o3*vy2) - (c1o6*vy2 + (vvx - vx2)*(c1o3 - c1o2*vy2))*vz2 + c1o9*(vy2 + vz2)); - //f_N -= c2over27*drho + (drho + one)*(c2o9*(vvy + vy2) + vx2*(c1o6 + c1o2*(vvy + vy2))*vz2 - c1o9*(vx2 + vz2) - c1o3*(vvy + vy2)*(vx2 + vz2)); - //f_S -= c2over27*drho - (drho + one)*((c2o9 - c1o3*vx2)*(vvy - vy2) - (c1o6*vx2 + (c1o3 - c1o2*vx2)*(vvy - vy2))*vz2 + c1o9*(vx2 + vz2)); - //f_T -= c2over27*drho + (drho + one)*(-(c1o9*(vx2 + vy2)) + c2o9*(vvz + vz2) - c1o3*(vx2 + vy2)*(vvz + vz2) + vx2*vy2*(c1o6 + c1o2*(vvz + vz2))); - //f_B -= c2over27*drho - (drho + one)*(c1o9*(vx2 + vy2) + c2o9*(vvz - vz2) - c1o3*(vx2 + vy2)*(vvz - vz2) - vx2*vy2*(c1o6 + c1o2*(-vvz + vz2))); - //f_NE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvy + vy2) + c1o18*(vvx + vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx + vx2)*(vvy + vy2) + c1o12*(vvx + vvy + vx2 + vy2))*vz2); - //f_SW -= c1over54*drho + (drho + one)*(c1o6*(vvx - vx2)*(vvy - vy2) + c1o18*(-vvx - vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx - vx2)*(vvy - vy2) + c1o12*(-vvx - vvy + vx2 + vy2))*vz2); - //f_SE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvy - vy2)) + c1o18*(vvx - vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx + vx2)*(vvy - vy2) + c1o12*(vvx - vvy + vx2 + vy2))*vz2); - //f_NW -= c1over54*drho + (drho + one)*(-(c1o6*(vvx - vx2)*(vvy + vy2)) + c1o18*(-vvx + vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx - vx2)*(vvy + vy2) + c1o12*(-vvx + vvy + vx2 + vy2))*vz2); - //f_TE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvz + vz2) + c1o18*(vvx + vvz + vx2 + vz2) - vy2*(c1o36 + c1o4*(vvx + vx2)*(vvz + vz2) + c1o12*(vvx + vvz + vx2 + vz2))); - //f_BW -= c1over54*drho - (drho + one)*(-(c1o6*(vvx - vx2)*(vvz - vz2)) + c1o18*(vvx + vvz - vx2 - vz2) + vy2*(c1o36 + c1o4*(vvx - vx2)*(vvz - vz2) + c1o12*(-vvx - vvz + vx2 + vz2))); - //f_BE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvz - vz2)) + c1o18*(vvx - vvz + vx2 + vz2) - vy2*(c1o36 - c1o4*(vvx + vx2)*(vvz - vz2) + c1o12*(vvx - vvz + vx2 + vz2))); - //f_TW -= c1over54*drho - (drho + one)*(c1o18*(vvx - vvz - vx2 - vz2) + c1o6*(vvx - vx2)*(vvz + vz2) + vy2*(c1o36 - c1o4*(vvx - vx2)*(vvz + vz2) + c1o12*(-vvx + vvz + vx2 + vz2))); - //f_TN -= c1over54*drho + (drho + one)*(c1o6*(vvy + vy2)*(vvz + vz2) + c1o18*(vvy + vvz + vy2 + vz2) - vx2*(c1o36 + c1o4*(vvy + vy2)*(vvz + vz2) + c1o12*(vvy + vvz + vy2 + vz2))); - //f_BS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2))); - //f_BN -= c1over54*drho + (drho + one)*(-(c1o6*(vvy + vy2)*(vvz - vz2)) + c1o18*(vvy - vvz + vy2 + vz2) - vx2*(c1o36 - c1o4*(vvy + vy2)*(vvz - vz2) + c1o12*(vvy - vvz + vy2 + vz2))); - //f_TS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2))); - //f_ZERO -= c8over27*drho - (drho + one)*(vx2*vy2*vz2 + c4o9*(vx2 + vy2 + vz2) - c2o3*(vx2*vy2 + (vx2 + vy2)*vz2)); - //f_TNE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz + vz2) + c1o72*(vvx + vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) + vvx*(vvy + vvz + vy2 + vz2))); - //f_TSW -= c1over216*drho + (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz + vz2) + c1o72*(-vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + vvx*(vvy - vvz - vy2 - vz2) + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2))); - //f_TSE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz + vz2)) + c1o72*(vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2) + vvx*(-vvy + vvz + vy2 + vz2))); - //f_TNW -= c1over216*drho - (drho + one)*(c1o72*(vvx - vvy - vvz - vx2 - vy2 - vz2) + c1o8*(vvx - vx2)*(vvy + vy2)*(vvz + vz2) - c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) - vvx*(vvy + vvz + vy2 + vz2))); - //f_BNE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx + vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvy*vvz) + vvy*vx2 - vvz*vx2 - vvz*vy2 + vx2*vy2 + (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2))); - //f_BSW -= c1over216*drho - (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx + vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvz*vx2 + vvz*vy2 - vx2*vy2 - (vx2 + vy2)*vz2 + vvy*(-vvz + vx2 + vz2) + vvx*(-vvy - vvz + vy2 + vz2))); - //f_BSE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx - vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvx*vvy) - vvx*vvz + vvy*vvz - (vvy + vvz)*vx2 + (vvx - vvz + vx2)*vy2 + (vvx - vvy + vx2 + vy2)*vz2)); - //f_BNW -= c1over216*drho - (drho + one)*(-(c1o8*(vvx - vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx - vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvy*vvz - vvy*vx2 + vvz*vx2 + vvz*vy2 - vx2*vy2 - (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2))); - - //kxyFromfcNEQ_SWT = -three*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (one + drho)); - //kyzFromfcNEQ_SWT = -three*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (one + drho)); - //kxzFromfcNEQ_SWT = -three*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (one + drho)); - //kxxMyyFromfcNEQ_SWT = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (one + drho)); - //kxxMzzFromfcNEQ_SWT = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (one + drho)); - //kyyMzzFromfcNEQ_SWT = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (one + drho)); - - - - - ////////////////////////////////////////////////////////////////////////// - //SET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborCX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborCX[ksw]; - kbw = neighborCX[kbw]; - kbs = kbsw; - kbsw = neighborCX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - drho_SET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_SET = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SET); - vx2_SET = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SET); - vx3_SET = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SET); - - //nicht konditioniert - //kxyFromfcNEQ_SET = -three*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (one + drho_SET) - ((vx1_SET*vx2_SET))); - //kyzFromfcNEQ_SET = -three*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (one + drho_SET) - ((vx2_SET*vx3_SET))); - //kxzFromfcNEQ_SET = -three*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (one + drho_SET) - ((vx1_SET*vx3_SET))); - //kxxMyyFromfcNEQ_SET = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (one + drho_SET) - ((vx1_SET*vx1_SET-vx2_SET*vx2_SET))); - //kxxMzzFromfcNEQ_SET = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (one + drho_SET) - ((vx1_SET*vx1_SET-vx3_SET*vx3_SET))); - - kxyFromfcNEQ_SET = -c3o1*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (c1o1 + drho_SET) - ((vx1_SET*vx2_SET))); - kyzFromfcNEQ_SET = -c3o1*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (c1o1 + drho_SET) - ((vx2_SET*vx3_SET))); - kxzFromfcNEQ_SET = -c3o1*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (c1o1 + drho_SET) - ((vx1_SET*vx3_SET))); - kxxMyyFromfcNEQ_SET = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (c1o1 + drho_SET) - ((vx1_SET*vx1_SET - vx2_SET*vx2_SET))); - kxxMzzFromfcNEQ_SET = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (c1o1 + drho_SET) - ((vx1_SET*vx1_SET - vx3_SET*vx3_SET))); - kyyMzzFromfcNEQ_SET = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (c1o1 + drho_SET) - ((vx2_SET*vx2_SET - vx3_SET*vx3_SET))); - - ////konditioniert - //vvx = vx1_SET; - //vvy = vx2_SET; - //vvz = vx3_SET; - //drho = drho_SET; - //vx2 = vvx * vvx; - //vy2 = vvy * vvy; - //vz2 = vvz * vvz; - - - //f_E -= c2over27*drho + (drho + one)*(c2o9*(vvx + vx2) + (c1o6 + c1o2*(vvx + vx2))*vy2*vz2 - c1o9*(vy2 + vz2) - c1o3*(vvx + vx2)*(vy2 + vz2)); - //f_W -= c2over27*drho - (drho + one)*((vvx - vx2)*(c2o9 - c1o3*vy2) - (c1o6*vy2 + (vvx - vx2)*(c1o3 - c1o2*vy2))*vz2 + c1o9*(vy2 + vz2)); - //f_N -= c2over27*drho + (drho + one)*(c2o9*(vvy + vy2) + vx2*(c1o6 + c1o2*(vvy + vy2))*vz2 - c1o9*(vx2 + vz2) - c1o3*(vvy + vy2)*(vx2 + vz2)); - //f_S -= c2over27*drho - (drho + one)*((c2o9 - c1o3*vx2)*(vvy - vy2) - (c1o6*vx2 + (c1o3 - c1o2*vx2)*(vvy - vy2))*vz2 + c1o9*(vx2 + vz2)); - //f_T -= c2over27*drho + (drho + one)*(-(c1o9*(vx2 + vy2)) + c2o9*(vvz + vz2) - c1o3*(vx2 + vy2)*(vvz + vz2) + vx2*vy2*(c1o6 + c1o2*(vvz + vz2))); - //f_B -= c2over27*drho - (drho + one)*(c1o9*(vx2 + vy2) + c2o9*(vvz - vz2) - c1o3*(vx2 + vy2)*(vvz - vz2) - vx2*vy2*(c1o6 + c1o2*(-vvz + vz2))); - //f_NE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvy + vy2) + c1o18*(vvx + vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx + vx2)*(vvy + vy2) + c1o12*(vvx + vvy + vx2 + vy2))*vz2); - //f_SW -= c1over54*drho + (drho + one)*(c1o6*(vvx - vx2)*(vvy - vy2) + c1o18*(-vvx - vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx - vx2)*(vvy - vy2) + c1o12*(-vvx - vvy + vx2 + vy2))*vz2); - //f_SE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvy - vy2)) + c1o18*(vvx - vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx + vx2)*(vvy - vy2) + c1o12*(vvx - vvy + vx2 + vy2))*vz2); - //f_NW -= c1over54*drho + (drho + one)*(-(c1o6*(vvx - vx2)*(vvy + vy2)) + c1o18*(-vvx + vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx - vx2)*(vvy + vy2) + c1o12*(-vvx + vvy + vx2 + vy2))*vz2); - //f_TE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvz + vz2) + c1o18*(vvx + vvz + vx2 + vz2) - vy2*(c1o36 + c1o4*(vvx + vx2)*(vvz + vz2) + c1o12*(vvx + vvz + vx2 + vz2))); - //f_BW -= c1over54*drho - (drho + one)*(-(c1o6*(vvx - vx2)*(vvz - vz2)) + c1o18*(vvx + vvz - vx2 - vz2) + vy2*(c1o36 + c1o4*(vvx - vx2)*(vvz - vz2) + c1o12*(-vvx - vvz + vx2 + vz2))); - //f_BE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvz - vz2)) + c1o18*(vvx - vvz + vx2 + vz2) - vy2*(c1o36 - c1o4*(vvx + vx2)*(vvz - vz2) + c1o12*(vvx - vvz + vx2 + vz2))); - //f_TW -= c1over54*drho - (drho + one)*(c1o18*(vvx - vvz - vx2 - vz2) + c1o6*(vvx - vx2)*(vvz + vz2) + vy2*(c1o36 - c1o4*(vvx - vx2)*(vvz + vz2) + c1o12*(-vvx + vvz + vx2 + vz2))); - //f_TN -= c1over54*drho + (drho + one)*(c1o6*(vvy + vy2)*(vvz + vz2) + c1o18*(vvy + vvz + vy2 + vz2) - vx2*(c1o36 + c1o4*(vvy + vy2)*(vvz + vz2) + c1o12*(vvy + vvz + vy2 + vz2))); - //f_BS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2))); - //f_BN -= c1over54*drho + (drho + one)*(-(c1o6*(vvy + vy2)*(vvz - vz2)) + c1o18*(vvy - vvz + vy2 + vz2) - vx2*(c1o36 - c1o4*(vvy + vy2)*(vvz - vz2) + c1o12*(vvy - vvz + vy2 + vz2))); - //f_TS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2))); - //f_ZERO -= c8over27*drho - (drho + one)*(vx2*vy2*vz2 + c4o9*(vx2 + vy2 + vz2) - c2o3*(vx2*vy2 + (vx2 + vy2)*vz2)); - //f_TNE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz + vz2) + c1o72*(vvx + vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) + vvx*(vvy + vvz + vy2 + vz2))); - //f_TSW -= c1over216*drho + (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz + vz2) + c1o72*(-vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + vvx*(vvy - vvz - vy2 - vz2) + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2))); - //f_TSE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz + vz2)) + c1o72*(vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2) + vvx*(-vvy + vvz + vy2 + vz2))); - //f_TNW -= c1over216*drho - (drho + one)*(c1o72*(vvx - vvy - vvz - vx2 - vy2 - vz2) + c1o8*(vvx - vx2)*(vvy + vy2)*(vvz + vz2) - c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) - vvx*(vvy + vvz + vy2 + vz2))); - //f_BNE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx + vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvy*vvz) + vvy*vx2 - vvz*vx2 - vvz*vy2 + vx2*vy2 + (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2))); - //f_BSW -= c1over216*drho - (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx + vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvz*vx2 + vvz*vy2 - vx2*vy2 - (vx2 + vy2)*vz2 + vvy*(-vvz + vx2 + vz2) + vvx*(-vvy - vvz + vy2 + vz2))); - //f_BSE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx - vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvx*vvy) - vvx*vvz + vvy*vvz - (vvy + vvz)*vx2 + (vvx - vvz + vx2)*vy2 + (vvx - vvy + vx2 + vy2)*vz2)); - //f_BNW -= c1over216*drho - (drho + one)*(-(c1o8*(vvx - vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx - vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvy*vvz - vvy*vx2 + vvz*vx2 + vvz*vy2 - vx2*vy2 - (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2))); - - //kxyFromfcNEQ_SET = -three*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (one + drho)); - //kyzFromfcNEQ_SET = -three*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (one + drho)); - //kxzFromfcNEQ_SET = -three*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (one + drho)); - //kxxMyyFromfcNEQ_SET = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (one + drho)); - //kxxMzzFromfcNEQ_SET = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (one + drho)); - //kyyMzzFromfcNEQ_SET = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (one + drho)); - - - - - ////////////////////////////////////////////////////////////////////////// - //SEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborCX[k0w]; - ks = k0sw; - ksw = neighborCX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - drho_SEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_SEB = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SEB); - vx2_SEB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SEB); - vx3_SEB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SEB); - - //nicht konditioniert - //kxyFromfcNEQ_SEB = -three*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (one + drho_SEB) - ((vx1_SEB*vx2_SEB))); - //kyzFromfcNEQ_SEB = -three*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (one + drho_SEB) - ((vx2_SEB*vx3_SEB))); - //kxzFromfcNEQ_SEB = -three*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (one + drho_SEB) - ((vx1_SEB*vx3_SEB))); - //kxxMyyFromfcNEQ_SEB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (one + drho_SEB) - ((vx1_SEB*vx1_SEB-vx2_SEB*vx2_SEB))); - //kxxMzzFromfcNEQ_SEB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (one + drho_SEB) - ((vx1_SEB*vx1_SEB-vx3_SEB*vx3_SEB))); - - kxyFromfcNEQ_SEB = -c3o1*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (c1o1 + drho_SEB) - ((vx1_SEB*vx2_SEB))); - kyzFromfcNEQ_SEB = -c3o1*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (c1o1 + drho_SEB) - ((vx2_SEB*vx3_SEB))); - kxzFromfcNEQ_SEB = -c3o1*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (c1o1 + drho_SEB) - ((vx1_SEB*vx3_SEB))); - kxxMyyFromfcNEQ_SEB = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (c1o1 + drho_SEB) - ((vx1_SEB*vx1_SEB - vx2_SEB*vx2_SEB))); - kxxMzzFromfcNEQ_SEB = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (c1o1 + drho_SEB) - ((vx1_SEB*vx1_SEB - vx3_SEB*vx3_SEB))); - kyyMzzFromfcNEQ_SEB = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (c1o1 + drho_SEB) - ((vx2_SEB*vx2_SEB - vx3_SEB*vx3_SEB))); - - ////konditioniert - //vvx = vx1_SEB; - //vvy = vx2_SEB; - //vvz = vx3_SEB; - //drho = drho_SEB; - //vx2 = vvx * vvx; - //vy2 = vvy * vvy; - //vz2 = vvz * vvz; - - - //f_E -= c2over27*drho + (drho + one)*(c2o9*(vvx + vx2) + (c1o6 + c1o2*(vvx + vx2))*vy2*vz2 - c1o9*(vy2 + vz2) - c1o3*(vvx + vx2)*(vy2 + vz2)); - //f_W -= c2over27*drho - (drho + one)*((vvx - vx2)*(c2o9 - c1o3*vy2) - (c1o6*vy2 + (vvx - vx2)*(c1o3 - c1o2*vy2))*vz2 + c1o9*(vy2 + vz2)); - //f_N -= c2over27*drho + (drho + one)*(c2o9*(vvy + vy2) + vx2*(c1o6 + c1o2*(vvy + vy2))*vz2 - c1o9*(vx2 + vz2) - c1o3*(vvy + vy2)*(vx2 + vz2)); - //f_S -= c2over27*drho - (drho + one)*((c2o9 - c1o3*vx2)*(vvy - vy2) - (c1o6*vx2 + (c1o3 - c1o2*vx2)*(vvy - vy2))*vz2 + c1o9*(vx2 + vz2)); - //f_T -= c2over27*drho + (drho + one)*(-(c1o9*(vx2 + vy2)) + c2o9*(vvz + vz2) - c1o3*(vx2 + vy2)*(vvz + vz2) + vx2*vy2*(c1o6 + c1o2*(vvz + vz2))); - //f_B -= c2over27*drho - (drho + one)*(c1o9*(vx2 + vy2) + c2o9*(vvz - vz2) - c1o3*(vx2 + vy2)*(vvz - vz2) - vx2*vy2*(c1o6 + c1o2*(-vvz + vz2))); - //f_NE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvy + vy2) + c1o18*(vvx + vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx + vx2)*(vvy + vy2) + c1o12*(vvx + vvy + vx2 + vy2))*vz2); - //f_SW -= c1over54*drho + (drho + one)*(c1o6*(vvx - vx2)*(vvy - vy2) + c1o18*(-vvx - vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx - vx2)*(vvy - vy2) + c1o12*(-vvx - vvy + vx2 + vy2))*vz2); - //f_SE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvy - vy2)) + c1o18*(vvx - vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx + vx2)*(vvy - vy2) + c1o12*(vvx - vvy + vx2 + vy2))*vz2); - //f_NW -= c1over54*drho + (drho + one)*(-(c1o6*(vvx - vx2)*(vvy + vy2)) + c1o18*(-vvx + vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx - vx2)*(vvy + vy2) + c1o12*(-vvx + vvy + vx2 + vy2))*vz2); - //f_TE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvz + vz2) + c1o18*(vvx + vvz + vx2 + vz2) - vy2*(c1o36 + c1o4*(vvx + vx2)*(vvz + vz2) + c1o12*(vvx + vvz + vx2 + vz2))); - //f_BW -= c1over54*drho - (drho + one)*(-(c1o6*(vvx - vx2)*(vvz - vz2)) + c1o18*(vvx + vvz - vx2 - vz2) + vy2*(c1o36 + c1o4*(vvx - vx2)*(vvz - vz2) + c1o12*(-vvx - vvz + vx2 + vz2))); - //f_BE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvz - vz2)) + c1o18*(vvx - vvz + vx2 + vz2) - vy2*(c1o36 - c1o4*(vvx + vx2)*(vvz - vz2) + c1o12*(vvx - vvz + vx2 + vz2))); - //f_TW -= c1over54*drho - (drho + one)*(c1o18*(vvx - vvz - vx2 - vz2) + c1o6*(vvx - vx2)*(vvz + vz2) + vy2*(c1o36 - c1o4*(vvx - vx2)*(vvz + vz2) + c1o12*(-vvx + vvz + vx2 + vz2))); - //f_TN -= c1over54*drho + (drho + one)*(c1o6*(vvy + vy2)*(vvz + vz2) + c1o18*(vvy + vvz + vy2 + vz2) - vx2*(c1o36 + c1o4*(vvy + vy2)*(vvz + vz2) + c1o12*(vvy + vvz + vy2 + vz2))); - //f_BS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2))); - //f_BN -= c1over54*drho + (drho + one)*(-(c1o6*(vvy + vy2)*(vvz - vz2)) + c1o18*(vvy - vvz + vy2 + vz2) - vx2*(c1o36 - c1o4*(vvy + vy2)*(vvz - vz2) + c1o12*(vvy - vvz + vy2 + vz2))); - //f_TS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2))); - //f_ZERO -= c8over27*drho - (drho + one)*(vx2*vy2*vz2 + c4o9*(vx2 + vy2 + vz2) - c2o3*(vx2*vy2 + (vx2 + vy2)*vz2)); - //f_TNE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz + vz2) + c1o72*(vvx + vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) + vvx*(vvy + vvz + vy2 + vz2))); - //f_TSW -= c1over216*drho + (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz + vz2) + c1o72*(-vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + vvx*(vvy - vvz - vy2 - vz2) + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2))); - //f_TSE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz + vz2)) + c1o72*(vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2) + vvx*(-vvy + vvz + vy2 + vz2))); - //f_TNW -= c1over216*drho - (drho + one)*(c1o72*(vvx - vvy - vvz - vx2 - vy2 - vz2) + c1o8*(vvx - vx2)*(vvy + vy2)*(vvz + vz2) - c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) - vvx*(vvy + vvz + vy2 + vz2))); - //f_BNE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx + vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvy*vvz) + vvy*vx2 - vvz*vx2 - vvz*vy2 + vx2*vy2 + (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2))); - //f_BSW -= c1over216*drho - (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx + vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvz*vx2 + vvz*vy2 - vx2*vy2 - (vx2 + vy2)*vz2 + vvy*(-vvz + vx2 + vz2) + vvx*(-vvy - vvz + vy2 + vz2))); - //f_BSE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx - vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvx*vvy) - vvx*vvz + vvy*vvz - (vvy + vvz)*vx2 + (vvx - vvz + vx2)*vy2 + (vvx - vvy + vx2 + vy2)*vz2)); - //f_BNW -= c1over216*drho - (drho + one)*(-(c1o8*(vvx - vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx - vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvy*vvz - vvy*vx2 + vvz*vx2 + vvz*vy2 - vx2*vy2 - (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2))); - - //kxyFromfcNEQ_SEB = -three*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (one + drho)); - //kyzFromfcNEQ_SEB = -three*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (one + drho)); - //kxzFromfcNEQ_SEB = -three*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (one + drho)); - //kxxMyyFromfcNEQ_SEB = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (one + drho)); - //kxxMzzFromfcNEQ_SEB = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (one + drho)); - //kyyMzzFromfcNEQ_SEB = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (one + drho)); - - - - - ////////////////////////////////////////////////////////////////////////// - //NWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= k0s; - k0w = k0sw; - k0s = neighborCY[k0s]; - k0b = k0bs; - k0sw = neighborCY[k0sw]; - k0bw = k0bsw; - k0bs = neighborCY[k0bs]; - k0bsw = neighborCY[k0bsw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - drho_NWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_NWB = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NWB); - vx2_NWB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWB); - vx3_NWB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWB); - - //nicht konditioniert - //kxyFromfcNEQ_NWB = -three*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (one + drho_NWB) - ((vx1_NWB*vx2_NWB))); - //kyzFromfcNEQ_NWB = -three*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (one + drho_NWB) - ((vx2_NWB*vx3_NWB))); - //kxzFromfcNEQ_NWB = -three*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (one + drho_NWB) - ((vx1_NWB*vx3_NWB))); - //kxxMyyFromfcNEQ_NWB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (one + drho_NWB) - ((vx1_NWB*vx1_NWB-vx2_NWB*vx2_NWB))); - //kxxMzzFromfcNEQ_NWB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (one + drho_NWB) - ((vx1_NWB*vx1_NWB-vx3_NWB*vx3_NWB))); - - kxyFromfcNEQ_NWB = -c3o1*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (c1o1 + drho_NWB) - ((vx1_NWB*vx2_NWB))); - kyzFromfcNEQ_NWB = -c3o1*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (c1o1 + drho_NWB) - ((vx2_NWB*vx3_NWB))); - kxzFromfcNEQ_NWB = -c3o1*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (c1o1 + drho_NWB) - ((vx1_NWB*vx3_NWB))); - kxxMyyFromfcNEQ_NWB = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (c1o1 + drho_NWB) - ((vx1_NWB*vx1_NWB - vx2_NWB*vx2_NWB))); - kxxMzzFromfcNEQ_NWB = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (c1o1 + drho_NWB) - ((vx1_NWB*vx1_NWB - vx3_NWB*vx3_NWB))); - kyyMzzFromfcNEQ_NWB = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (c1o1 + drho_NWB) - ((vx2_NWB*vx2_NWB - vx3_NWB*vx3_NWB))); - - ////konditioniert - //vvx = vx1_NWB; - //vvy = vx2_NWB; - //vvz = vx3_NWB; - //drho = drho_NWB; - //vx2 = vvx * vvx; - //vy2 = vvy * vvy; - //vz2 = vvz * vvz; - - - //f_E -= c2over27*drho + (drho + one)*(c2o9*(vvx + vx2) + (c1o6 + c1o2*(vvx + vx2))*vy2*vz2 - c1o9*(vy2 + vz2) - c1o3*(vvx + vx2)*(vy2 + vz2)); - //f_W -= c2over27*drho - (drho + one)*((vvx - vx2)*(c2o9 - c1o3*vy2) - (c1o6*vy2 + (vvx - vx2)*(c1o3 - c1o2*vy2))*vz2 + c1o9*(vy2 + vz2)); - //f_N -= c2over27*drho + (drho + one)*(c2o9*(vvy + vy2) + vx2*(c1o6 + c1o2*(vvy + vy2))*vz2 - c1o9*(vx2 + vz2) - c1o3*(vvy + vy2)*(vx2 + vz2)); - //f_S -= c2over27*drho - (drho + one)*((c2o9 - c1o3*vx2)*(vvy - vy2) - (c1o6*vx2 + (c1o3 - c1o2*vx2)*(vvy - vy2))*vz2 + c1o9*(vx2 + vz2)); - //f_T -= c2over27*drho + (drho + one)*(-(c1o9*(vx2 + vy2)) + c2o9*(vvz + vz2) - c1o3*(vx2 + vy2)*(vvz + vz2) + vx2*vy2*(c1o6 + c1o2*(vvz + vz2))); - //f_B -= c2over27*drho - (drho + one)*(c1o9*(vx2 + vy2) + c2o9*(vvz - vz2) - c1o3*(vx2 + vy2)*(vvz - vz2) - vx2*vy2*(c1o6 + c1o2*(-vvz + vz2))); - //f_NE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvy + vy2) + c1o18*(vvx + vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx + vx2)*(vvy + vy2) + c1o12*(vvx + vvy + vx2 + vy2))*vz2); - //f_SW -= c1over54*drho + (drho + one)*(c1o6*(vvx - vx2)*(vvy - vy2) + c1o18*(-vvx - vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx - vx2)*(vvy - vy2) + c1o12*(-vvx - vvy + vx2 + vy2))*vz2); - //f_SE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvy - vy2)) + c1o18*(vvx - vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx + vx2)*(vvy - vy2) + c1o12*(vvx - vvy + vx2 + vy2))*vz2); - //f_NW -= c1over54*drho + (drho + one)*(-(c1o6*(vvx - vx2)*(vvy + vy2)) + c1o18*(-vvx + vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx - vx2)*(vvy + vy2) + c1o12*(-vvx + vvy + vx2 + vy2))*vz2); - //f_TE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvz + vz2) + c1o18*(vvx + vvz + vx2 + vz2) - vy2*(c1o36 + c1o4*(vvx + vx2)*(vvz + vz2) + c1o12*(vvx + vvz + vx2 + vz2))); - //f_BW -= c1over54*drho - (drho + one)*(-(c1o6*(vvx - vx2)*(vvz - vz2)) + c1o18*(vvx + vvz - vx2 - vz2) + vy2*(c1o36 + c1o4*(vvx - vx2)*(vvz - vz2) + c1o12*(-vvx - vvz + vx2 + vz2))); - //f_BE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvz - vz2)) + c1o18*(vvx - vvz + vx2 + vz2) - vy2*(c1o36 - c1o4*(vvx + vx2)*(vvz - vz2) + c1o12*(vvx - vvz + vx2 + vz2))); - //f_TW -= c1over54*drho - (drho + one)*(c1o18*(vvx - vvz - vx2 - vz2) + c1o6*(vvx - vx2)*(vvz + vz2) + vy2*(c1o36 - c1o4*(vvx - vx2)*(vvz + vz2) + c1o12*(-vvx + vvz + vx2 + vz2))); - //f_TN -= c1over54*drho + (drho + one)*(c1o6*(vvy + vy2)*(vvz + vz2) + c1o18*(vvy + vvz + vy2 + vz2) - vx2*(c1o36 + c1o4*(vvy + vy2)*(vvz + vz2) + c1o12*(vvy + vvz + vy2 + vz2))); - //f_BS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2))); - //f_BN -= c1over54*drho + (drho + one)*(-(c1o6*(vvy + vy2)*(vvz - vz2)) + c1o18*(vvy - vvz + vy2 + vz2) - vx2*(c1o36 - c1o4*(vvy + vy2)*(vvz - vz2) + c1o12*(vvy - vvz + vy2 + vz2))); - //f_TS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2))); - //f_ZERO -= c8over27*drho - (drho + one)*(vx2*vy2*vz2 + c4o9*(vx2 + vy2 + vz2) - c2o3*(vx2*vy2 + (vx2 + vy2)*vz2)); - //f_TNE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz + vz2) + c1o72*(vvx + vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) + vvx*(vvy + vvz + vy2 + vz2))); - //f_TSW -= c1over216*drho + (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz + vz2) + c1o72*(-vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + vvx*(vvy - vvz - vy2 - vz2) + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2))); - //f_TSE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz + vz2)) + c1o72*(vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2) + vvx*(-vvy + vvz + vy2 + vz2))); - //f_TNW -= c1over216*drho - (drho + one)*(c1o72*(vvx - vvy - vvz - vx2 - vy2 - vz2) + c1o8*(vvx - vx2)*(vvy + vy2)*(vvz + vz2) - c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) - vvx*(vvy + vvz + vy2 + vz2))); - //f_BNE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx + vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvy*vvz) + vvy*vx2 - vvz*vx2 - vvz*vy2 + vx2*vy2 + (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2))); - //f_BSW -= c1over216*drho - (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx + vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvz*vx2 + vvz*vy2 - vx2*vy2 - (vx2 + vy2)*vz2 + vvy*(-vvz + vx2 + vz2) + vvx*(-vvy - vvz + vy2 + vz2))); - //f_BSE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx - vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvx*vvy) - vvx*vvz + vvy*vvz - (vvy + vvz)*vx2 + (vvx - vvz + vx2)*vy2 + (vvx - vvy + vx2 + vy2)*vz2)); - //f_BNW -= c1over216*drho - (drho + one)*(-(c1o8*(vvx - vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx - vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvy*vvz - vvy*vx2 + vvz*vx2 + vvz*vy2 - vx2*vy2 - (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2))); - - //kxyFromfcNEQ_NWB = -three*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (one + drho)); - //kyzFromfcNEQ_NWB = -three*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (one + drho)); - //kxzFromfcNEQ_NWB = -three*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (one + drho)); - //kxxMyyFromfcNEQ_NWB = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (one + drho)); - //kxxMzzFromfcNEQ_NWB = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (one + drho)); - //kyyMzzFromfcNEQ_NWB = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (one + drho)); - - - - - ////////////////////////////////////////////////////////////////////////// - //NWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborCZ[kb]; - ksw = kbsw; - kbw = neighborCZ[kbw]; - kbs = neighborCZ[kbs]; - kbsw = neighborCZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - drho_NWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_NWT = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NWT); - vx2_NWT = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWT); - vx3_NWT = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWT); - - //nicht konditioniert - //kxyFromfcNEQ_NWT = -three*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (one + drho_NWT) - ((vx1_NWT*vx2_NWT))); - //kyzFromfcNEQ_NWT = -three*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (one + drho_NWT) - ((vx2_NWT*vx3_NWT))); - //kxzFromfcNEQ_NWT = -three*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (one + drho_NWT) - ((vx1_NWT*vx3_NWT))); - //kxxMyyFromfcNEQ_NWT = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (one + drho_NWT) - ((vx1_NWT*vx1_NWT-vx2_NWT*vx2_NWT))); - //kxxMzzFromfcNEQ_NWT = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (one + drho_NWT) - ((vx1_NWT*vx1_NWT-vx3_NWT*vx3_NWT))); - - kxyFromfcNEQ_NWT = -c3o1*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (c1o1 + drho_NWT) - ((vx1_NWT*vx2_NWT))); - kyzFromfcNEQ_NWT = -c3o1*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (c1o1 + drho_NWT) - ((vx2_NWT*vx3_NWT))); - kxzFromfcNEQ_NWT = -c3o1*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (c1o1 + drho_NWT) - ((vx1_NWT*vx3_NWT))); - kxxMyyFromfcNEQ_NWT = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (c1o1 + drho_NWT) - ((vx1_NWT*vx1_NWT - vx2_NWT*vx2_NWT))); - kxxMzzFromfcNEQ_NWT = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (c1o1 + drho_NWT) - ((vx1_NWT*vx1_NWT - vx3_NWT*vx3_NWT))); - kyyMzzFromfcNEQ_NWT = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (c1o1 + drho_NWT) - ((vx2_NWT*vx2_NWT - vx3_NWT*vx3_NWT))); - - ////konditionirt - //vvx = vx1_NWT; - //vvy = vx2_NWT; - //vvz = vx3_NWT; - //drho = drho_NWT; - //vx2 = vvx * vvx; - //vy2 = vvy * vvy; - //vz2 = vvz * vvz; - - - //f_E -= c2over27*drho + (drho + one)*(c2o9*(vvx + vx2) + (c1o6 + c1o2*(vvx + vx2))*vy2*vz2 - c1o9*(vy2 + vz2) - c1o3*(vvx + vx2)*(vy2 + vz2)); - //f_W -= c2over27*drho - (drho + one)*((vvx - vx2)*(c2o9 - c1o3*vy2) - (c1o6*vy2 + (vvx - vx2)*(c1o3 - c1o2*vy2))*vz2 + c1o9*(vy2 + vz2)); - //f_N -= c2over27*drho + (drho + one)*(c2o9*(vvy + vy2) + vx2*(c1o6 + c1o2*(vvy + vy2))*vz2 - c1o9*(vx2 + vz2) - c1o3*(vvy + vy2)*(vx2 + vz2)); - //f_S -= c2over27*drho - (drho + one)*((c2o9 - c1o3*vx2)*(vvy - vy2) - (c1o6*vx2 + (c1o3 - c1o2*vx2)*(vvy - vy2))*vz2 + c1o9*(vx2 + vz2)); - //f_T -= c2over27*drho + (drho + one)*(-(c1o9*(vx2 + vy2)) + c2o9*(vvz + vz2) - c1o3*(vx2 + vy2)*(vvz + vz2) + vx2*vy2*(c1o6 + c1o2*(vvz + vz2))); - //f_B -= c2over27*drho - (drho + one)*(c1o9*(vx2 + vy2) + c2o9*(vvz - vz2) - c1o3*(vx2 + vy2)*(vvz - vz2) - vx2*vy2*(c1o6 + c1o2*(-vvz + vz2))); - //f_NE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvy + vy2) + c1o18*(vvx + vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx + vx2)*(vvy + vy2) + c1o12*(vvx + vvy + vx2 + vy2))*vz2); - //f_SW -= c1over54*drho + (drho + one)*(c1o6*(vvx - vx2)*(vvy - vy2) + c1o18*(-vvx - vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx - vx2)*(vvy - vy2) + c1o12*(-vvx - vvy + vx2 + vy2))*vz2); - //f_SE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvy - vy2)) + c1o18*(vvx - vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx + vx2)*(vvy - vy2) + c1o12*(vvx - vvy + vx2 + vy2))*vz2); - //f_NW -= c1over54*drho + (drho + one)*(-(c1o6*(vvx - vx2)*(vvy + vy2)) + c1o18*(-vvx + vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx - vx2)*(vvy + vy2) + c1o12*(-vvx + vvy + vx2 + vy2))*vz2); - //f_TE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvz + vz2) + c1o18*(vvx + vvz + vx2 + vz2) - vy2*(c1o36 + c1o4*(vvx + vx2)*(vvz + vz2) + c1o12*(vvx + vvz + vx2 + vz2))); - //f_BW -= c1over54*drho - (drho + one)*(-(c1o6*(vvx - vx2)*(vvz - vz2)) + c1o18*(vvx + vvz - vx2 - vz2) + vy2*(c1o36 + c1o4*(vvx - vx2)*(vvz - vz2) + c1o12*(-vvx - vvz + vx2 + vz2))); - //f_BE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvz - vz2)) + c1o18*(vvx - vvz + vx2 + vz2) - vy2*(c1o36 - c1o4*(vvx + vx2)*(vvz - vz2) + c1o12*(vvx - vvz + vx2 + vz2))); - //f_TW -= c1over54*drho - (drho + one)*(c1o18*(vvx - vvz - vx2 - vz2) + c1o6*(vvx - vx2)*(vvz + vz2) + vy2*(c1o36 - c1o4*(vvx - vx2)*(vvz + vz2) + c1o12*(-vvx + vvz + vx2 + vz2))); - //f_TN -= c1over54*drho + (drho + one)*(c1o6*(vvy + vy2)*(vvz + vz2) + c1o18*(vvy + vvz + vy2 + vz2) - vx2*(c1o36 + c1o4*(vvy + vy2)*(vvz + vz2) + c1o12*(vvy + vvz + vy2 + vz2))); - //f_BS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2))); - //f_BN -= c1over54*drho + (drho + one)*(-(c1o6*(vvy + vy2)*(vvz - vz2)) + c1o18*(vvy - vvz + vy2 + vz2) - vx2*(c1o36 - c1o4*(vvy + vy2)*(vvz - vz2) + c1o12*(vvy - vvz + vy2 + vz2))); - //f_TS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2))); - //f_ZERO -= c8over27*drho - (drho + one)*(vx2*vy2*vz2 + c4o9*(vx2 + vy2 + vz2) - c2o3*(vx2*vy2 + (vx2 + vy2)*vz2)); - //f_TNE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz + vz2) + c1o72*(vvx + vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) + vvx*(vvy + vvz + vy2 + vz2))); - //f_TSW -= c1over216*drho + (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz + vz2) + c1o72*(-vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + vvx*(vvy - vvz - vy2 - vz2) + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2))); - //f_TSE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz + vz2)) + c1o72*(vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2) + vvx*(-vvy + vvz + vy2 + vz2))); - //f_TNW -= c1over216*drho - (drho + one)*(c1o72*(vvx - vvy - vvz - vx2 - vy2 - vz2) + c1o8*(vvx - vx2)*(vvy + vy2)*(vvz + vz2) - c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) - vvx*(vvy + vvz + vy2 + vz2))); - //f_BNE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx + vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvy*vvz) + vvy*vx2 - vvz*vx2 - vvz*vy2 + vx2*vy2 + (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2))); - //f_BSW -= c1over216*drho - (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx + vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvz*vx2 + vvz*vy2 - vx2*vy2 - (vx2 + vy2)*vz2 + vvy*(-vvz + vx2 + vz2) + vvx*(-vvy - vvz + vy2 + vz2))); - //f_BSE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx - vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvx*vvy) - vvx*vvz + vvy*vvz - (vvy + vvz)*vx2 + (vvx - vvz + vx2)*vy2 + (vvx - vvy + vx2 + vy2)*vz2)); - //f_BNW -= c1over216*drho - (drho + one)*(-(c1o8*(vvx - vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx - vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvy*vvz - vvy*vx2 + vvz*vx2 + vvz*vy2 - vx2*vy2 - (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2))); - - //kxyFromfcNEQ_NWT = -three*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (one + drho)); - //kyzFromfcNEQ_NWT = -three*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (one + drho)); - //kxzFromfcNEQ_NWT = -three*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (one + drho)); - //kxxMyyFromfcNEQ_NWT = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (one + drho)); - //kxxMzzFromfcNEQ_NWT = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (one + drho)); - //kyyMzzFromfcNEQ_NWT = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (one + drho)); - - - - - ////////////////////////////////////////////////////////////////////////// - //NET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborCX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborCX[ksw]; - kbw = neighborCX[kbw]; - kbs = kbsw; - kbsw = neighborCX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - drho_NET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_NET = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NET); - vx2_NET = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NET); - vx3_NET = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NET); - - //nicht konditioniert - //kxyFromfcNEQ_NET = -three*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (one + drho_NET) - ((vx1_NET*vx2_NET))); - //kyzFromfcNEQ_NET = -three*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (one + drho_NET) - ((vx2_NET*vx3_NET))); - //kxzFromfcNEQ_NET = -three*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (one + drho_NET) - ((vx1_NET*vx3_NET))); - //kxxMyyFromfcNEQ_NET = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (one + drho_NET) - ((vx1_NET*vx1_NET-vx2_NET*vx2_NET))); - //kxxMzzFromfcNEQ_NET = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (one + drho_NET) - ((vx1_NET*vx1_NET-vx3_NET*vx3_NET))); - - kxyFromfcNEQ_NET = -c3o1*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (c1o1 + drho_NET) - ((vx1_NET*vx2_NET))); - kyzFromfcNEQ_NET = -c3o1*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (c1o1 + drho_NET) - ((vx2_NET*vx3_NET))); - kxzFromfcNEQ_NET = -c3o1*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (c1o1 + drho_NET) - ((vx1_NET*vx3_NET))); - kxxMyyFromfcNEQ_NET = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (c1o1 + drho_NET) - ((vx1_NET*vx1_NET - vx2_NET*vx2_NET))); - kxxMzzFromfcNEQ_NET = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (c1o1 + drho_NET) - ((vx1_NET*vx1_NET - vx3_NET*vx3_NET))); - kyyMzzFromfcNEQ_NET = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (c1o1 + drho_NET) - ((vx2_NET*vx2_NET - vx3_NET*vx3_NET))); - - ////konditionirt - //vvx = vx1_NET; - //vvy = vx2_NET; - //vvz = vx3_NET; - //drho = drho_NET; - //vx2 = vvx * vvx; - //vy2 = vvy * vvy; - //vz2 = vvz * vvz; - - - //f_E -= c2over27*drho + (drho + one)*(c2o9*(vvx + vx2) + (c1o6 + c1o2*(vvx + vx2))*vy2*vz2 - c1o9*(vy2 + vz2) - c1o3*(vvx + vx2)*(vy2 + vz2)); - //f_W -= c2over27*drho - (drho + one)*((vvx - vx2)*(c2o9 - c1o3*vy2) - (c1o6*vy2 + (vvx - vx2)*(c1o3 - c1o2*vy2))*vz2 + c1o9*(vy2 + vz2)); - //f_N -= c2over27*drho + (drho + one)*(c2o9*(vvy + vy2) + vx2*(c1o6 + c1o2*(vvy + vy2))*vz2 - c1o9*(vx2 + vz2) - c1o3*(vvy + vy2)*(vx2 + vz2)); - //f_S -= c2over27*drho - (drho + one)*((c2o9 - c1o3*vx2)*(vvy - vy2) - (c1o6*vx2 + (c1o3 - c1o2*vx2)*(vvy - vy2))*vz2 + c1o9*(vx2 + vz2)); - //f_T -= c2over27*drho + (drho + one)*(-(c1o9*(vx2 + vy2)) + c2o9*(vvz + vz2) - c1o3*(vx2 + vy2)*(vvz + vz2) + vx2*vy2*(c1o6 + c1o2*(vvz + vz2))); - //f_B -= c2over27*drho - (drho + one)*(c1o9*(vx2 + vy2) + c2o9*(vvz - vz2) - c1o3*(vx2 + vy2)*(vvz - vz2) - vx2*vy2*(c1o6 + c1o2*(-vvz + vz2))); - //f_NE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvy + vy2) + c1o18*(vvx + vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx + vx2)*(vvy + vy2) + c1o12*(vvx + vvy + vx2 + vy2))*vz2); - //f_SW -= c1over54*drho + (drho + one)*(c1o6*(vvx - vx2)*(vvy - vy2) + c1o18*(-vvx - vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx - vx2)*(vvy - vy2) + c1o12*(-vvx - vvy + vx2 + vy2))*vz2); - //f_SE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvy - vy2)) + c1o18*(vvx - vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx + vx2)*(vvy - vy2) + c1o12*(vvx - vvy + vx2 + vy2))*vz2); - //f_NW -= c1over54*drho + (drho + one)*(-(c1o6*(vvx - vx2)*(vvy + vy2)) + c1o18*(-vvx + vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx - vx2)*(vvy + vy2) + c1o12*(-vvx + vvy + vx2 + vy2))*vz2); - //f_TE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvz + vz2) + c1o18*(vvx + vvz + vx2 + vz2) - vy2*(c1o36 + c1o4*(vvx + vx2)*(vvz + vz2) + c1o12*(vvx + vvz + vx2 + vz2))); - //f_BW -= c1over54*drho - (drho + one)*(-(c1o6*(vvx - vx2)*(vvz - vz2)) + c1o18*(vvx + vvz - vx2 - vz2) + vy2*(c1o36 + c1o4*(vvx - vx2)*(vvz - vz2) + c1o12*(-vvx - vvz + vx2 + vz2))); - //f_BE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvz - vz2)) + c1o18*(vvx - vvz + vx2 + vz2) - vy2*(c1o36 - c1o4*(vvx + vx2)*(vvz - vz2) + c1o12*(vvx - vvz + vx2 + vz2))); - //f_TW -= c1over54*drho - (drho + one)*(c1o18*(vvx - vvz - vx2 - vz2) + c1o6*(vvx - vx2)*(vvz + vz2) + vy2*(c1o36 - c1o4*(vvx - vx2)*(vvz + vz2) + c1o12*(-vvx + vvz + vx2 + vz2))); - //f_TN -= c1over54*drho + (drho + one)*(c1o6*(vvy + vy2)*(vvz + vz2) + c1o18*(vvy + vvz + vy2 + vz2) - vx2*(c1o36 + c1o4*(vvy + vy2)*(vvz + vz2) + c1o12*(vvy + vvz + vy2 + vz2))); - //f_BS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2))); - //f_BN -= c1over54*drho + (drho + one)*(-(c1o6*(vvy + vy2)*(vvz - vz2)) + c1o18*(vvy - vvz + vy2 + vz2) - vx2*(c1o36 - c1o4*(vvy + vy2)*(vvz - vz2) + c1o12*(vvy - vvz + vy2 + vz2))); - //f_TS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2))); - //f_ZERO -= c8over27*drho - (drho + one)*(vx2*vy2*vz2 + c4o9*(vx2 + vy2 + vz2) - c2o3*(vx2*vy2 + (vx2 + vy2)*vz2)); - //f_TNE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz + vz2) + c1o72*(vvx + vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) + vvx*(vvy + vvz + vy2 + vz2))); - //f_TSW -= c1over216*drho + (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz + vz2) + c1o72*(-vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + vvx*(vvy - vvz - vy2 - vz2) + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2))); - //f_TSE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz + vz2)) + c1o72*(vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2) + vvx*(-vvy + vvz + vy2 + vz2))); - //f_TNW -= c1over216*drho - (drho + one)*(c1o72*(vvx - vvy - vvz - vx2 - vy2 - vz2) + c1o8*(vvx - vx2)*(vvy + vy2)*(vvz + vz2) - c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) - vvx*(vvy + vvz + vy2 + vz2))); - //f_BNE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx + vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvy*vvz) + vvy*vx2 - vvz*vx2 - vvz*vy2 + vx2*vy2 + (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2))); - //f_BSW -= c1over216*drho - (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx + vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvz*vx2 + vvz*vy2 - vx2*vy2 - (vx2 + vy2)*vz2 + vvy*(-vvz + vx2 + vz2) + vvx*(-vvy - vvz + vy2 + vz2))); - //f_BSE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx - vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvx*vvy) - vvx*vvz + vvy*vvz - (vvy + vvz)*vx2 + (vvx - vvz + vx2)*vy2 + (vvx - vvy + vx2 + vy2)*vz2)); - //f_BNW -= c1over216*drho - (drho + one)*(-(c1o8*(vvx - vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx - vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvy*vvz - vvy*vx2 + vvz*vx2 + vvz*vy2 - vx2*vy2 - (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2))); - - //kxyFromfcNEQ_NET = -three*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (one + drho)); - //kyzFromfcNEQ_NET = -three*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (one + drho)); - //kxzFromfcNEQ_NET = -three*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (one + drho)); - //kxxMyyFromfcNEQ_NET = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (one + drho)); - //kxxMzzFromfcNEQ_NET = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (one + drho)); - //kyyMzzFromfcNEQ_NET = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (one + drho)); - - - - ////////////////////////////////////////////////////////////////////////// - //NEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborCX[k0w]; - ks = k0sw; - ksw = neighborCX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - drho_NEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_NEB = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NEB); - vx2_NEB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NEB); - vx3_NEB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NEB); - - //nicht konditioniert - //kxyFromfcNEQ_NEB = -three*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (one + drho_NEB) - ((vx1_NEB*vx2_NEB))); - //kyzFromfcNEQ_NEB = -three*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (one + drho_NEB) - ((vx2_NEB*vx3_NEB))); - //kxzFromfcNEQ_NEB = -three*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (one + drho_NEB) - ((vx1_NEB*vx3_NEB))); - //kxxMyyFromfcNEQ_NEB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (one + drho_NEB) - ((vx1_NEB*vx1_NEB-vx2_NEB*vx2_NEB))); - //kxxMzzFromfcNEQ_NEB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (one + drho_NEB) - ((vx1_NEB*vx1_NEB-vx3_NEB*vx3_NEB))); - - kxyFromfcNEQ_NEB = -c3o1*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (c1o1 + drho_NEB) - ((vx1_NEB*vx2_NEB))); - kyzFromfcNEQ_NEB = -c3o1*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (c1o1 + drho_NEB) - ((vx2_NEB*vx3_NEB))); - kxzFromfcNEQ_NEB = -c3o1*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (c1o1 + drho_NEB) - ((vx1_NEB*vx3_NEB))); - kxxMyyFromfcNEQ_NEB = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (c1o1 + drho_NEB) - ((vx1_NEB*vx1_NEB - vx2_NEB*vx2_NEB))); - kxxMzzFromfcNEQ_NEB = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (c1o1 + drho_NEB) - ((vx1_NEB*vx1_NEB - vx3_NEB*vx3_NEB))); - kyyMzzFromfcNEQ_NEB = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (c1o1 + drho_NEB) - ((vx2_NEB*vx2_NEB - vx3_NEB*vx3_NEB))); - - ////konditionirt - //vvx = vx1_NEB; - //vvy = vx2_NEB; - //vvz = vx3_NEB; - //drho = drho_NEB; - //vx2 = vvx * vvx; - //vy2 = vvy * vvy; - //vz2 = vvz * vvz; - - - //f_E -= c2over27*drho + (drho + one)*(c2o9*(vvx + vx2) + (c1o6 + c1o2*(vvx + vx2))*vy2*vz2 - c1o9*(vy2 + vz2) - c1o3*(vvx + vx2)*(vy2 + vz2)); - //f_W -= c2over27*drho - (drho + one)*((vvx - vx2)*(c2o9 - c1o3*vy2) - (c1o6*vy2 + (vvx - vx2)*(c1o3 - c1o2*vy2))*vz2 + c1o9*(vy2 + vz2)); - //f_N -= c2over27*drho + (drho + one)*(c2o9*(vvy + vy2) + vx2*(c1o6 + c1o2*(vvy + vy2))*vz2 - c1o9*(vx2 + vz2) - c1o3*(vvy + vy2)*(vx2 + vz2)); - //f_S -= c2over27*drho - (drho + one)*((c2o9 - c1o3*vx2)*(vvy - vy2) - (c1o6*vx2 + (c1o3 - c1o2*vx2)*(vvy - vy2))*vz2 + c1o9*(vx2 + vz2)); - //f_T -= c2over27*drho + (drho + one)*(-(c1o9*(vx2 + vy2)) + c2o9*(vvz + vz2) - c1o3*(vx2 + vy2)*(vvz + vz2) + vx2*vy2*(c1o6 + c1o2*(vvz + vz2))); - //f_B -= c2over27*drho - (drho + one)*(c1o9*(vx2 + vy2) + c2o9*(vvz - vz2) - c1o3*(vx2 + vy2)*(vvz - vz2) - vx2*vy2*(c1o6 + c1o2*(-vvz + vz2))); - //f_NE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvy + vy2) + c1o18*(vvx + vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx + vx2)*(vvy + vy2) + c1o12*(vvx + vvy + vx2 + vy2))*vz2); - //f_SW -= c1over54*drho + (drho + one)*(c1o6*(vvx - vx2)*(vvy - vy2) + c1o18*(-vvx - vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx - vx2)*(vvy - vy2) + c1o12*(-vvx - vvy + vx2 + vy2))*vz2); - //f_SE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvy - vy2)) + c1o18*(vvx - vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx + vx2)*(vvy - vy2) + c1o12*(vvx - vvy + vx2 + vy2))*vz2); - //f_NW -= c1over54*drho + (drho + one)*(-(c1o6*(vvx - vx2)*(vvy + vy2)) + c1o18*(-vvx + vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx - vx2)*(vvy + vy2) + c1o12*(-vvx + vvy + vx2 + vy2))*vz2); - //f_TE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvz + vz2) + c1o18*(vvx + vvz + vx2 + vz2) - vy2*(c1o36 + c1o4*(vvx + vx2)*(vvz + vz2) + c1o12*(vvx + vvz + vx2 + vz2))); - //f_BW -= c1over54*drho - (drho + one)*(-(c1o6*(vvx - vx2)*(vvz - vz2)) + c1o18*(vvx + vvz - vx2 - vz2) + vy2*(c1o36 + c1o4*(vvx - vx2)*(vvz - vz2) + c1o12*(-vvx - vvz + vx2 + vz2))); - //f_BE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvz - vz2)) + c1o18*(vvx - vvz + vx2 + vz2) - vy2*(c1o36 - c1o4*(vvx + vx2)*(vvz - vz2) + c1o12*(vvx - vvz + vx2 + vz2))); - //f_TW -= c1over54*drho - (drho + one)*(c1o18*(vvx - vvz - vx2 - vz2) + c1o6*(vvx - vx2)*(vvz + vz2) + vy2*(c1o36 - c1o4*(vvx - vx2)*(vvz + vz2) + c1o12*(-vvx + vvz + vx2 + vz2))); - //f_TN -= c1over54*drho + (drho + one)*(c1o6*(vvy + vy2)*(vvz + vz2) + c1o18*(vvy + vvz + vy2 + vz2) - vx2*(c1o36 + c1o4*(vvy + vy2)*(vvz + vz2) + c1o12*(vvy + vvz + vy2 + vz2))); - //f_BS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2))); - //f_BN -= c1over54*drho + (drho + one)*(-(c1o6*(vvy + vy2)*(vvz - vz2)) + c1o18*(vvy - vvz + vy2 + vz2) - vx2*(c1o36 - c1o4*(vvy + vy2)*(vvz - vz2) + c1o12*(vvy - vvz + vy2 + vz2))); - //f_TS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2))); - //f_ZERO -= c8over27*drho - (drho + one)*(vx2*vy2*vz2 + c4o9*(vx2 + vy2 + vz2) - c2o3*(vx2*vy2 + (vx2 + vy2)*vz2)); - //f_TNE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz + vz2) + c1o72*(vvx + vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) + vvx*(vvy + vvz + vy2 + vz2))); - //f_TSW -= c1over216*drho + (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz + vz2) + c1o72*(-vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + vvx*(vvy - vvz - vy2 - vz2) + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2))); - //f_TSE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz + vz2)) + c1o72*(vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2) + vvx*(-vvy + vvz + vy2 + vz2))); - //f_TNW -= c1over216*drho - (drho + one)*(c1o72*(vvx - vvy - vvz - vx2 - vy2 - vz2) + c1o8*(vvx - vx2)*(vvy + vy2)*(vvz + vz2) - c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) - vvx*(vvy + vvz + vy2 + vz2))); - //f_BNE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx + vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvy*vvz) + vvy*vx2 - vvz*vx2 - vvz*vy2 + vx2*vy2 + (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2))); - //f_BSW -= c1over216*drho - (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx + vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvz*vx2 + vvz*vy2 - vx2*vy2 - (vx2 + vy2)*vz2 + vvy*(-vvz + vx2 + vz2) + vvx*(-vvy - vvz + vy2 + vz2))); - //f_BSE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx - vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvx*vvy) - vvx*vvz + vvy*vvz - (vvy + vvz)*vx2 + (vvx - vvz + vx2)*vy2 + (vvx - vvy + vx2 + vy2)*vz2)); - //f_BNW -= c1over216*drho - (drho + one)*(-(c1o8*(vvx - vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx - vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvy*vvz - vvy*vx2 + vvz*vx2 + vvz*vy2 - vx2*vy2 - (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2))); - - //kxyFromfcNEQ_NEB = -three*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (one + drho)); - //kyzFromfcNEQ_NEB = -three*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (one + drho)); - //kxzFromfcNEQ_NEB = -three*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (one + drho)); - //kxxMyyFromfcNEQ_NEB = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (one + drho)); - //kxxMzzFromfcNEQ_NEB = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (one + drho)); - //kyyMzzFromfcNEQ_NEB = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (one + drho)); - - - - - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // kxyFromfcNEQ_SWB = zero; - //kyzFromfcNEQ_SWB = zero; - //kxzFromfcNEQ_SWB = zero; - //kxxMyyFromfcNEQ_SWB = zero; - //kxxMzzFromfcNEQ_SWB = zero; - //kxyFromfcNEQ_SWT = zero; - //kyzFromfcNEQ_SWT = zero; - //kxzFromfcNEQ_SWT = zero; - //kxxMyyFromfcNEQ_SWT = zero; - //kxxMzzFromfcNEQ_SWT = zero; - //kxyFromfcNEQ_SET = zero; - //kyzFromfcNEQ_SET = zero; - //kxzFromfcNEQ_SET = zero; - //kxxMyyFromfcNEQ_SET = zero; - //kxxMzzFromfcNEQ_SET = zero; - //kxyFromfcNEQ_SEB = zero; - //kyzFromfcNEQ_SEB = zero; - //kxzFromfcNEQ_SEB = zero; - //kxxMyyFromfcNEQ_SEB = zero; - //kxxMzzFromfcNEQ_SEB = zero; - //kxyFromfcNEQ_NWB = zero; - //kyzFromfcNEQ_NWB = zero; - //kxzFromfcNEQ_NWB = zero; - //kxxMyyFromfcNEQ_NWB = zero; - //kxxMzzFromfcNEQ_NWB = zero; - //kxyFromfcNEQ_NWT = zero; - //kyzFromfcNEQ_NWT = zero; - //kxzFromfcNEQ_NWT = zero; - //kxxMyyFromfcNEQ_NWT = zero; - //kxxMzzFromfcNEQ_NWT = zero; - //kxyFromfcNEQ_NET = zero; - //kyzFromfcNEQ_NET = zero; - //kxzFromfcNEQ_NET = zero; - //kxxMyyFromfcNEQ_NET = zero; - //kxxMzzFromfcNEQ_NET = zero; - //kxyFromfcNEQ_NEB = zero; - //kyzFromfcNEQ_NEB = zero; - //kxzFromfcNEQ_NEB = zero; - //kxxMyyFromfcNEQ_NEB = zero; - //kxxMzzFromfcNEQ_NEB = zero; - ////////////////////////////////////////////////////////////////////////// - //3 - ////////////////////////////////////////////////////////////////////////// - a0 = c1o8*(((vx1_NEB + vx1_NET) + (vx1_NWB + vx1_NWT)) + ((vx1_SEB + vx1_SET) + (vx1_SWB + vx1_SWT))); - ax = c1o4*(((vx1_NEB - vx1_SWT) + (vx1_NET - vx1_SWB)) + ((vx1_SET - vx1_NWB) + (vx1_SEB - vx1_NWT))); - ay = c1o4*(((vx1_NEB - vx1_SWT) + (vx1_NET - vx1_SWB)) + ((vx1_NWB - vx1_SET) + (vx1_NWT - vx1_SEB))); - az = c1o4*(((vx1_SWT - vx1_NEB) + (vx1_NET - vx1_SWB)) + ((vx1_SET - vx1_NWB) + (vx1_NWT - vx1_SEB))); - axy = c1o2*(((vx1_NEB - vx1_SET) + (vx1_SWB - vx1_NWT)) + ((vx1_SWT - vx1_NWB) + (vx1_NET - vx1_SEB))); - axz = c1o2*(((vx1_SET - vx1_NEB) + (vx1_SWB - vx1_NWT)) + ((vx1_NWB - vx1_SWT) + (vx1_NET - vx1_SEB))); - ayz = c1o2*(((vx1_NET - vx1_NWB) + (vx1_SEB - vx1_SWT)) + ((vx1_NWT - vx1_NEB) + (vx1_SWB - vx1_SET))); - axyz= ((vx1_SWT - vx1_NEB) + (vx1_NET - vx1_SWB)) + ((vx1_NWB - vx1_SET) + (vx1_SEB - vx1_NWT)) ; - b0 = c1o8*(((vx2_NEB + vx2_NET) + (vx2_NWB + vx2_NWT)) + ((vx2_SEB + vx2_SET) + (vx2_SWB + vx2_SWT))); - bx = c1o4*(((vx2_NEB - vx2_SWT) + (vx2_NET - vx2_SWB)) + ((vx2_SET - vx2_NWB) + (vx2_SEB - vx2_NWT))); - by = c1o4*(((vx2_NEB - vx2_SWT) + (vx2_NET - vx2_SWB)) + ((vx2_NWB - vx2_SET) + (vx2_NWT - vx2_SEB))); - bz = c1o4*(((vx2_SWT - vx2_NEB) + (vx2_NET - vx2_SWB)) + ((vx2_SET - vx2_NWB) + (vx2_NWT - vx2_SEB))); - bxy = c1o2*(((vx2_NEB - vx2_NWT) + (vx2_SWB - vx2_SET)) + ((vx2_SWT - vx2_SEB) + (vx2_NET - vx2_NWB))); - bxz = c1o2*(((vx2_SWB - vx2_NEB) + (vx2_SET - vx2_NWT)) + ((vx2_NWB - vx2_SEB) + (vx2_NET - vx2_SWT))); - byz = c1o2*(((vx2_NWT - vx2_NEB) + (vx2_SWB - vx2_SET)) + ((vx2_SEB - vx2_SWT) + (vx2_NET - vx2_NWB))); - bxyz= ((vx2_SWT - vx2_NEB) + (vx2_NET - vx2_SWB)) + ((vx2_NWB - vx2_SET) + (vx2_SEB - vx2_NWT)) ; - c0 = c1o8*(((vx3_NEB + vx3_NET) + (vx3_NWB + vx3_NWT)) + ((vx3_SEB + vx3_SET) + (vx3_SWB + vx3_SWT))); - cx = c1o4*(((vx3_NEB - vx3_SWT) + (vx3_NET - vx3_SWB)) + ((vx3_SET - vx3_NWB) + (vx3_SEB - vx3_NWT))); - cy = c1o4*(((vx3_NEB - vx3_SWT) + (vx3_NET - vx3_SWB)) + ((vx3_NWB - vx3_SET) + (vx3_NWT - vx3_SEB))); - cz = c1o4*(((vx3_SWT - vx3_NEB) + (vx3_NET - vx3_SWB)) + ((vx3_SET - vx3_NWB) + (vx3_NWT - vx3_SEB))); - cxy = c1o2*(((vx3_NEB - vx3_SET) + (vx3_SWB - vx3_NWT)) + ((vx3_SWT - vx3_NWB) + (vx3_NET - vx3_SEB))); - cxz = c1o2*(((vx3_SWB - vx3_NEB) + (vx3_SET - vx3_NWT)) + ((vx3_NWB - vx3_SEB) + (vx3_NET - vx3_SWT))); - cyz = c1o2*(((vx3_SWB - vx3_NEB) + (vx3_NWT - vx3_SET)) + ((vx3_SEB - vx3_NWB) + (vx3_NET - vx3_SWT))); - cxyz= ((vx3_SWT - vx3_NEB) + (vx3_NET - vx3_SWB)) + ((vx3_NWB - vx3_SET) + (vx3_SEB - vx3_NWT)) ; - - //bxx = zero; - //cxx = zero; - //ayy = zero; - //cyy = zero; - //azz = zero; - //bzz = zero; - //axx = zero; - //byy = zero; - //czz = zero; - - bxx = c1o8*(((kxyFromfcNEQ_NET - kxyFromfcNEQ_SWB) + (kxyFromfcNEQ_SEB - kxyFromfcNEQ_NWT)) + ((kxyFromfcNEQ_SET - kxyFromfcNEQ_NWB) + (kxyFromfcNEQ_NEB - kxyFromfcNEQ_SWT))) - c1o2*axy; - cxx = c1o8*(((kxzFromfcNEQ_NET - kxzFromfcNEQ_SWB) + (kxzFromfcNEQ_SEB - kxzFromfcNEQ_NWT)) + ((kxzFromfcNEQ_SET - kxzFromfcNEQ_NWB) + (kxzFromfcNEQ_NEB - kxzFromfcNEQ_SWT))) - c1o2*axz; - - ayy = c1o8*(((kxyFromfcNEQ_NET - kxyFromfcNEQ_SWB) + (kxyFromfcNEQ_NEB - kxyFromfcNEQ_SWT)) - ((kxyFromfcNEQ_SEB - kxyFromfcNEQ_NWT) + (kxyFromfcNEQ_SET - kxyFromfcNEQ_NWB))) - c1o2*bxy; - cyy = c1o8*(((kyzFromfcNEQ_NET - kyzFromfcNEQ_SWB) + (kyzFromfcNEQ_NEB - kyzFromfcNEQ_SWT)) - ((kyzFromfcNEQ_SEB - kyzFromfcNEQ_NWT) + (kyzFromfcNEQ_SET - kyzFromfcNEQ_NWB))) - c1o2*byz; - - azz = c1o8*(((kxzFromfcNEQ_NET - kxzFromfcNEQ_SWB) - (kxzFromfcNEQ_SEB - kxzFromfcNEQ_NWT)) + ((kxzFromfcNEQ_SET - kxzFromfcNEQ_NWB) - (kxzFromfcNEQ_NEB - kxzFromfcNEQ_SWT))) - c1o2*cxz; - bzz = c1o8*(((kyzFromfcNEQ_NET - kyzFromfcNEQ_SWB) - (kyzFromfcNEQ_SEB - kyzFromfcNEQ_NWT)) + ((kyzFromfcNEQ_SET - kyzFromfcNEQ_NWB) - (kyzFromfcNEQ_NEB - kyzFromfcNEQ_SWT))) - c1o2*cyz; - - axx = (c1o16*(((kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_SWB) + (kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NWT)) + ((kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NWB) + (kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_SWT))) - c1o4*bxy) - + (c1o16*(((kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_SWB) + (kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NWT)) + ((kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NWB) + (kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_SWT))) - c1o4*cxz); - - byy = (-c1o16*(((kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_SWB) - (kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NWT)) + ((kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_SWT) - (kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NWB))) - c1o4*axy) - + (c1o16*(((kyyMzzFromfcNEQ_NET - kyyMzzFromfcNEQ_SWB) - (kyyMzzFromfcNEQ_SEB - kyyMzzFromfcNEQ_NWT)) + ((kyyMzzFromfcNEQ_NEB - kyyMzzFromfcNEQ_SWT) - (kyyMzzFromfcNEQ_SET - kyyMzzFromfcNEQ_NWB))) - c1o4*cyz); - - czz = (-c1o16*(((kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_SWB) - (kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NWT)) - ((kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_SWT) - (kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NWB))) - c1o4*axz) - + (c1o16*(((kyyMzzFromfcNEQ_NET - kyyMzzFromfcNEQ_SWB) - (kyyMzzFromfcNEQ_SEB - kyyMzzFromfcNEQ_NWT)) - ((kyyMzzFromfcNEQ_NEB - kyyMzzFromfcNEQ_SWT) - (kyyMzzFromfcNEQ_SET - kyyMzzFromfcNEQ_NWB))) - c1o4*byz); - - a0 -= c1o4*(axx + ayy + azz); - b0 -= c1o4*(bxx + byy + bzz); - c0 -= c1o4*(cxx + cyy + czz); - - - - - //////////// - //a0 = (-kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - - // kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT - - // kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - - // kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - - // two*kxyFromfcNEQ_NEB - two*kxyFromfcNEQ_NET - two*kxyFromfcNEQ_NWB - two*kxyFromfcNEQ_NWT + - // two*kxyFromfcNEQ_SEB + two*kxyFromfcNEQ_SET + two*kxyFromfcNEQ_SWB + two*kxyFromfcNEQ_SWT + - // two*kxzFromfcNEQ_NEB - two*kxzFromfcNEQ_NET + two*kxzFromfcNEQ_NWB - two*kxzFromfcNEQ_NWT + - // two*kxzFromfcNEQ_SEB - two*kxzFromfcNEQ_SET + two*kxzFromfcNEQ_SWB - two*kxzFromfcNEQ_SWT + - // eight*vx1_NEB + eight*vx1_NET + eight*vx1_NWB + eight*vx1_NWT + eight*vx1_SEB + - // eight*vx1_SET + eight*vx1_SWB + eight*vx1_SWT + two*vx2_NEB + two*vx2_NET - - // two*vx2_NWB - two*vx2_NWT - two*vx2_SEB - two*vx2_SET + two*vx2_SWB + - // two*vx2_SWT - two*vx3_NEB + two*vx3_NET + two*vx3_NWB - two*vx3_NWT - - // two*vx3_SEB + two*vx3_SET + two*vx3_SWB - two*vx3_SWT)/sixtyfour; - // b0 = (two*kxxMyyFromfcNEQ_NEB + two*kxxMyyFromfcNEQ_NET + two*kxxMyyFromfcNEQ_NWB + two*kxxMyyFromfcNEQ_NWT - - // two*kxxMyyFromfcNEQ_SEB - two*kxxMyyFromfcNEQ_SET - two*kxxMyyFromfcNEQ_SWB - two*kxxMyyFromfcNEQ_SWT - - // kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + - // kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - - // two*kxyFromfcNEQ_NEB - two*kxyFromfcNEQ_NET + two*kxyFromfcNEQ_NWB + two*kxyFromfcNEQ_NWT - - // two*kxyFromfcNEQ_SEB - two*kxyFromfcNEQ_SET + two*kxyFromfcNEQ_SWB + two*kxyFromfcNEQ_SWT + - // two*kyzFromfcNEQ_NEB - two*kyzFromfcNEQ_NET + two*kyzFromfcNEQ_NWB - two*kyzFromfcNEQ_NWT + - // two*kyzFromfcNEQ_SEB - two*kyzFromfcNEQ_SET + two*kyzFromfcNEQ_SWB - two*kyzFromfcNEQ_SWT + - // two*vx1_NEB + two*vx1_NET - two*vx1_NWB - two*vx1_NWT - - // two*vx1_SEB - two*vx1_SET + two*vx1_SWB + two*vx1_SWT + - // eight*vx2_NEB + eight*vx2_NET + eight*vx2_NWB + eight*vx2_NWT + - // eight*vx2_SEB + eight*vx2_SET + eight*vx2_SWB + eight*vx2_SWT - - // two*vx3_NEB + two*vx3_NET - two*vx3_NWB + two*vx3_NWT + - // two*vx3_SEB - two*vx3_SET + two*vx3_SWB - two*vx3_SWT)/sixtyfour; - - // //b0 = ((eight*vx2_NEB + eight*vx2_SWT) + (eight*vx2_NET + eight*vx2_SWB) + (eight*vx2_NWB + eight*vx2_SET) + (eight*vx2_NWT + eight*vx2_SEB))/sixtyfour; - - // c0 = (kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + - // kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT - - // two*kxxMzzFromfcNEQ_NEB + two*kxxMzzFromfcNEQ_NET - two*kxxMzzFromfcNEQ_NWB + two*kxxMzzFromfcNEQ_NWT - - // two*kxxMzzFromfcNEQ_SEB + two*kxxMzzFromfcNEQ_SET - two*kxxMzzFromfcNEQ_SWB + two*kxxMzzFromfcNEQ_SWT - - // two*kxzFromfcNEQ_NEB - two*kxzFromfcNEQ_NET + two*kxzFromfcNEQ_NWB + two*kxzFromfcNEQ_NWT - - // two*kxzFromfcNEQ_SEB - two*kxzFromfcNEQ_SET + two*kxzFromfcNEQ_SWB + two*kxzFromfcNEQ_SWT - - // two*kyzFromfcNEQ_NEB - two*kyzFromfcNEQ_NET - two*kyzFromfcNEQ_NWB - two*kyzFromfcNEQ_NWT + - // two*kyzFromfcNEQ_SEB + two*kyzFromfcNEQ_SET + two*kyzFromfcNEQ_SWB + two*kyzFromfcNEQ_SWT - - // two*vx1_NEB + two*vx1_NET + two*vx1_NWB - two*vx1_NWT - - // two*vx1_SEB + two*vx1_SET + two*vx1_SWB - two*vx1_SWT - - // two*vx2_NEB + two*vx2_NET - two*vx2_NWB + two*vx2_NWT + - // two*vx2_SEB - two*vx2_SET + two*vx2_SWB - two*vx2_SWT + - // eight*vx3_NEB + eight*vx3_NET + eight*vx3_NWB + eight*vx3_NWT + - // eight*vx3_SEB + eight*vx3_SET + eight*vx3_SWB + eight*vx3_SWT)/sixtyfour; - // ax = (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT + vx1_SEB + vx1_SET - vx1_SWB - vx1_SWT)/four; - // bx = (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT + vx2_SEB + vx2_SET - vx2_SWB - vx2_SWT)/four; - // //bx = ((vx2_NEB - vx2_SWT) + (vx2_NET - vx2_SWB) + (vx2_SET - vx2_NWB) + (vx2_SEB - vx2_NWT))/four; - // cx = (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT + vx3_SEB + vx3_SET - vx3_SWB - vx3_SWT)/four; - // axx= (kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + - // kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT + - // kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + - // kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + - // two*vx2_NEB + two*vx2_NET - two*vx2_NWB - two*vx2_NWT - - // two*vx2_SEB - two*vx2_SET + two*vx2_SWB + two*vx2_SWT - - // two*vx3_NEB + two*vx3_NET + two*vx3_NWB - two*vx3_NWT - - // two*vx3_SEB + two*vx3_SET + two*vx3_SWB - two*vx3_SWT)/sixteen; - // bxx= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET - kxyFromfcNEQ_NWB - kxyFromfcNEQ_NWT + - // kxyFromfcNEQ_SEB + kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - - // two*vx1_NEB - two*vx1_NET + two*vx1_NWB + two*vx1_NWT + - // two*vx1_SEB + two*vx1_SET - two*vx1_SWB - two*vx1_SWT)/eight; - // cxx= (kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB - kxzFromfcNEQ_NWT + - // kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB - kxzFromfcNEQ_SWT + - // two*vx1_NEB - two*vx1_NET - two*vx1_NWB + two*vx1_NWT + - // two*vx1_SEB - two*vx1_SET - two*vx1_SWB + two*vx1_SWT)/eight; - // ay = (vx1_NEB + vx1_NET + vx1_NWB + vx1_NWT - vx1_SEB - vx1_SET - vx1_SWB - vx1_SWT)/four; - // by = (vx2_NEB + vx2_NET + vx2_NWB + vx2_NWT - vx2_SEB - vx2_SET - vx2_SWB - vx2_SWT)/four; - // cy = (vx3_NEB + vx3_NET + vx3_NWB + vx3_NWT - vx3_SEB - vx3_SET - vx3_SWB - vx3_SWT)/four; - // ayy= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET + kxyFromfcNEQ_NWB + kxyFromfcNEQ_NWT - - // kxyFromfcNEQ_SEB - kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - - // two*vx2_NEB - two*vx2_NET + two*vx2_NWB + two*vx2_NWT + - // two*vx2_SEB + two*vx2_SET - two*vx2_SWB - two*vx2_SWT)/eight; - // byy= (-two*kxxMyyFromfcNEQ_NEB - two*kxxMyyFromfcNEQ_NET - two*kxxMyyFromfcNEQ_NWB - two*kxxMyyFromfcNEQ_NWT + - // two*kxxMyyFromfcNEQ_SEB + two*kxxMyyFromfcNEQ_SET + two*kxxMyyFromfcNEQ_SWB + two*kxxMyyFromfcNEQ_SWT + - // kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - - // kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + - // two*vx1_NEB + two*vx1_NET - two*vx1_NWB - two*vx1_NWT - - // two*vx1_SEB - two*vx1_SET + two*vx1_SWB + two*vx1_SWT - - // two*vx3_NEB + two*vx3_NET - two*vx3_NWB + two*vx3_NWT + - // two*vx3_SEB - two*vx3_SET + two*vx3_SWB - two*vx3_SWT)/sixteen; - // cyy= (kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET + kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - - // kyzFromfcNEQ_SEB - kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB - kyzFromfcNEQ_SWT + - // two*vx2_NEB - two*vx2_NET + two*vx2_NWB - two*vx2_NWT - - // two*vx2_SEB + two*vx2_SET - two*vx2_SWB + two*vx2_SWT)/eight; - // az = (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT - vx1_SEB + vx1_SET - vx1_SWB + vx1_SWT)/four; - // //bz = (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT - vx2_SEB + vx2_SET - vx2_SWB + vx2_SWT)/four; - // bz = ((vx2_SWT - vx2_NEB) + (vx2_NET - vx2_SWB) + (vx2_SET - vx2_NWB) + (vx2_NWT - vx2_SEB))/four; - // cz = (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT - vx3_SEB + vx3_SET - vx3_SWB + vx3_SWT)/four; - // azz= (-kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB + kxzFromfcNEQ_NWT - - // kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB + kxzFromfcNEQ_SWT + - // two*vx3_NEB - two*vx3_NET - two*vx3_NWB + two*vx3_NWT + - // two*vx3_SEB - two*vx3_SET - two*vx3_SWB + two*vx3_SWT)/eight; - // bzz= (-kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET - kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - - // kyzFromfcNEQ_SEB + kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB + kyzFromfcNEQ_SWT + - // two*vx3_NEB - two*vx3_NET + two*vx3_NWB - two*vx3_NWT - - // two*vx3_SEB + two*vx3_SET - two*vx3_SWB + two*vx3_SWT)/eight; - // czz= (-kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - - // kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT + - // two*kxxMzzFromfcNEQ_NEB - two*kxxMzzFromfcNEQ_NET + two*kxxMzzFromfcNEQ_NWB - two*kxxMzzFromfcNEQ_NWT + - // two*kxxMzzFromfcNEQ_SEB - two*kxxMzzFromfcNEQ_SET + two*kxxMzzFromfcNEQ_SWB - two*kxxMzzFromfcNEQ_SWT - - // two*vx1_NEB + two*vx1_NET + two*vx1_NWB - two*vx1_NWT - - // two*vx1_SEB + two*vx1_SET + two*vx1_SWB - two*vx1_SWT - - // two*vx2_NEB + two*vx2_NET - two*vx2_NWB + two*vx2_NWT + - // two*vx2_SEB - two*vx2_SET + two*vx2_SWB - two*vx2_SWT)/sixteen; - // axy= (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT - vx1_SEB - vx1_SET + vx1_SWB + vx1_SWT)/two; - // bxy= (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT - vx2_SEB - vx2_SET + vx2_SWB + vx2_SWT)/two; - // cxy= (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT - vx3_SEB - vx3_SET + vx3_SWB + vx3_SWT)/two; - // axz= (-vx1_NEB + vx1_NET + vx1_NWB - vx1_NWT - vx1_SEB + vx1_SET + vx1_SWB - vx1_SWT)/two; - // bxz= (-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT - vx2_SEB + vx2_SET + vx2_SWB - vx2_SWT)/two; - // cxz= (-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT - vx3_SEB + vx3_SET + vx3_SWB - vx3_SWT)/two; - // ayz= (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT + vx1_SEB - vx1_SET + vx1_SWB - vx1_SWT)/two; - // byz= (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT + vx2_SEB - vx2_SET + vx2_SWB - vx2_SWT)/two; - // cyz= (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT + vx3_SEB - vx3_SET + vx3_SWB - vx3_SWT)/two; - // axyz=-vx1_NEB + vx1_NET + vx1_NWB - vx1_NWT + vx1_SEB - vx1_SET - vx1_SWB + vx1_SWT; - // bxyz=-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT + vx2_SEB - vx2_SET - vx2_SWB + vx2_SWT; - // cxyz=-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT + vx3_SEB - vx3_SET - vx3_SWB + vx3_SWT; - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real kxyAverage = c0o1; - real kyzAverage = c0o1; - real kxzAverage = c0o1; - real kxxMyyAverage = c0o1; - real kxxMzzAverage = c0o1; - - //real kxyAverage =(kxyFromfcNEQ_SWB+ - // kxyFromfcNEQ_SWT+ - // kxyFromfcNEQ_SET+ - // kxyFromfcNEQ_SEB+ - // kxyFromfcNEQ_NWB+ - // kxyFromfcNEQ_NWT+ - // kxyFromfcNEQ_NET+ - // kxyFromfcNEQ_NEB)*c1o8-(ay+bx); - //real kyzAverage =(kyzFromfcNEQ_SWB+ - // kyzFromfcNEQ_SWT+ - // kyzFromfcNEQ_SET+ - // kyzFromfcNEQ_SEB+ - // kyzFromfcNEQ_NWB+ - // kyzFromfcNEQ_NWT+ - // kyzFromfcNEQ_NET+ - // kyzFromfcNEQ_NEB)*c1o8-(bz+cy); - //real kxzAverage =(kxzFromfcNEQ_SWB+ - // kxzFromfcNEQ_SWT+ - // kxzFromfcNEQ_SET+ - // kxzFromfcNEQ_SEB+ - // kxzFromfcNEQ_NWB+ - // kxzFromfcNEQ_NWT+ - // kxzFromfcNEQ_NET+ - // kxzFromfcNEQ_NEB)*c1o8-(az+cx); - //real kxxMyyAverage =(kxxMyyFromfcNEQ_SWB+ - // kxxMyyFromfcNEQ_SWT+ - // kxxMyyFromfcNEQ_SET+ - // kxxMyyFromfcNEQ_SEB+ - // kxxMyyFromfcNEQ_NWB+ - // kxxMyyFromfcNEQ_NWT+ - // kxxMyyFromfcNEQ_NET+ - // kxxMyyFromfcNEQ_NEB)*c1o8-(ax-by); - //real kxxMzzAverage =(kxxMzzFromfcNEQ_SWB+ - // kxxMzzFromfcNEQ_SWT+ - // kxxMzzFromfcNEQ_SET+ - // kxxMzzFromfcNEQ_SEB+ - // kxxMzzFromfcNEQ_NWB+ - // kxxMzzFromfcNEQ_NWT+ - // kxxMzzFromfcNEQ_NET+ - // kxxMzzFromfcNEQ_NEB)*c1o8-(ax-cz); - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //Press - //d0 = ( press_NEB + press_NET + press_NWB + press_NWT + press_SEB + press_SET + press_SWB + press_SWT) * c1o8; - //dx = ( press_NEB + press_NET - press_NWB - press_NWT + press_SEB + press_SET - press_SWB - press_SWT) * c1o4; - //dy = ( press_NEB + press_NET + press_NWB + press_NWT - press_SEB - press_SET - press_SWB - press_SWT) * c1o4; - //dz = (-press_NEB + press_NET - press_NWB + press_NWT - press_SEB + press_SET - press_SWB + press_SWT) * c1o4; - //dxy = ( press_NEB + press_NET - press_NWB - press_NWT - press_SEB - press_SET + press_SWB + press_SWT) * c1o2; - //dxz = (-press_NEB + press_NET + press_NWB - press_NWT - press_SEB + press_SET + press_SWB - press_SWT) * c1o2; - //dyz = (-press_NEB + press_NET - press_NWB + press_NWT + press_SEB - press_SET + press_SWB - press_SWT) * c1o2; - //dxyz = -press_NEB + press_NET + press_NWB - press_NWT + press_SEB - press_SET - press_SWB + press_SWT; - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho - d0 = ( ((drho_NEB + drho_SWT) + (drho_NWB + drho_SET)) + ((drho_SEB + drho_NWT) + (drho_SWB + drho_NET))) * c1o8; - dx = ( ((drho_NEB - drho_SWT) + (drho_SEB - drho_NWT)) + ((drho_SET - drho_NWB) + (drho_NET - drho_SWB))) * c1o4; - dy = ( ((drho_NEB - drho_SWT) + (drho_NWT - drho_SEB)) + ((drho_NWB - drho_SET) + (drho_NET - drho_SWB))) * c1o4; - dz = ( ((drho_SWT - drho_NEB) + (drho_NET - drho_SWB)) + ((drho_SET - drho_NWB) + (drho_NWT - drho_SEB))) * c1o4; - dxy = ( ((drho_NEB - drho_SET) + (drho_NET - drho_SEB)) + ((drho_SWT - drho_NWB) + (drho_SWB - drho_NWT))) * c1o2; - dxz = ( ((drho_SWB - drho_NEB) + (drho_NET - drho_SWT)) + ((drho_NWB - drho_SEB) + (drho_SET - drho_NWT))) * c1o2; - dyz = ( ((drho_NWT - drho_NEB) + (drho_NET - drho_NWB)) + ((drho_SEB - drho_SWT) + (drho_SWB - drho_SET))) * c1o2; - //d0 = ( drho_NEB + drho_NET + drho_NWB + drho_NWT + drho_SEB + drho_SET + drho_SWB + drho_SWT) * c1o8; - //dx = ( drho_NEB + drho_NET - drho_NWB - drho_NWT + drho_SEB + drho_SET - drho_SWB - drho_SWT) * c1o4; - //dy = ( drho_NEB + drho_NET + drho_NWB + drho_NWT - drho_SEB - drho_SET - drho_SWB - drho_SWT) * c1o4; - //dz = (-drho_NEB + drho_NET - drho_NWB + drho_NWT - drho_SEB + drho_SET - drho_SWB + drho_SWT) * c1o4; - //dxy = ( drho_NEB + drho_NET - drho_NWB - drho_NWT - drho_SEB - drho_SET + drho_SWB + drho_SWT) * c1o2; - //dxz = (-drho_NEB + drho_NET + drho_NWB - drho_NWT - drho_SEB + drho_SET + drho_SWB - drho_SWT) * c1o2; - //dyz = (-drho_NEB + drho_NET - drho_NWB + drho_NWT + drho_SEB - drho_SET + drho_SWB - drho_SWT) * c1o2; - dxyz = -drho_NEB + drho_NET + drho_NWB - drho_NWT + drho_SEB - drho_SET - drho_SWB + drho_SWT; - // d0 = zero; - //dx = zero; - //dy = zero; - //dz = zero; - //dxy = zero; - //dxz = zero; - //dyz = zero; - //dxyz = zero; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - // Bernd das Brot - // - // X------X - // | | x---x - // | ---+-+-> | ----> off-vector - // | | x---x - // X------X - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - a0 = a0 + xoff * ax + yoff * ay + zoff * az + xoff_sq * axx + yoff_sq * ayy + zoff_sq * azz + xoff*yoff*axy + xoff*zoff*axz + yoff*zoff*ayz; - ax = ax + c2o1 * xoff * axx + yoff * axy + zoff * axz; - ay = ay + c2o1 * yoff * ayy + xoff * axy + zoff * ayz; - az = az + c2o1 * zoff * azz + xoff * axz + yoff * ayz; - b0 = b0 + xoff * bx + yoff * by + zoff * bz + xoff_sq * bxx + yoff_sq * byy + zoff_sq * bzz + xoff*yoff*bxy + xoff*zoff*bxz + yoff*zoff*byz; - bx = bx + c2o1 * xoff * bxx + yoff * bxy + zoff * bxz; - by = by + c2o1 * yoff * byy + xoff * bxy + zoff * byz; - bz = bz + c2o1 * zoff * bzz + xoff * bxz + yoff * byz; - c0 = c0 + xoff * cx + yoff * cy + zoff * cz + xoff_sq * cxx + yoff_sq * cyy + zoff_sq * czz + xoff*yoff*cxy + xoff*zoff*cxz + yoff*zoff*cyz; - cx = cx + c2o1 * xoff * cxx + yoff * cxy + zoff * cxz; - cy = cy + c2o1 * yoff * cyy + xoff * cxy + zoff * cyz; - cz = cz + c2o1 * zoff * czz + xoff * cxz + yoff * cyz; - d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz; - dx = dx + yoff * dxy + zoff * dxz; - dy = dy + xoff * dxy + zoff * dyz; - dz = dz + xoff * dxz + yoff * dyz; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // FIX /////////////////////////////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //AAAAAAAAAAAAHHHHHHHHHHHH!!!!! Mieser Test!!! - //b0= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz= c0= cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero; - //a0=zero; - //ax=zero; - //ay=zero; - //az=zero; - //axx=zero; - //ayy=zero; - //azz=zero; - //axy=zero; - //axz=zero; - //ayz=zero; - //b0=zero; - //bx=zero; - //by=zero; - //bz=zero; - //bxx=zero; - //byy=zero; - //bzz=zero; - //bxy=zero; - //bxz=zero; - //byz=zero; - //c0=zero; - //cx=zero; - //cy=zero; - //cz=zero; - //cxx=zero; - //cyy=zero; - //czz=zero; - //cxy=zero; - //cxz=zero; - //cyz=zero; - //axyz=zero; - //bxyz=zero; - //cxyz=zero; - //ax= ay= az= axx= ayy= azz= axy= axz= ayz= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz= cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero; - //a0=zero; - //b0=zero; - //c0=c1o100; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = c0o1; - real mfabb = c0o1; - real mfbcb = c0o1; - real mfbab = c0o1; - real mfbbc = c0o1; - real mfbba = c0o1; - real mfccb = c0o1; - real mfaab = c0o1; - real mfcab = c0o1; - real mfacb = c0o1; - real mfcbc = c0o1; - real mfaba = c0o1; - real mfcba = c0o1; - real mfabc = c0o1; - real mfbcc = c0o1; - real mfbaa = c0o1; - real mfbca = c0o1; - real mfbac = c0o1; - real mfbbb = c0o1; - real mfccc = c0o1; - real mfaac = c0o1; - real mfcac = c0o1; - real mfacc = c0o1; - real mfcca = c0o1; - real mfaaa = c0o1; - real mfcaa = c0o1; - real mfaca = c0o1; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real m0, m1, m2, oMdrho; - real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz; - //real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein - //real O3 = two - o; - //real residu, residutmp; - //residutmp = zero;// /*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new; - real NeqOn = c1o1;//zero;//one; //.... one = on ..... zero = off - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position SWB -0.25f, -0.25f, -0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = -c1o4; - y = -c1o4; - z = -c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //real mxoff = -xoff; - //real myoff = -yoff; - //real mzoff = -zoff; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c3o64*drho_NEB+c1o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c27o64*drho_SWB+c9o64*drho_SWT; - //press = press_SWT * (c9o64 + c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + - // press_NWT * (c3o64 + c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + - // press_SET * (c3o64 - c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + - // press_NET * (c1o64 - c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + - // press_NEB * (c3o64 - c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + - // press_NWB * (c9o64 + c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c9o64 - c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c27o64 + c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff); - //drho = drho_SWT * (c9o64 + c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + - // drho_NWT * (c3o64 + c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - // drho_SET * (c3o64 - c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + - // drho_NET * (c1o64 - c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + - // drho_NEB * (c3o64 - c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + - // drho_NWB * (c9o64 + c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c9o64 - c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c27o64 + c9o16 * xoff + c9o16 * yoff + c9o16 * zoff); - - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z )*eps_new / oP* (c1o1 + press); - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0o1; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0o1; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0o1; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0o1; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0o1; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0o1; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0o1; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= posFSWB[k]; - k0w = neighborFX[k0zero]; - k0s = neighborFY[k0zero]; - k0b = neighborFZ[k0zero]; - k0sw = neighborFY[k0w]; - k0bw = neighborFZ[k0w]; - k0bs = neighborFZ[k0s]; - k0bsw = neighborFZ[k0sw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position SWT -0.25f, -0.25f, 0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = -c1o4; - y = -c1o4; - z = c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c1o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c27o64*drho_SWT; - //press = press_SWT * (c27o64 + c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + - // press_NWT * (c9o64 + c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + - // press_SET * (c9o64 - c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + - // press_NET * (c3o64 - c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + - // press_NEB * (c1o64 - c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + - // press_NWB * (c3o64 + c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c3o64 - c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c9o64 + c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff); - //drho = drho_SWT * (c27o64 + c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + - // drho_NWT * (c9o64 + c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + - // drho_SET * (c9o64 - c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - // drho_NET * (c3o64 - c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + - // drho_NEB * (c1o64 - c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + - // drho_NWB * (c3o64 + c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c3o64 - c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c9o64 + c3o16 * xoff + c3o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press); - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0o1; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0o1; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0o1; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0o1; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0o1; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0o1; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0o1; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position SET 0.25f, -0.25f, 0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = c1o4; - y = -c1o4; - z = c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho =c3o64*drho_NEB+c9o64*drho_NET+c1o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c27o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT; - //press = press_SET * (c27o64 - c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + - // press_NET * (c9o64 - c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c9o64 + c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + - // press_NWT * (c3o64 + c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + - // press_NWB * (c1o64 + c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + - // press_NEB * (c3o64 - c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c3o64 + c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c9o64 - c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff); - //drho = drho_SET * (c27o64 - c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + - // drho_NET * (c9o64 - c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c9o64 + c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - // drho_NWT * (c3o64 + c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + - // drho_NWB * (c1o64 + c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + - // drho_NEB * (c3o64 - c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c3o64 + c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c9o64 - c3o16 * xoff + c3o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press); - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0o1; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0o1; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0o1; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0o1; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0o1; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0o1; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0o1; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position SEB 0.25f, -0.25f, -0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = c1o4; - y = -c1o4; - z = -c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho =c9o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c1o64*drho_NWT+c27o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT; - //press = press_SET * (c9o64 - c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + - // press_NET * (c3o64 - c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c3o64 + c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + - // press_NWT * (c1o64 + c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + - // press_NWB * (c3o64 + c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + - // press_NEB * (c9o64 - c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c9o64 + c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c27o64 - c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff); - //drho = drho_SET * (c9o64 - c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + - // drho_NET * (c3o64 - c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c3o64 + c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + - // drho_NWT * (c1o64 + c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + - // drho_NWB * (c3o64 + c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + - // drho_NEB * (c9o64 - c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c9o64 + c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c27o64 - c9o16 * xoff + c9o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press); - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0o1; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0o1; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0o1; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0o1; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0o1; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0o1; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0o1; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position NWB -0.25f, 0.25f, -0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = -c1o4; - y = c1o4; - z = -c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c9o64*drho_NEB+c3o64*drho_NET+c27o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c1o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT; - //press = press_NWT * (c9o64 + c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + - // press_NET * (c3o64 - c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c3o64 + c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + - // press_SET * (c1o64 - c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + - // press_SEB * (c3o64 - c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + - // press_NEB * (c9o64 - c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c9o64 + c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + - // press_NWB * (c27o64 + c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff); - //drho = drho_NWT * (c9o64 + c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + - // drho_NET * (c3o64 - c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c3o64 + c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - // drho_SET * (c1o64 - c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + - // drho_SEB * (c3o64 - c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + - // drho_NEB * (c9o64 - c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c9o64 + c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + - // drho_NWB * (c27o64 + c9o16 * xoff - c9o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press); - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0o1; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0o1; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0o1; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0o1; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0o1; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0o1; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0o1; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= k0s; - k0w = k0sw; - k0s = neighborFY[k0s]; - k0b = k0bs; - k0sw = neighborFY[k0sw]; - k0bw = k0bsw; - k0bs = neighborFY[k0bs]; - k0bsw = neighborFY[k0bsw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position NWT -0.25f, 0.25f, 0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = -c1o4; - y = c1o4; - z = c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c3o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c27o64*drho_NWT+c1o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT; - //press = press_NWT * (c27o64 + c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + - // press_NET * (c9o64 - c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c9o64 + c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + - // press_SET * (c3o64 - c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + - // press_SEB * (c1o64 - c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + - // press_NEB * (c3o64 - c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c3o64 + c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + - // press_NWB * (c9o64 + c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff); - //drho = drho_NWT * (c27o64 + c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + - // drho_NET * (c9o64 - c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c9o64 + c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + - // drho_SET * (c3o64 - c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + - // drho_SEB * (c1o64 - c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + - // drho_NEB * (c3o64 - c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c3o64 + c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - // drho_NWB * (c9o64 + c3o16 * xoff - c3o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press); - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0o1; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0o1; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0o1; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0o1; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0o1; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0o1; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0o1; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position NET 0.25f, 0.25f, 0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = c1o4; - y = c1o4; - z = c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c9o64*drho_NEB+c27o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c1o64*drho_SWB+c3o64*drho_SWT; - //press = press_NET * (c27o64 - c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + - // press_NWT * (c9o64 + c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + - // press_SET * (c9o64 - c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c3o64 + c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + - // press_SWB * (c1o64 + c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + - // press_NWB * (c3o64 + c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c3o64 - c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + - // press_NEB * (c9o64 - c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff); - //drho = drho_NET * (c27o64 - c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + - // drho_NWT * (c9o64 + c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - // drho_SET * (c9o64 - c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c3o64 + c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + - // drho_SWB * (c1o64 + c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + - // drho_NWB * (c3o64 + c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c3o64 - c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - // drho_NEB * (c9o64 - c3o16 * xoff - c3o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press); - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0o1; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0o1; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0o1; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0o1; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0o1; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0o1; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0o1; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position NEB 0.25f, 0.25f, -0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = c1o4; - y = c1o4; - z = -c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c27o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c1o64*drho_SWT; - //press = press_NET * (c9o64 - c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + - // press_NWT * (c3o64 + c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + - // press_SET * (c3o64 - c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c1o64 + c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + - // press_SWB * (c3o64 + c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + - // press_NWB * (c9o64 + c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c9o64 - c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + - // press_NEB * (c27o64 - c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff); - //drho = drho_NET * (c9o64 - c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + - // drho_NWT * (c3o64 + c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + - // drho_SET * (c3o64 - c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c1o64 + c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + - // drho_SWB * (c3o64 + c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + - // drho_NWB * (c9o64 + c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c9o64 - c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + - // drho_NEB * (c27o64 - c9o16 * xoff - c9o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press); - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0o1; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0o1; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0o1; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0o1; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0o1; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0o1; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0o1; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - } -} -////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -////////////////////////////////////////////////////////////////////////// -__global__ void scaleCF_NSPress_27( real* DC, - real* DF, - unsigned int* neighborCX, - unsigned int* neighborCY, - unsigned int* neighborCZ, - unsigned int* neighborFX, - unsigned int* neighborFY, - unsigned int* neighborFZ, - unsigned long long numberOfLBnodesCoarse, - unsigned long long numberOfLBnodesFine, - bool isEvenTimestep, - unsigned int* posCSWB, - unsigned int* posFSWB, - unsigned int kCF, - real omCoarse, - real omFine, - real nu, - unsigned int nxC, - unsigned int nyC, - unsigned int nxF, - unsigned int nyF, - ICellNeigh offCF) -{ - real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, - *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - - feF = &DF[dP00 * numberOfLBnodesFine]; - fwF = &DF[dM00 * numberOfLBnodesFine]; - fnF = &DF[d0P0 * numberOfLBnodesFine]; - fsF = &DF[d0M0 * numberOfLBnodesFine]; - ftF = &DF[d00P * numberOfLBnodesFine]; - fbF = &DF[d00M * numberOfLBnodesFine]; - fneF = &DF[dPP0 * numberOfLBnodesFine]; - fswF = &DF[dMM0 * numberOfLBnodesFine]; - fseF = &DF[dPM0 * numberOfLBnodesFine]; - fnwF = &DF[dMP0 * numberOfLBnodesFine]; - fteF = &DF[dP0P * numberOfLBnodesFine]; - fbwF = &DF[dM0M * numberOfLBnodesFine]; - fbeF = &DF[dP0M * numberOfLBnodesFine]; - ftwF = &DF[dM0P * numberOfLBnodesFine]; - ftnF = &DF[d0PP * numberOfLBnodesFine]; - fbsF = &DF[d0MM * numberOfLBnodesFine]; - fbnF = &DF[d0PM * numberOfLBnodesFine]; - ftsF = &DF[d0MP * numberOfLBnodesFine]; - fzeroF = &DF[d000 * numberOfLBnodesFine]; - ftneF = &DF[dPPP * numberOfLBnodesFine]; - ftswF = &DF[dMMP * numberOfLBnodesFine]; - ftseF = &DF[dPMP * numberOfLBnodesFine]; - ftnwF = &DF[dMPP * numberOfLBnodesFine]; - fbneF = &DF[dPPM * numberOfLBnodesFine]; - fbswF = &DF[dMMM * numberOfLBnodesFine]; - fbseF = &DF[dPMM * numberOfLBnodesFine]; - fbnwF = &DF[dMPM * numberOfLBnodesFine]; - - real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, *fzeroC, - *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; - - if (isEvenTimestep==true) - { - feC = &DC[dP00 * numberOfLBnodesCoarse]; - fwC = &DC[dM00 * numberOfLBnodesCoarse]; - fnC = &DC[d0P0 * numberOfLBnodesCoarse]; - fsC = &DC[d0M0 * numberOfLBnodesCoarse]; - ftC = &DC[d00P * numberOfLBnodesCoarse]; - fbC = &DC[d00M * numberOfLBnodesCoarse]; - fneC = &DC[dPP0 * numberOfLBnodesCoarse]; - fswC = &DC[dMM0 * numberOfLBnodesCoarse]; - fseC = &DC[dPM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dMP0 * numberOfLBnodesCoarse]; - fteC = &DC[dP0P * numberOfLBnodesCoarse]; - fbwC = &DC[dM0M * numberOfLBnodesCoarse]; - fbeC = &DC[dP0M * numberOfLBnodesCoarse]; - ftwC = &DC[dM0P * numberOfLBnodesCoarse]; - ftnC = &DC[d0PP * numberOfLBnodesCoarse]; - fbsC = &DC[d0MM * numberOfLBnodesCoarse]; - fbnC = &DC[d0PM * numberOfLBnodesCoarse]; - ftsC = &DC[d0MP * numberOfLBnodesCoarse]; - fzeroC = &DC[d000 * numberOfLBnodesCoarse]; - ftneC = &DC[dPPP * numberOfLBnodesCoarse]; - ftswC = &DC[dMMP * numberOfLBnodesCoarse]; - ftseC = &DC[dPMP * numberOfLBnodesCoarse]; - ftnwC = &DC[dMPP * numberOfLBnodesCoarse]; - fbneC = &DC[dPPM * numberOfLBnodesCoarse]; - fbswC = &DC[dMMM * numberOfLBnodesCoarse]; - fbseC = &DC[dPMM * numberOfLBnodesCoarse]; - fbnwC = &DC[dMPM * numberOfLBnodesCoarse]; - } - else - { - fwC = &DC[dP00 * numberOfLBnodesCoarse]; - feC = &DC[dM00 * numberOfLBnodesCoarse]; - fsC = &DC[d0P0 * numberOfLBnodesCoarse]; - fnC = &DC[d0M0 * numberOfLBnodesCoarse]; - fbC = &DC[d00P * numberOfLBnodesCoarse]; - ftC = &DC[d00M * numberOfLBnodesCoarse]; - fswC = &DC[dPP0 * numberOfLBnodesCoarse]; - fneC = &DC[dMM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dPM0 * numberOfLBnodesCoarse]; - fseC = &DC[dMP0 * numberOfLBnodesCoarse]; - fbwC = &DC[dP0P * numberOfLBnodesCoarse]; - fteC = &DC[dM0M * numberOfLBnodesCoarse]; - ftwC = &DC[dP0M * numberOfLBnodesCoarse]; - fbeC = &DC[dM0P * numberOfLBnodesCoarse]; - fbsC = &DC[d0PP * numberOfLBnodesCoarse]; - ftnC = &DC[d0MM * numberOfLBnodesCoarse]; - ftsC = &DC[d0PM * numberOfLBnodesCoarse]; - fbnC = &DC[d0MP * numberOfLBnodesCoarse]; - fzeroC = &DC[d000 * numberOfLBnodesCoarse]; - fbswC = &DC[dPPP * numberOfLBnodesCoarse]; - fbneC = &DC[dMMP * numberOfLBnodesCoarse]; - fbnwC = &DC[dPMP * numberOfLBnodesCoarse]; - fbseC = &DC[dMPP * numberOfLBnodesCoarse]; - ftswC = &DC[dPPM * numberOfLBnodesCoarse]; - ftneC = &DC[dMMM * numberOfLBnodesCoarse]; - ftnwC = &DC[dPMM * numberOfLBnodesCoarse]; - ftseC = &DC[dMPM * numberOfLBnodesCoarse]; - } - - //////////////////////////////////////////////////////////////////////////////// - const unsigned ix = threadIdx.x; // Globaler x-Index - const unsigned iy = blockIdx.x; // Globaler y-Index - const unsigned iz = blockIdx.y; // Globaler z-Index - - const unsigned nx = blockDim.x; - const unsigned ny = gridDim.x; - - const unsigned k = nx*(ny*iz + iy) + ix; - ////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////// - real eps_new = c1o2; - real omegaS = omCoarse;//-omCoarse; - real o = omFine;//-omFine; - //real op = one; - //real cu_sq; - - real xoff, yoff, zoff; - real xoff_sq, yoff_sq, zoff_sq; - - real press;//,drho,vx1,vx2,vx3; - real press_SWT,drho_SWT,vx1_SWT,vx2_SWT,vx3_SWT; - real press_NWT,drho_NWT,vx1_NWT,vx2_NWT,vx3_NWT; - real press_NET,drho_NET,vx1_NET,vx2_NET,vx3_NET; - real press_SET,drho_SET,vx1_SET,vx2_SET,vx3_SET; - real press_SWB,drho_SWB,vx1_SWB,vx2_SWB,vx3_SWB; - real press_NWB,drho_NWB,vx1_NWB,vx2_NWB,vx3_NWB; - real press_NEB,drho_NEB,vx1_NEB,vx2_NEB,vx3_NEB; - real press_SEB,drho_SEB,vx1_SEB,vx2_SEB,vx3_SEB; - real f_E,f_W,f_N,f_S,f_T,f_B,f_NE,f_SW,f_SE,f_NW,f_TE,f_BW,f_BE,f_TW,f_TN,f_BS,f_BN,f_TS,f_ZERO,f_TNE, f_TSW, f_TSE, f_TNW, f_BNE, f_BSW, f_BSE, f_BNW; - //real feq_E,feq_W,feq_N,feq_S,feq_T,feq_B,feq_NE,feq_SW,feq_SE,feq_NW,feq_TE,feq_BW,feq_BE,feq_TW,feq_TN,feq_BS,feq_BN,feq_TS,feq_ZERO,feq_TNE, feq_TSW, feq_TSE, feq_TNW, feq_BNE, feq_BSW, feq_BSE, feq_BNW; - real kxyFromfcNEQ_SWT, kyzFromfcNEQ_SWT, kxzFromfcNEQ_SWT, kxxMyyFromfcNEQ_SWT, kxxMzzFromfcNEQ_SWT; - real kxyFromfcNEQ_NWT, kyzFromfcNEQ_NWT, kxzFromfcNEQ_NWT, kxxMyyFromfcNEQ_NWT, kxxMzzFromfcNEQ_NWT; - real kxyFromfcNEQ_NET, kyzFromfcNEQ_NET, kxzFromfcNEQ_NET, kxxMyyFromfcNEQ_NET, kxxMzzFromfcNEQ_NET; - real kxyFromfcNEQ_SET, kyzFromfcNEQ_SET, kxzFromfcNEQ_SET, kxxMyyFromfcNEQ_SET, kxxMzzFromfcNEQ_SET; - real kxyFromfcNEQ_SWB, kyzFromfcNEQ_SWB, kxzFromfcNEQ_SWB, kxxMyyFromfcNEQ_SWB, kxxMzzFromfcNEQ_SWB; - real kxyFromfcNEQ_NWB, kyzFromfcNEQ_NWB, kxzFromfcNEQ_NWB, kxxMyyFromfcNEQ_NWB, kxxMzzFromfcNEQ_NWB; - real kxyFromfcNEQ_NEB, kyzFromfcNEQ_NEB, kxzFromfcNEQ_NEB, kxxMyyFromfcNEQ_NEB, kxxMzzFromfcNEQ_NEB; - real kxyFromfcNEQ_SEB, kyzFromfcNEQ_SEB, kxzFromfcNEQ_SEB, kxxMyyFromfcNEQ_SEB, kxxMzzFromfcNEQ_SEB; - real a0, ax, ay, az, axx, ayy, azz, axy, axz, ayz, b0, bx, by, bz, bxx, byy, bzz, bxy, bxz, byz, c0, cx, cy, cz, cxx, cyy, czz, cxy, cxz, cyz, axyz, bxyz, cxyz; - - real x,y,z; - - - if(k<kCF) - { - ////////////////////////////////////////////////////////////////////////// - xoff = offCF.x[k]; - yoff = offCF.y[k]; - zoff = offCF.z[k]; - xoff_sq = xoff * xoff; - yoff_sq = yoff * yoff; - zoff_sq = zoff * zoff; - ////////////////////////////////////////////////////////////////////////// - //SWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - unsigned int k0zero= posCSWB[k]; - unsigned int k0w = neighborCX[k0zero]; - unsigned int k0s = neighborCY[k0zero]; - unsigned int k0b = neighborCZ[k0zero]; - unsigned int k0sw = neighborCY[k0w]; - unsigned int k0bw = neighborCZ[k0w]; - unsigned int k0bs = neighborCZ[k0s]; - unsigned int k0bsw = neighborCZ[k0sw]; - ////////////////////////////////////////////////////////////////////////// - //index - unsigned int kzero= k0zero; - unsigned int kw = k0w; - unsigned int ks = k0s; - unsigned int kb = k0b; - unsigned int ksw = k0sw; - unsigned int kbw = k0bw; - unsigned int kbs = k0bs; - unsigned int kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - //vx1_SWB = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_SWB = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_SWB = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_SWB = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_SWB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_SWB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_SWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - press_SWB= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)- - drho_SWB-(vx1_SWB*vx1_SWB+vx2_SWB*vx2_SWB+vx3_SWB*vx3_SWB)* (c1o1+drho_SWB)) * c1o2+drho_SWB; - - kxyFromfcNEQ_SWB = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SWB*vx2_SWB)); - kyzFromfcNEQ_SWB = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_SWB*vx3_SWB)); - kxzFromfcNEQ_SWB = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_SWB*vx3_SWB)); - kxxMyyFromfcNEQ_SWB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_SWB*vx1_SWB-vx2_SWB*vx2_SWB)); - kxxMzzFromfcNEQ_SWB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_SWB*vx1_SWB-vx3_SWB*vx3_SWB)); - - ////////////////////////////////////////////////////////////////////////// - //SWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborCZ[kb]; - ksw = kbsw; - kbw = neighborCZ[kbw]; - kbs = neighborCZ[kbs]; - kbsw = neighborCZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - //vx1_SWT = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_SWT = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_SWT = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_SWT = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_SWT = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_SWT = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_SWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - press_SWT= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)- - drho_SWT-(vx1_SWT*vx1_SWT+vx2_SWT*vx2_SWT+vx3_SWT*vx3_SWT)* (c1o1+drho_SWT)) * c1o2+drho_SWT; - - kxyFromfcNEQ_SWT = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SWT*vx2_SWT)); - kyzFromfcNEQ_SWT = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_SWT*vx3_SWT)); - kxzFromfcNEQ_SWT = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_SWT*vx3_SWT)); - kxxMyyFromfcNEQ_SWT = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_SWT*vx1_SWT-vx2_SWT*vx2_SWT)); - kxxMzzFromfcNEQ_SWT = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_SWT*vx1_SWT-vx3_SWT*vx3_SWT)); - - ////////////////////////////////////////////////////////////////////////// - //SET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborCX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborCX[ksw]; - kbw = neighborCX[kbw]; - kbs = kbsw; - kbsw = neighborCX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - //vx1_SET = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_SET = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_SET = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_SET = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_SET = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_SET = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_SET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - press_SET= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)- - drho_SET-(vx1_SET*vx1_SET+vx2_SET*vx2_SET+vx3_SET*vx3_SET)* (c1o1+drho_SET)) * c1o2+drho_SET; - - kxyFromfcNEQ_SET = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SET*vx2_SET)); - kyzFromfcNEQ_SET = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_SET*vx3_SET)); - kxzFromfcNEQ_SET = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_SET*vx3_SET)); - kxxMyyFromfcNEQ_SET = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_SET*vx1_SET-vx2_SET*vx2_SET)); - kxxMzzFromfcNEQ_SET = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_SET*vx1_SET-vx3_SET*vx3_SET)); - - ////////////////////////////////////////////////////////////////////////// - //SEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborCX[k0w]; - ks = k0sw; - ksw = neighborCX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - //vx1_SEB = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_SEB = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_SEB = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_SEB = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_SEB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_SEB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_SEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - press_SEB= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)- - drho_SEB-(vx1_SEB*vx1_SEB+vx2_SEB*vx2_SEB+vx3_SEB*vx3_SEB)* (c1o1+drho_SEB)) * c1o2+drho_SEB; - - kxyFromfcNEQ_SEB = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SEB*vx2_SEB)); - kyzFromfcNEQ_SEB = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_SEB*vx3_SEB)); - kxzFromfcNEQ_SEB = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_SEB*vx3_SEB)); - kxxMyyFromfcNEQ_SEB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_SEB*vx1_SEB-vx2_SEB*vx2_SEB)); - kxxMzzFromfcNEQ_SEB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_SEB*vx1_SEB-vx3_SEB*vx3_SEB)); - - ////////////////////////////////////////////////////////////////////////// - //NWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= k0s; - k0w = k0sw; - k0s = neighborCY[k0s]; - k0b = k0bs; - k0sw = neighborCY[k0sw]; - k0bw = k0bsw; - k0bs = neighborCY[k0bs]; - k0bsw = neighborCY[k0bsw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - //vx1_NWB = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_NWB = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_NWB = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_NWB = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_NWB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_NWB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_NWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - press_NWB= (f_E+f_W+f_N+f_S+f_T+f_B+2.f*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+3.f*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)- - drho_NWB-(vx1_NWB*vx1_NWB+vx2_NWB*vx2_NWB+vx3_NWB*vx3_NWB)* (1.+drho_NWB)) * 0.5f+drho_NWB; - - kxyFromfcNEQ_NWB = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NWB*vx2_NWB)); - kyzFromfcNEQ_NWB = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_NWB*vx3_NWB)); - kxzFromfcNEQ_NWB = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_NWB*vx3_NWB)); - kxxMyyFromfcNEQ_NWB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_NWB*vx1_NWB-vx2_NWB*vx2_NWB)); - kxxMzzFromfcNEQ_NWB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_NWB*vx1_NWB-vx3_NWB*vx3_NWB)); - - ////////////////////////////////////////////////////////////////////////// - //NWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborCZ[kb]; - ksw = kbsw; - kbw = neighborCZ[kbw]; - kbs = neighborCZ[kbs]; - kbsw = neighborCZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - //vx1_NWT = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_NWT = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_NWT = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_NWT = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_NWT = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_NWT = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_NWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - press_NWT= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)- - drho_NWT-(vx1_NWT*vx1_NWT+vx2_NWT*vx2_NWT+vx3_NWT*vx3_NWT)* (c1o1+drho_NWT)) * c1o2+drho_NWT; - - kxyFromfcNEQ_NWT = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NWT*vx2_NWT)); - kyzFromfcNEQ_NWT = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_NWT*vx3_NWT)); - kxzFromfcNEQ_NWT = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_NWT*vx3_NWT)); - kxxMyyFromfcNEQ_NWT = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_NWT*vx1_NWT-vx2_NWT*vx2_NWT)); - kxxMzzFromfcNEQ_NWT = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_NWT*vx1_NWT-vx3_NWT*vx3_NWT)); - - ////////////////////////////////////////////////////////////////////////// - //NET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborCX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborCX[ksw]; - kbw = neighborCX[kbw]; - kbs = kbsw; - kbsw = neighborCX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - //vx1_NET = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_NET = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_NET = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_NET = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_NET = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_NET = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_NET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - press_NET= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)- - drho_NET-(vx1_NET*vx1_NET+vx2_NET*vx2_NET+vx3_NET*vx3_NET)* (c1o1+drho_NET)) * c1o2+drho_NET; - - kxyFromfcNEQ_NET = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NET*vx2_NET)); - kyzFromfcNEQ_NET = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_NET*vx3_NET)); - kxzFromfcNEQ_NET = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_NET*vx3_NET)); - kxxMyyFromfcNEQ_NET = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_NET*vx1_NET-vx2_NET*vx2_NET)); - kxxMzzFromfcNEQ_NET = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_NET*vx1_NET-vx3_NET*vx3_NET)); - - ////////////////////////////////////////////////////////////////////////// - //NEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborCX[k0w]; - ks = k0sw; - ksw = neighborCX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - //vx1_NEB = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_NEB = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_NEB = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_NEB = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_NEB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_NEB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_NEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - press_NEB= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)- - drho_NEB-(vx1_NEB*vx1_NEB+vx2_NEB*vx2_NEB+vx3_NEB*vx3_NEB)* (c1o1+drho_NEB)) * c1o2+drho_NEB; - - kxyFromfcNEQ_NEB = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NEB*vx2_NEB)); - kyzFromfcNEQ_NEB = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_NEB*vx3_NEB)); - kxzFromfcNEQ_NEB = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_NEB*vx3_NEB)); - kxxMyyFromfcNEQ_NEB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_NEB*vx1_NEB-vx2_NEB*vx2_NEB)); - kxxMzzFromfcNEQ_NEB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_NEB*vx1_NEB-vx3_NEB*vx3_NEB)); - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //3 - ////////////////////////////////////////////////////////////////////////// - a0 = (-kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT - - kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - - kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - - c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET - c2o1*kxyFromfcNEQ_NWB - c2o1*kxyFromfcNEQ_NWT + - c2o1*kxyFromfcNEQ_SEB + c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + - c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB - c2o1*kxzFromfcNEQ_NWT + - c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB - c2o1*kxzFromfcNEQ_SWT + - c8o1*vx1_NEB + c8o1*vx1_NET + c8o1*vx1_NWB + c8o1*vx1_NWT + c8o1*vx1_SEB + - c8o1*vx1_SET + c8o1*vx1_SWB + c8o1*vx1_SWT + c2o1*vx2_NEB + c2o1*vx2_NET - - c2o1*vx2_NWB - c2o1*vx2_NWT - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + - c2o1*vx2_SWT - c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - - c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1; - b0 = (c2o1*kxxMyyFromfcNEQ_NEB + c2o1*kxxMyyFromfcNEQ_NET + c2o1*kxxMyyFromfcNEQ_NWB + c2o1*kxxMyyFromfcNEQ_NWT - - c2o1*kxxMyyFromfcNEQ_SEB - c2o1*kxxMyyFromfcNEQ_SET - c2o1*kxxMyyFromfcNEQ_SWB - c2o1*kxxMyyFromfcNEQ_SWT - - kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - - c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET + c2o1*kxyFromfcNEQ_NWB + c2o1*kxyFromfcNEQ_NWT - - c2o1*kxyFromfcNEQ_SEB - c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + - c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET + c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + - c2o1*kyzFromfcNEQ_SEB - c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB - c2o1*kyzFromfcNEQ_SWT + - c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT + - c8o1*vx2_NEB + c8o1*vx2_NET + c8o1*vx2_NWB + c8o1*vx2_NWT + - c8o1*vx2_SEB + c8o1*vx2_SET + c8o1*vx2_SWB + c8o1*vx2_SWT - - c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + - c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1; - c0 = (kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT - - c2o1*kxxMzzFromfcNEQ_NEB + c2o1*kxxMzzFromfcNEQ_NET - c2o1*kxxMzzFromfcNEQ_NWB + c2o1*kxxMzzFromfcNEQ_NWT - - c2o1*kxxMzzFromfcNEQ_SEB + c2o1*kxxMzzFromfcNEQ_SET - c2o1*kxxMzzFromfcNEQ_SWB + c2o1*kxxMzzFromfcNEQ_SWT - - c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB + c2o1*kxzFromfcNEQ_NWT - - c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB + c2o1*kxzFromfcNEQ_SWT - - c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET - c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + - c2o1*kyzFromfcNEQ_SEB + c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB + c2o1*kyzFromfcNEQ_SWT - - c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - - c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT + - c8o1*vx3_NEB + c8o1*vx3_NET + c8o1*vx3_NWB + c8o1*vx3_NWT + - c8o1*vx3_SEB + c8o1*vx3_SET + c8o1*vx3_SWB + c8o1*vx3_SWT)/c64o1; - ax = (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT + vx1_SEB + vx1_SET - vx1_SWB - vx1_SWT)/c4o1; - bx = (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT + vx2_SEB + vx2_SET - vx2_SWB - vx2_SWT)/c4o1; - cx = (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT + vx3_SEB + vx3_SET - vx3_SWB - vx3_SWT)/c4o1; - axx= (kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT + - kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + - c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB - c2o1*vx2_NWT - - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + c2o1*vx2_SWT - - c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - - c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1; - bxx= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET - kxyFromfcNEQ_NWB - kxyFromfcNEQ_NWT + - kxyFromfcNEQ_SEB + kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - - c2o1*vx1_NEB - c2o1*vx1_NET + c2o1*vx1_NWB + c2o1*vx1_NWT + - c2o1*vx1_SEB + c2o1*vx1_SET - c2o1*vx1_SWB - c2o1*vx1_SWT)/c8o1; - cxx= (kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB - kxzFromfcNEQ_NWT + - kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB - kxzFromfcNEQ_SWT + - c2o1*vx1_NEB - c2o1*vx1_NET - c2o1*vx1_NWB + c2o1*vx1_NWT + - c2o1*vx1_SEB - c2o1*vx1_SET - c2o1*vx1_SWB + c2o1*vx1_SWT)/c8o1; - ay = (vx1_NEB + vx1_NET + vx1_NWB + vx1_NWT - vx1_SEB - vx1_SET - vx1_SWB - vx1_SWT)/c4o1; - by = (vx2_NEB + vx2_NET + vx2_NWB + vx2_NWT - vx2_SEB - vx2_SET - vx2_SWB - vx2_SWT)/c4o1; - cy = (vx3_NEB + vx3_NET + vx3_NWB + vx3_NWT - vx3_SEB - vx3_SET - vx3_SWB - vx3_SWT)/c4o1; - ayy= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET + kxyFromfcNEQ_NWB + kxyFromfcNEQ_NWT - - kxyFromfcNEQ_SEB - kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - - c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB + c2o1*vx2_NWT + - c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB - c2o1*vx2_SWT)/c8o1; - byy= (-c2o1*kxxMyyFromfcNEQ_NEB - c2o1*kxxMyyFromfcNEQ_NET - c2o1*kxxMyyFromfcNEQ_NWB - c2o1*kxxMyyFromfcNEQ_NWT + - c2o1*kxxMyyFromfcNEQ_SEB + c2o1*kxxMyyFromfcNEQ_SET + c2o1*kxxMyyFromfcNEQ_SWB + c2o1*kxxMyyFromfcNEQ_SWT + - kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - - kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + - c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT - - c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + - c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1; - cyy= (kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET + kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - - kyzFromfcNEQ_SEB - kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB - kyzFromfcNEQ_SWT + - c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB - c2o1*vx2_NWT - - c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB + c2o1*vx2_SWT)/c8o1; - az = (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT - vx1_SEB + vx1_SET - vx1_SWB + vx1_SWT)/c4o1; - bz = (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT - vx2_SEB + vx2_SET - vx2_SWB + vx2_SWT)/c4o1; - cz = (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT - vx3_SEB + vx3_SET - vx3_SWB + vx3_SWT)/c4o1; - azz= (-kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB + kxzFromfcNEQ_NWT - - kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB + kxzFromfcNEQ_SWT + - c2o1*vx3_NEB - c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + - c2o1*vx3_SEB - c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1; - bzz= (-kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET - kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - - kyzFromfcNEQ_SEB + kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB + kyzFromfcNEQ_SWT + - c2o1*vx3_NEB - c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - - c2o1*vx3_SEB + c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1; - czz= (-kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT + - c2o1*kxxMzzFromfcNEQ_NEB - c2o1*kxxMzzFromfcNEQ_NET + c2o1*kxxMzzFromfcNEQ_NWB - c2o1*kxxMzzFromfcNEQ_NWT + - c2o1*kxxMzzFromfcNEQ_SEB - c2o1*kxxMzzFromfcNEQ_SET + c2o1*kxxMzzFromfcNEQ_SWB - c2o1*kxxMzzFromfcNEQ_SWT - - c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - - c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT)/c16o1; - axy= (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT - vx1_SEB - vx1_SET + vx1_SWB + vx1_SWT)/c2o1; - bxy= (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT - vx2_SEB - vx2_SET + vx2_SWB + vx2_SWT)/c2o1; - cxy= (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT - vx3_SEB - vx3_SET + vx3_SWB + vx3_SWT)/c2o1; - axz= (-vx1_NEB + vx1_NET + vx1_NWB - vx1_NWT - vx1_SEB + vx1_SET + vx1_SWB - vx1_SWT)/c2o1; - bxz= (-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT - vx2_SEB + vx2_SET + vx2_SWB - vx2_SWT)/c2o1; - cxz= (-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT - vx3_SEB + vx3_SET + vx3_SWB - vx3_SWT)/c2o1; - ayz= (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT + vx1_SEB - vx1_SET + vx1_SWB - vx1_SWT)/c2o1; - byz= (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT + vx2_SEB - vx2_SET + vx2_SWB - vx2_SWT)/c2o1; - cyz= (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT + vx3_SEB - vx3_SET + vx3_SWB - vx3_SWT)/c2o1; - axyz=-vx1_NEB + vx1_NET + vx1_NWB - vx1_NWT + vx1_SEB - vx1_SET - vx1_SWB + vx1_SWT; - bxyz=-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT + vx2_SEB - vx2_SET - vx2_SWB + vx2_SWT; - cxyz=-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT + vx3_SEB - vx3_SET - vx3_SWB + vx3_SWT; - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - // Bernd das Brot - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - a0 = a0 + xoff * ax + yoff * ay + zoff * az + xoff_sq * axx + yoff_sq * ayy + zoff_sq * azz + xoff*yoff*axy + xoff*zoff*axz + yoff*zoff*ayz; - ax = ax + c2o1 * xoff * axx + yoff * axy + zoff * axz; - ay = ay + c2o1 * yoff * ayy + xoff * axy + zoff * ayz; - az = az + c2o1 * zoff * azz + xoff * axz + yoff * ayz; - b0 = b0 + xoff * bx + yoff * by + zoff * bz + xoff_sq * bxx + yoff_sq * byy + zoff_sq * bzz + xoff*yoff*bxy + xoff*zoff*bxz + yoff*zoff*byz; - bx = bx + c2o1 * xoff * bxx + yoff * bxy + zoff * bxz; - by = by + c2o1 * yoff * byy + xoff * bxy + zoff * byz; - bz = bz + c2o1 * zoff * bzz + xoff * bxz + yoff * byz; - c0 = c0 + xoff * cx + yoff * cy + zoff * cz + xoff_sq * cxx + yoff_sq * cyy + zoff_sq * czz + xoff*yoff*cxy + xoff*zoff*cxz + yoff*zoff*cyz; - cx = cx + c2o1 * xoff * cxx + yoff * cxy + zoff * cxz; - cy = cy + c2o1 * yoff * cyy + xoff * cxy + zoff * cyz; - cz = cz + c2o1 * zoff * czz + xoff * cxz + yoff * cyz; - - real dx, dy, dz; - real pressCenter=(press_SWT+press_NWT+press_SET+press_NET+press_NEB+press_NWB+press_SEB+press_SWB)*c1o8; - - - // if(xoff!=zero || yoff!=zero || zoff!=zero) - { - - dx=c2o1*nu*(axx+ayy+azz); - dy=c2o1*nu*(bxx+byy+bzz); - dz=c2o1*nu*(cxx+cyy+czz); - pressCenter = pressCenter + xoff * dx + yoff * dy + zoff * dz; - } - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // FIX /////////////////////////////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //AAAAAAAAAAAAHHHHHHHHHHHH!!!!! Mieser Test!!! - //ax= ay= az= axx= ayy= azz= axy= axz= ayz= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz= cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero; - //a0=zero; - //b0=zero; - //c0=c1o100; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = c0o1; - real mfabb = c0o1; - real mfbcb = c0o1; - real mfbab = c0o1; - real mfbbc = c0o1; - real mfbba = c0o1; - real mfccb = c0o1; - real mfaab = c0o1; - real mfcab = c0o1; - real mfacb = c0o1; - real mfcbc = c0o1; - real mfaba = c0o1; - real mfcba = c0o1; - real mfabc = c0o1; - real mfbcc = c0o1; - real mfbaa = c0o1; - real mfbca = c0o1; - real mfbac = c0o1; - real mfbbb = c0o1; - real mfccc = c0o1; - real mfaac = c0o1; - real mfcac = c0o1; - real mfacc = c0o1; - real mfcca = c0o1; - real mfaaa = c0o1; - real mfcaa = c0o1; - real mfaca = c0o1; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real m0, m1, m2, vvx, vvy, vvz, vx2, vy2, vz2, oMdrho; - real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz; - real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein - real O3 = c2o1 - o; - real residu, residutmp; - residutmp = c0o1;// /*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position SWB -0.25f, -0.25f, -0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = -c1o4; - y = -c1o4; - z = -c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //press = press_SWT * (c9o64 + c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + - // press_NWT * (c3o64 + c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - // press_SET * (c3o64 - c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + - // press_NET * (c1o64 - c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + - // press_NEB * (c3o64 - c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + - // press_NWB * (c9o64 + c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + - // press_SEB * (c9o64 - c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - // press_SWB * (c27o64 + c9o16 * xoff + c9o16 * yoff + c9o16 * zoff); - //if(xoff!=zero || yoff!=zero || zoff!=zero) - {press=pressCenter+c1o4*(-dx-dy-dz);} - - //drho = drho_SWT * (c9o64 + c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + - // drho_NWT * (c3o64 + c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - // drho_SET * (c3o64 - c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + - // drho_NET * (c1o64 - c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + - // drho_NEB * (c3o64 - c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + - // drho_NWB * (c9o64 + c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c9o64 - c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c27o64 + c9o16 * xoff + c9o16 * yoff + c9o16 * zoff); - vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - mfaaa = press + (c2o1*axx*x+axy*y+axz*z+axyz*y*z+ax + c2o1*byy*y+bxy*x+byz*z+bxyz*x*z+by + c2o1*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/c3o1; // 1/3 = 2/3*(1/op-1/2) - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1 - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa; - mxxMyy = -c2o3*(ax - by + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - mxxMzz = -c2o3*(ax - cz + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o; - - mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - mfbab = -c1o3 * (az + cx + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - mfbba = -c1o3 * (ay + bx + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz); - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz); - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz); - - //3.f - // linear combinations - residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (axy + c2o1*bxx + c2o1*bzz + cyz + cxyz*x + axyz*z); - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (axy + c2o1*bxx - c2o1*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (axz + byz + c2o1*cxx + c2o1*cyy + bxyz*x + axyz*y); - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (axz - byz + c2o1*cxx - c2o1*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (c2o1*ayy + c2o1*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (c2o1*ayy - c2o1*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= posFSWB[k]; - k0w = neighborFX[k0zero]; - k0s = neighborFY[k0zero]; - k0b = neighborFZ[k0zero]; - k0sw = neighborFY[k0w]; - k0bw = neighborFZ[k0w]; - k0bs = neighborFZ[k0s]; - k0bsw = neighborFZ[k0sw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position SWT -0.25f, -0.25f, 0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = -c1o4; - y = -c1o4; - z = c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c1o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c27o64*drho_SWT; - //press = press_SWT * (c27o64 + c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + - // press_NWT * (c9o64 + c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + - // press_SET * (c9o64 - c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - // press_NET * (c3o64 - c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + - // press_NEB * (c1o64 - c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + - // press_NWB * (c3o64 + c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - // press_SEB * (c3o64 - c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + - // press_SWB * (c9o64 + c3o16 * xoff + c3o16 * yoff + c9o16 * zoff); - //if(xoff!=zero || yoff!=zero || zoff!=zero) - {press=pressCenter+c1o4*(-dx-dy+dz);} - //drho = drho_SWT * (c27o64 + c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + - // drho_NWT * (c9o64 + c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + - // drho_SET * (c9o64 - c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - // drho_NET * (c3o64 - c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + - // drho_NEB * (c1o64 - c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + - // drho_NWB * (c3o64 + c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c3o64 - c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c9o64 + c3o16 * xoff + c3o16 * yoff + c9o16 * zoff); - vvx = a0 + c1o4*(-ax - ay + az) + c1o16*(axx + axy - axz + ayy - ayz + azz) + c1o64*( axyz); - vvy = b0 + c1o4*(-bx - by + bz) + c1o16*(bxx + bxy - bxz + byy - byz + bzz) + c1o64*( bxyz); - vvz = c0 + c1o4*(-cx - cy + cz) + c1o16*(cxx + cxy - cxz + cyy - cyz + czz) + c1o64*( cxyz); - - //mfaaa = drho; - mfaaa = press + (c2o1*axx*x+axy*y+axz*z+axyz*y*z+ax + c2o1*byy*y+bxy*x+byz*z+bxyz*x*z+by + c2o1*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/c3o1; // 1/3 = 2/3*(1/op-1/2) - - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1 - mfaaa; - - //two - // linear combinations - mxxPyyPzz = mfaaa; - mxxMyy = -c2o3*(ax - by + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - mxxMzz = -c2o3*(ax - cz + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o; - - mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - mfbab = -c1o3 * (az + cx + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - mfbba = -c1o3 * (ay + bx + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz); - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz); - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz); - - //three - // linear combinations - residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (axy + c2o1*bxx + c2o1*bzz + cyz + cxyz*x + axyz*z); - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (axy + c2o1*bxx - c2o1*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (axz + byz + c2o1*cxx + c2o1*cyy + bxyz*x + axyz*y); - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (axz - byz + c2o1*cxx - c2o1*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (c2o1*ayy + c2o1*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (c2o1*ayy - c2o1*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position SET 0.25f, -0.25f, 0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = c1o4; - y = -c1o4; - z = c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho =c3o64*drho_NEB+c9o64*drho_NET+c1o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c27o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT; - //press = press_SET * (c27o64 - c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + - // press_NET * (c9o64 - c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + - // press_SWT * (c9o64 + c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - // press_NWT * (c3o64 + c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + - // press_NWB * (c1o64 + c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + - // press_NEB * (c3o64 - c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - // press_SWB * (c3o64 + c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + - // press_SEB * (c9o64 - c3o16 * xoff + c3o16 * yoff + c9o16 * zoff); - //if(xoff!=zero || yoff!=zero || zoff!=zero) - {press=pressCenter+c1o4*( dx-dy-dz);} - //drho = drho_SET * (c27o64 - c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + - // drho_NET * (c9o64 - c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c9o64 + c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - // drho_NWT * (c3o64 + c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + - // drho_NWB * (c1o64 + c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + - // drho_NEB * (c3o64 - c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c3o64 + c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c9o64 - c3o16 * xoff + c3o16 * yoff + c9o16 * zoff); - vvx = a0 + c1o4*( ax - ay + az) + c1o16*(axx - axy + axz + ayy - ayz + azz) + c1o64*(-axyz); - vvy = b0 + c1o4*( bx - by + bz) + c1o16*(bxx - bxy + bxz + byy - byz + bzz) + c1o64*(-bxyz); - vvz = c0 + c1o4*( cx - cy + cz) + c1o16*(cxx - cxy + cxz + cyy - cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - mfaaa = press + (c2o1*axx*x+axy*y+axz*z+axyz*y*z+ax + c2o1*byy*y+bxy*x+byz*z+bxyz*x*z+by + c2o1*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/c3o1; // 1/3 = 2/3*(1/op-1/2) - - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1 - mfaaa; - - //two - // linear combinations - mxxPyyPzz = mfaaa; - mxxMyy = -c2o3*(ax - by + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - mxxMzz = -c2o3*(ax - cz + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o; - - mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - mfbab = -c1o3 * (az + cx + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - mfbba = -c1o3 * (ay + bx + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz); - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz); - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz); - - //three - // linear combinations - residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (axy + c2o1*bxx + c2o1*bzz + cyz + cxyz*x + axyz*z); - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (axy + c2o1*bxx - c2o1*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (axz + byz + c2o1*cxx + c2o1*cyy + bxyz*x + axyz*y); - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (axz - byz + c2o1*cxx - c2o1*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (c2o1*ayy + c2o1*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (c2o1*ayy - c2o1*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position SEB 0.25f, -0.25f, -0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = c1o4; - y = -c1o4; - z = -c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho =c9o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c1o64*drho_NWT+c27o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT; - //press = press_SET * (c9o64 - c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + - // press_NET * (c3o64 - c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - // press_SWT * (c3o64 + c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + - // press_NWT * (c1o64 + c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + - // press_NWB * (c3o64 + c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + - // press_NEB * (c9o64 - c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + - // press_SWB * (c9o64 + c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - // press_SEB * (c27o64 - c9o16 * xoff + c9o16 * yoff + c9o16 * zoff); - //if(xoff!=zero || yoff!=zero || zoff!=zero) - {press=pressCenter+c1o4*( dx-dy-dz);} - //drho = drho_SET * (c9o64 - c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + - // drho_NET * (c3o64 - c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c3o64 + c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + - // drho_NWT * (c1o64 + c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + - // drho_NWB * (c3o64 + c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + - // drho_NEB * (c9o64 - c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c9o64 + c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c27o64 - c9o16 * xoff + c9o16 * yoff + c9o16 * zoff); - vvx = a0 + c1o4*( ax - ay - az) + c1o16*(axx - axy - axz + ayy + ayz + azz) + c1o64*( axyz); - vvy = b0 + c1o4*( bx - by - bz) + c1o16*(bxx - bxy - bxz + byy + byz + bzz) + c1o64*( bxyz); - vvz = c0 + c1o4*( cx - cy - cz) + c1o16*(cxx - cxy - cxz + cyy + cyz + czz) + c1o64*( cxyz); - - //mfaaa = drho; - mfaaa = press + (c2o1*axx*x+axy*y+axz*z+axyz*y*z+ax + c2o1*byy*y+bxy*x+byz*z+bxyz*x*z+by + c2o1*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/c3o1; // 1/3 = 2/3*(1/op-1/2) - - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1 - mfaaa; - - //two - // linear combinations - mxxPyyPzz = mfaaa; - mxxMyy = -c2o3*(ax - by + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - mxxMzz = -c2o3*(ax - cz + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o; - - mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - mfbab = -c1o3 * (az + cx + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - mfbba = -c1o3 * (ay + bx + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz); - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz); - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz); - - //three - // linear combinations - residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (axy + c2o1*bxx + c2o1*bzz + cyz + cxyz*x + axyz*z); - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (axy + c2o1*bxx - c2o1*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (axz + byz + c2o1*cxx + c2o1*cyy + bxyz*x + axyz*y); - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (axz - byz + c2o1*cxx - c2o1*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (c2o1*ayy + c2o1*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (c2o1*ayy - c2o1*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position NWB -0.25f, 0.25f, -0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = -c1o4; - y = c1o4; - z = -c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c9o64*drho_NEB+c3o64*drho_NET+c27o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c1o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT; - //press = press_NWT * (c9o64 + c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + - // press_NET * (c3o64 - c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + - // press_SWT * (c3o64 + c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - // press_SET * (c1o64 - c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + - // press_SEB * (c3o64 - c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + - // press_NEB * (c9o64 - c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - // press_SWB * (c9o64 + c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + - // press_NWB * (c27o64 + c9o16 * xoff - c9o16 * yoff + c9o16 * zoff); - //if(xoff!=zero || yoff!=zero || zoff!=zero) - {press=pressCenter+c1o4*(-dx+dy-dz);} - //drho = drho_NWT * (c9o64 + c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + - // drho_NET * (c3o64 - c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c3o64 + c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - // drho_SET * (c1o64 - c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + - // drho_SEB * (c3o64 - c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + - // drho_NEB * (c9o64 - c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c9o64 + c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + - // drho_NWB * (c27o64 + c9o16 * xoff - c9o16 * yoff + c9o16 * zoff); - vvx = a0 + c1o4*(-ax + ay - az) + c1o16*(axx - axy + axz + ayy - ayz + azz) + c1o64*( axyz); - vvy = b0 + c1o4*(-bx + by - bz) + c1o16*(bxx - bxy + bxz + byy - byz + bzz) + c1o64*( bxyz); - vvz = c0 + c1o4*(-cx + cy - cz) + c1o16*(cxx - cxy + cxz + cyy - cyz + czz) + c1o64*( cxyz); - - //mfaaa = drho; - mfaaa = press + (c2o1*axx*x+axy*y+axz*z+axyz*y*z+ax + c2o1*byy*y+bxy*x+byz*z+bxyz*x*z+by + c2o1*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/c3o1; // 1/3 = 2/3*(1/op-1/2) - - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1 - mfaaa; - - //two - // linear combinations - mxxPyyPzz = mfaaa; - mxxMyy = -c2o3*(ax - by + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - mxxMzz = -c2o3*(ax - cz + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o; - - mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - mfbab = -c1o3 * (az + cx + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - mfbba = -c1o3 * (ay + bx + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz); - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz); - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz); - - //three - // linear combinations - residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (axy + c2o1*bxx + c2o1*bzz + cyz + cxyz*x + axyz*z); - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (axy + c2o1*bxx - c2o1*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (axz + byz + c2o1*cxx + c2o1*cyy + bxyz*x + axyz*y); - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (axz - byz + c2o1*cxx - c2o1*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (c2o1*ayy + c2o1*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (c2o1*ayy - c2o1*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= k0s; - k0w = k0sw; - k0s = neighborFY[k0s]; - k0b = k0bs; - k0sw = neighborFY[k0sw]; - k0bw = k0bsw; - k0bs = neighborFY[k0bs]; - k0bsw = neighborFY[k0bsw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position NWT -0.25f, 0.25f, 0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = -c1o4; - y = c1o4; - z = c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c3o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c27o64*drho_NWT+c1o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT; - //press = press_NWT * (c27o64 + c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + - // press_NET * (c9o64 - c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - // press_SWT * (c9o64 + c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + - // press_SET * (c3o64 - c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + - // press_SEB * (c1o64 - c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + - // press_NEB * (c3o64 - c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + - // press_SWB * (c3o64 + c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - // press_NWB * (c9o64 + c3o16 * xoff - c3o16 * yoff + c9o16 * zoff); - //if(xoff!=zero || yoff!=zero || zoff!=zero) - {press=pressCenter+c1o4*(-dx+dy+dz);} - //drho = drho_NWT * (c27o64 + c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + - // drho_NET * (c9o64 - c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c9o64 + c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + - // drho_SET * (c3o64 - c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + - // drho_SEB * (c1o64 - c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + - // drho_NEB * (c3o64 - c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c3o64 + c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - // drho_NWB * (c9o64 + c3o16 * xoff - c3o16 * yoff + c9o16 * zoff); - vvx = a0 + c1o4*(-ax + ay + az) + c1o16*(axx - axy - axz + ayy + ayz + azz) + c1o64*(-axyz); - vvy = b0 + c1o4*(-bx + by + bz) + c1o16*(bxx - bxy - bxz + byy + byz + bzz) + c1o64*(-bxyz); - vvz = c0 + c1o4*(-cx + cy + cz) + c1o16*(cxx - cxy - cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - mfaaa = press + (c2o1*axx*x+axy*y+axz*z+axyz*y*z+ax + c2o1*byy*y+bxy*x+byz*z+bxyz*x*z+by + c2o1*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/c3o1; // 1/3 = 2/3*(1/op-1/2) - - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1 - mfaaa; - - //two - // linear combinations - mxxPyyPzz = mfaaa; - mxxMyy = -c2o3*(ax - by + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - mxxMzz = -c2o3*(ax - cz + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o; - - mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - mfbab = -c1o3 * (az + cx + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - mfbba = -c1o3 * (ay + bx + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz); - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz); - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz); - - //three - // linear combinations - residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (axy + c2o1*bxx + c2o1*bzz + cyz + cxyz*x + axyz*z); - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (axy + c2o1*bxx - c2o1*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (axz + byz + c2o1*cxx + c2o1*cyy + bxyz*x + axyz*y); - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (axz - byz + c2o1*cxx - c2o1*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (c2o1*ayy + c2o1*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (c2o1*ayy - c2o1*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position NET 0.25f, 0.25f, 0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = c1o4; - y = c1o4; - z = c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c9o64*drho_NEB+c27o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c1o64*drho_SWB+c3o64*drho_SWT; - //press = press_NET * (c27o64 - c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + - // press_NWT * (c9o64 + c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - // press_SET * (c9o64 - c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + - // press_SWT * (c3o64 + c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + - // press_SWB * (c1o64 + c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + - // press_NWB * (c3o64 + c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + - // press_SEB * (c3o64 - c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - // press_NEB * (c9o64 - c3o16 * xoff - c3o16 * yoff + c9o16 * zoff); - //if(xoff!=zero || yoff!=zero || zoff!=zero) - {press=pressCenter+c1o4*( dx+dy+dz);} - //drho = drho_NET * (c27o64 - c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + - // drho_NWT * (c9o64 + c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - // drho_SET * (c9o64 - c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c3o64 + c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + - // drho_SWB * (c1o64 + c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + - // drho_NWB * (c3o64 + c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c3o64 - c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - // drho_NEB * (c9o64 - c3o16 * xoff - c3o16 * yoff + c9o16 * zoff); - vvx = a0 + c1o4*( ax + ay + az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*( axyz); - vvy = b0 + c1o4*( bx + by + bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*( bxyz); - vvz = c0 + c1o4*( cx + cy + cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*( cxyz); - - //mfaaa = drho; - mfaaa = press + (c2o1*axx*x+axy*y+axz*z+axyz*y*z+ax + c2o1*byy*y+bxy*x+byz*z+bxyz*x*z+by + c2o1*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/c3o1; // 1/3 = 2/3*(1/op-1/2) - - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1 - mfaaa; - - //two - // linear combinations - mxxPyyPzz = mfaaa; - mxxMyy = -c2o3*(ax - by + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - mxxMzz = -c2o3*(ax - cz + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o; - - mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - mfbab = -c1o3 * (az + cx + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - mfbba = -c1o3 * (ay + bx + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz); - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz); - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz); - - //three - // linear combinations - residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (axy + c2o1*bxx + c2o1*bzz + cyz + cxyz*x + axyz*z); - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (axy + c2o1*bxx - c2o1*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (axz + byz + c2o1*cxx + c2o1*cyy + bxyz*x + axyz*y); - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (axz - byz + c2o1*cxx - c2o1*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (c2o1*ayy + c2o1*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (c2o1*ayy - c2o1*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position NEB 0.25f, 0.25f, -0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = c1o4; - y = c1o4; - z = -c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c27o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c1o64*drho_SWT; - //press = press_NET * (c9o64 - c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + - // press_NWT * (c3o64 + c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + - // press_SET * (c3o64 - c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - // press_SWT * (c1o64 + c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + - // press_SWB * (c3o64 + c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + - // press_NWB * (c9o64 + c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - // press_SEB * (c9o64 - c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + - // press_NEB * (c27o64 - c9o16 * xoff - c9o16 * yoff + c9o16 * zoff); - //if(xoff!=zero || yoff!=zero || zoff!=zero) - {press=pressCenter+c1o4*( dx+dy-dz);} - //drho = drho_NET * (c9o64 - c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + - // drho_NWT * (c3o64 + c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + - // drho_SET * (c3o64 - c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c1o64 + c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + - // drho_SWB * (c3o64 + c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + - // drho_NWB * (c9o64 + c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c9o64 - c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + - // drho_NEB * (c27o64 - c9o16 * xoff - c9o16 * yoff + c9o16 * zoff); - vvx = a0 + c1o4*( ax + ay - az) + c1o16*(axx + axy - axz + ayy - ayz + azz) + c1o64*(-axyz); - vvy = b0 + c1o4*( bx + by - bz) + c1o16*(bxx + bxy - bxz + byy - byz + bzz) + c1o64*(-bxyz); - vvz = c0 + c1o4*( cx + cy - cz) + c1o16*(cxx + cxy - cxz + cyy - cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - mfaaa = press + (c2o1*axx*x+axy*y+axz*z+axyz*y*z+ax + c2o1*byy*y+bxy*x+byz*z+bxyz*x*z+by + c2o1*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/c3o1; // 1/3 = 2/3*(1/op-1/2) - - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1 - mfaaa; - - //two - // linear combinations - mxxPyyPzz = mfaaa; - mxxMyy = -c2o3*(ax - by + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - mxxMzz = -c2o3*(ax - cz + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o; - - mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - mfbab = -c1o3 * (az + cx + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - mfbba = -c1o3 * (ay + bx + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz); - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz); - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz); - - //three - // linear combinations - residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (axy + c2o1*bxx + c2o1*bzz + cyz + cxyz*x + axyz*z); - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (axy + c2o1*bxx - c2o1*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (axz + byz + c2o1*cxx + c2o1*cyy + bxyz*x + axyz*y); - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (axz - byz + c2o1*cxx - c2o1*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (c2o1*ayy + c2o1*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (c2o1*ayy - c2o1*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - } -} -////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -////////////////////////////////////////////////////////////////////////// -__global__ void scaleCF_Fix_27( real* DC, - real* DF, - unsigned int* neighborCX, - unsigned int* neighborCY, - unsigned int* neighborCZ, - unsigned int* neighborFX, - unsigned int* neighborFY, - unsigned int* neighborFZ, - unsigned long long numberOfLBnodesCoarse, - unsigned long long numberOfLBnodesFine, - bool isEvenTimestep, - unsigned int* posCSWB, - unsigned int* posFSWB, - unsigned int kCF, - real omCoarse, - real omFine, - real nu, - unsigned int nxC, - unsigned int nyC, - unsigned int nxF, - unsigned int nyF, - ICellNeigh offCF) -{ - real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, - *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - - feF = &DF[dP00 * numberOfLBnodesFine]; - fwF = &DF[dM00 * numberOfLBnodesFine]; - fnF = &DF[d0P0 * numberOfLBnodesFine]; - fsF = &DF[d0M0 * numberOfLBnodesFine]; - ftF = &DF[d00P * numberOfLBnodesFine]; - fbF = &DF[d00M * numberOfLBnodesFine]; - fneF = &DF[dPP0 * numberOfLBnodesFine]; - fswF = &DF[dMM0 * numberOfLBnodesFine]; - fseF = &DF[dPM0 * numberOfLBnodesFine]; - fnwF = &DF[dMP0 * numberOfLBnodesFine]; - fteF = &DF[dP0P * numberOfLBnodesFine]; - fbwF = &DF[dM0M * numberOfLBnodesFine]; - fbeF = &DF[dP0M * numberOfLBnodesFine]; - ftwF = &DF[dM0P * numberOfLBnodesFine]; - ftnF = &DF[d0PP * numberOfLBnodesFine]; - fbsF = &DF[d0MM * numberOfLBnodesFine]; - fbnF = &DF[d0PM * numberOfLBnodesFine]; - ftsF = &DF[d0MP * numberOfLBnodesFine]; - fzeroF = &DF[d000 * numberOfLBnodesFine]; - ftneF = &DF[dPPP * numberOfLBnodesFine]; - ftswF = &DF[dMMP * numberOfLBnodesFine]; - ftseF = &DF[dPMP * numberOfLBnodesFine]; - ftnwF = &DF[dMPP * numberOfLBnodesFine]; - fbneF = &DF[dPPM * numberOfLBnodesFine]; - fbswF = &DF[dMMM * numberOfLBnodesFine]; - fbseF = &DF[dPMM * numberOfLBnodesFine]; - fbnwF = &DF[dMPM * numberOfLBnodesFine]; - - real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, *fzeroC, - *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; - - if (isEvenTimestep==true) - { - feC = &DC[dP00 * numberOfLBnodesCoarse]; - fwC = &DC[dM00 * numberOfLBnodesCoarse]; - fnC = &DC[d0P0 * numberOfLBnodesCoarse]; - fsC = &DC[d0M0 * numberOfLBnodesCoarse]; - ftC = &DC[d00P * numberOfLBnodesCoarse]; - fbC = &DC[d00M * numberOfLBnodesCoarse]; - fneC = &DC[dPP0 * numberOfLBnodesCoarse]; - fswC = &DC[dMM0 * numberOfLBnodesCoarse]; - fseC = &DC[dPM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dMP0 * numberOfLBnodesCoarse]; - fteC = &DC[dP0P * numberOfLBnodesCoarse]; - fbwC = &DC[dM0M * numberOfLBnodesCoarse]; - fbeC = &DC[dP0M * numberOfLBnodesCoarse]; - ftwC = &DC[dM0P * numberOfLBnodesCoarse]; - ftnC = &DC[d0PP * numberOfLBnodesCoarse]; - fbsC = &DC[d0MM * numberOfLBnodesCoarse]; - fbnC = &DC[d0PM * numberOfLBnodesCoarse]; - ftsC = &DC[d0MP * numberOfLBnodesCoarse]; - fzeroC = &DC[d000 * numberOfLBnodesCoarse]; - ftneC = &DC[dPPP * numberOfLBnodesCoarse]; - ftswC = &DC[dMMP * numberOfLBnodesCoarse]; - ftseC = &DC[dPMP * numberOfLBnodesCoarse]; - ftnwC = &DC[dMPP * numberOfLBnodesCoarse]; - fbneC = &DC[dPPM * numberOfLBnodesCoarse]; - fbswC = &DC[dMMM * numberOfLBnodesCoarse]; - fbseC = &DC[dPMM * numberOfLBnodesCoarse]; - fbnwC = &DC[dMPM * numberOfLBnodesCoarse]; - } - else - { - fwC = &DC[dP00 * numberOfLBnodesCoarse]; - feC = &DC[dM00 * numberOfLBnodesCoarse]; - fsC = &DC[d0P0 * numberOfLBnodesCoarse]; - fnC = &DC[d0M0 * numberOfLBnodesCoarse]; - fbC = &DC[d00P * numberOfLBnodesCoarse]; - ftC = &DC[d00M * numberOfLBnodesCoarse]; - fswC = &DC[dPP0 * numberOfLBnodesCoarse]; - fneC = &DC[dMM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dPM0 * numberOfLBnodesCoarse]; - fseC = &DC[dMP0 * numberOfLBnodesCoarse]; - fbwC = &DC[dP0P * numberOfLBnodesCoarse]; - fteC = &DC[dM0M * numberOfLBnodesCoarse]; - ftwC = &DC[dP0M * numberOfLBnodesCoarse]; - fbeC = &DC[dM0P * numberOfLBnodesCoarse]; - fbsC = &DC[d0PP * numberOfLBnodesCoarse]; - ftnC = &DC[d0MM * numberOfLBnodesCoarse]; - ftsC = &DC[d0PM * numberOfLBnodesCoarse]; - fbnC = &DC[d0MP * numberOfLBnodesCoarse]; - fzeroC = &DC[d000 * numberOfLBnodesCoarse]; - fbswC = &DC[dPPP * numberOfLBnodesCoarse]; - fbneC = &DC[dMMP * numberOfLBnodesCoarse]; - fbnwC = &DC[dPMP * numberOfLBnodesCoarse]; - fbseC = &DC[dMPP * numberOfLBnodesCoarse]; - ftswC = &DC[dPPM * numberOfLBnodesCoarse]; - ftneC = &DC[dMMM * numberOfLBnodesCoarse]; - ftnwC = &DC[dPMM * numberOfLBnodesCoarse]; - ftseC = &DC[dMPM * numberOfLBnodesCoarse]; - } - - //////////////////////////////////////////////////////////////////////////////// - const unsigned ix = threadIdx.x; // Globaler x-Index - const unsigned iy = blockIdx.x; // Globaler y-Index - const unsigned iz = blockIdx.y; // Globaler z-Index - - const unsigned nx = blockDim.x; - const unsigned ny = gridDim.x; - - const unsigned k = nx*(ny*iz + iy) + ix; - ////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////// - real eps_new = c1o2; - real omegaS = omCoarse;//-omCoarse; - real o = omFine;//-omFine; - //real op = one; - //real cu_sq; - - real xoff, yoff, zoff; - real xoff_sq, yoff_sq, zoff_sq; - - real press;//,drho,vx1,vx2,vx3; - real /*press_SWT,*/drho_SWT,vx1_SWT,vx2_SWT,vx3_SWT; - real /*press_NWT,*/drho_NWT,vx1_NWT,vx2_NWT,vx3_NWT; - real /*press_NET,*/drho_NET,vx1_NET,vx2_NET,vx3_NET; - real /*press_SET,*/drho_SET,vx1_SET,vx2_SET,vx3_SET; - real /*press_SWB,*/drho_SWB,vx1_SWB,vx2_SWB,vx3_SWB; - real /*press_NWB,*/drho_NWB,vx1_NWB,vx2_NWB,vx3_NWB; - real /*press_NEB,*/drho_NEB,vx1_NEB,vx2_NEB,vx3_NEB; - real /*press_SEB,*/drho_SEB,vx1_SEB,vx2_SEB,vx3_SEB; - real f_E,f_W,f_N,f_S,f_T,f_B,f_NE,f_SW,f_SE,f_NW,f_TE,f_BW,f_BE,f_TW,f_TN,f_BS,f_BN,f_TS,f_ZERO,f_TNE, f_TSW, f_TSE, f_TNW, f_BNE, f_BSW, f_BSE, f_BNW; - //real feq_E,feq_W,feq_N,feq_S,feq_T,feq_B,feq_NE,feq_SW,feq_SE,feq_NW,feq_TE,feq_BW,feq_BE,feq_TW,feq_TN,feq_BS,feq_BN,feq_TS,feq_ZERO,feq_TNE, feq_TSW, feq_TSE, feq_TNW, feq_BNE, feq_BSW, feq_BSE, feq_BNW; - real kxyFromfcNEQ_SWT, kyzFromfcNEQ_SWT, kxzFromfcNEQ_SWT, kxxMyyFromfcNEQ_SWT, kxxMzzFromfcNEQ_SWT; - real kxyFromfcNEQ_NWT, kyzFromfcNEQ_NWT, kxzFromfcNEQ_NWT, kxxMyyFromfcNEQ_NWT, kxxMzzFromfcNEQ_NWT; - real kxyFromfcNEQ_NET, kyzFromfcNEQ_NET, kxzFromfcNEQ_NET, kxxMyyFromfcNEQ_NET, kxxMzzFromfcNEQ_NET; - real kxyFromfcNEQ_SET, kyzFromfcNEQ_SET, kxzFromfcNEQ_SET, kxxMyyFromfcNEQ_SET, kxxMzzFromfcNEQ_SET; - real kxyFromfcNEQ_SWB, kyzFromfcNEQ_SWB, kxzFromfcNEQ_SWB, kxxMyyFromfcNEQ_SWB, kxxMzzFromfcNEQ_SWB; - real kxyFromfcNEQ_NWB, kyzFromfcNEQ_NWB, kxzFromfcNEQ_NWB, kxxMyyFromfcNEQ_NWB, kxxMzzFromfcNEQ_NWB; - real kxyFromfcNEQ_NEB, kyzFromfcNEQ_NEB, kxzFromfcNEQ_NEB, kxxMyyFromfcNEQ_NEB, kxxMzzFromfcNEQ_NEB; - real kxyFromfcNEQ_SEB, kyzFromfcNEQ_SEB, kxzFromfcNEQ_SEB, kxxMyyFromfcNEQ_SEB, kxxMzzFromfcNEQ_SEB; - real a0, ax, ay, az, axx, ayy, azz, axy, axz, ayz, b0, bx, by, bz, bxx, byy, bzz, bxy, bxz, byz, c0, cx, cy, cz, cxx, cyy, czz, cxy, cxz, cyz, axyz, bxyz, cxyz; - real d0, dx, dy, dz, dxy, dxz, dyz, dxyz; - - real x,y,z; - - - if(k<kCF) - { - ////////////////////////////////////////////////////////////////////////// - xoff = offCF.x[k]; - yoff = offCF.y[k]; - zoff = offCF.z[k]; - xoff_sq = xoff * xoff; - yoff_sq = yoff * yoff; - zoff_sq = zoff * zoff; - ////////////////////////////////////////////////////////////////////////// - //SWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - unsigned int k0zero= posCSWB[k]; - unsigned int k0w = neighborCX[k0zero]; - unsigned int k0s = neighborCY[k0zero]; - unsigned int k0b = neighborCZ[k0zero]; - unsigned int k0sw = neighborCY[k0w]; - unsigned int k0bw = neighborCZ[k0w]; - unsigned int k0bs = neighborCZ[k0s]; - unsigned int k0bsw = neighborCZ[k0sw]; - ////////////////////////////////////////////////////////////////////////// - //index - unsigned int kzero= k0zero; - unsigned int kw = k0w; - unsigned int ks = k0s; - unsigned int kb = k0b; - unsigned int ksw = k0sw; - unsigned int kbw = k0bw; - unsigned int kbs = k0bs; - unsigned int kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - //vx1_SWB = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_SWB = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_SWB = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_SWB = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_SWB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_SWB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_SWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - //press_SWB= (f_E+f_W+f_N+f_S+f_T+f_B+two*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+three*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)- - // drho_SWB-(vx1_SWB*vx1_SWB+vx2_SWB*vx2_SWB+vx3_SWB*vx3_SWB)* (one+drho_SWB)) * c1o2+drho_SWB; - - kxyFromfcNEQ_SWB = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SWB*vx2_SWB)); - kyzFromfcNEQ_SWB = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_SWB*vx3_SWB)); - kxzFromfcNEQ_SWB = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_SWB*vx3_SWB)); - kxxMyyFromfcNEQ_SWB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_SWB*vx1_SWB-vx2_SWB*vx2_SWB)); - kxxMzzFromfcNEQ_SWB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_SWB*vx1_SWB-vx3_SWB*vx3_SWB)); - - ////////////////////////////////////////////////////////////////////////// - //SWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborCZ[kb]; - ksw = kbsw; - kbw = neighborCZ[kbw]; - kbs = neighborCZ[kbs]; - kbsw = neighborCZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - //vx1_SWT = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_SWT = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_SWT = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_SWT = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_SWT = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_SWT = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_SWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - //press_SWT= (f_E+f_W+f_N+f_S+f_T+f_B+two*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+three*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)- - // drho_SWT-(vx1_SWT*vx1_SWT+vx2_SWT*vx2_SWT+vx3_SWT*vx3_SWT)* (one+drho_SWT)) * c1o2+drho_SWT; - - kxyFromfcNEQ_SWT = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SWT*vx2_SWT)); - kyzFromfcNEQ_SWT = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_SWT*vx3_SWT)); - kxzFromfcNEQ_SWT = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_SWT*vx3_SWT)); - kxxMyyFromfcNEQ_SWT = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_SWT*vx1_SWT-vx2_SWT*vx2_SWT)); - kxxMzzFromfcNEQ_SWT = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_SWT*vx1_SWT-vx3_SWT*vx3_SWT)); - - ////////////////////////////////////////////////////////////////////////// - //SET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborCX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborCX[ksw]; - kbw = neighborCX[kbw]; - kbs = kbsw; - kbsw = neighborCX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - //vx1_SET = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_SET = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_SET = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_SET = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_SET = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_SET = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_SET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - //press_SET= (f_E+f_W+f_N+f_S+f_T+f_B+two*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+three*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)- - // drho_SET-(vx1_SET*vx1_SET+vx2_SET*vx2_SET+vx3_SET*vx3_SET)* (one+drho_SET)) * c1o2+drho_SET; - - kxyFromfcNEQ_SET = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SET*vx2_SET)); - kyzFromfcNEQ_SET = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_SET*vx3_SET)); - kxzFromfcNEQ_SET = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_SET*vx3_SET)); - kxxMyyFromfcNEQ_SET = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_SET*vx1_SET-vx2_SET*vx2_SET)); - kxxMzzFromfcNEQ_SET = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_SET*vx1_SET-vx3_SET*vx3_SET)); - - ////////////////////////////////////////////////////////////////////////// - //SEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborCX[k0w]; - ks = k0sw; - ksw = neighborCX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - //vx1_SEB = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_SEB = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_SEB = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_SEB = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_SEB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_SEB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_SEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - //press_SEB= (f_E+f_W+f_N+f_S+f_T+f_B+two*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+three*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)- - // drho_SEB-(vx1_SEB*vx1_SEB+vx2_SEB*vx2_SEB+vx3_SEB*vx3_SEB)* (one+drho_SEB)) * c1o2+drho_SEB; - - kxyFromfcNEQ_SEB = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SEB*vx2_SEB)); - kyzFromfcNEQ_SEB = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_SEB*vx3_SEB)); - kxzFromfcNEQ_SEB = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_SEB*vx3_SEB)); - kxxMyyFromfcNEQ_SEB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_SEB*vx1_SEB-vx2_SEB*vx2_SEB)); - kxxMzzFromfcNEQ_SEB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_SEB*vx1_SEB-vx3_SEB*vx3_SEB)); - - ////////////////////////////////////////////////////////////////////////// - //NWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= k0s; - k0w = k0sw; - k0s = neighborCY[k0s]; - k0b = k0bs; - k0sw = neighborCY[k0sw]; - k0bw = k0bsw; - k0bs = neighborCY[k0bs]; - k0bsw = neighborCY[k0bsw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - //vx1_NWB = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_NWB = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_NWB = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_NWB = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_NWB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_NWB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_NWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - //press_NWB= (f_E+f_W+f_N+f_S+f_T+f_B+2.f*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+3.f*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)- - // drho_NWB-(vx1_NWB*vx1_NWB+vx2_NWB*vx2_NWB+vx3_NWB*vx3_NWB)* (1.+drho_NWB)) * 0.5f+drho_NWB; - - kxyFromfcNEQ_NWB = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NWB*vx2_NWB)); - kyzFromfcNEQ_NWB = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_NWB*vx3_NWB)); - kxzFromfcNEQ_NWB = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_NWB*vx3_NWB)); - kxxMyyFromfcNEQ_NWB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_NWB*vx1_NWB-vx2_NWB*vx2_NWB)); - kxxMzzFromfcNEQ_NWB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_NWB*vx1_NWB-vx3_NWB*vx3_NWB)); - - ////////////////////////////////////////////////////////////////////////// - //NWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborCZ[kb]; - ksw = kbsw; - kbw = neighborCZ[kbw]; - kbs = neighborCZ[kbs]; - kbsw = neighborCZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - //vx1_NWT = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_NWT = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_NWT = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_NWT = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_NWT = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_NWT = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_NWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - //press_NWT= (f_E+f_W+f_N+f_S+f_T+f_B+two*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+three*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)- - // drho_NWT-(vx1_NWT*vx1_NWT+vx2_NWT*vx2_NWT+vx3_NWT*vx3_NWT)* (one+drho_NWT)) * c1o2+drho_NWT; - - kxyFromfcNEQ_NWT = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NWT*vx2_NWT)); - kyzFromfcNEQ_NWT = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_NWT*vx3_NWT)); - kxzFromfcNEQ_NWT = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_NWT*vx3_NWT)); - kxxMyyFromfcNEQ_NWT = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_NWT*vx1_NWT-vx2_NWT*vx2_NWT)); - kxxMzzFromfcNEQ_NWT = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_NWT*vx1_NWT-vx3_NWT*vx3_NWT)); - - ////////////////////////////////////////////////////////////////////////// - //NET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborCX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborCX[ksw]; - kbw = neighborCX[kbw]; - kbs = kbsw; - kbsw = neighborCX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - //vx1_NET = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_NET = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_NET = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_NET = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_NET = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_NET = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_NET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - //press_NET= (f_E+f_W+f_N+f_S+f_T+f_B+two*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+three*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)- - // drho_NET-(vx1_NET*vx1_NET+vx2_NET*vx2_NET+vx3_NET*vx3_NET)* (one+drho_NET)) * c1o2+drho_NET; - - kxyFromfcNEQ_NET = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NET*vx2_NET)); - kyzFromfcNEQ_NET = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_NET*vx3_NET)); - kxzFromfcNEQ_NET = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_NET*vx3_NET)); - kxxMyyFromfcNEQ_NET = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_NET*vx1_NET-vx2_NET*vx2_NET)); - kxxMzzFromfcNEQ_NET = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_NET*vx1_NET-vx3_NET*vx3_NET)); - - ////////////////////////////////////////////////////////////////////////// - //NEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborCX[k0w]; - ks = k0sw; - ksw = neighborCX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - //vx1_NEB = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_NEB = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_NEB = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_NEB = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_NEB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_NEB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_NEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - //press_NEB= (f_E+f_W+f_N+f_S+f_T+f_B+two*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+three*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)- - // drho_NEB-(vx1_NEB*vx1_NEB+vx2_NEB*vx2_NEB+vx3_NEB*vx3_NEB)* (one+drho_NEB)) * c1o2+drho_NEB; - - kxyFromfcNEQ_NEB = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NEB*vx2_NEB)); - kyzFromfcNEQ_NEB = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_NEB*vx3_NEB)); - kxzFromfcNEQ_NEB = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_NEB*vx3_NEB)); - kxxMyyFromfcNEQ_NEB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_NEB*vx1_NEB-vx2_NEB*vx2_NEB)); - kxxMzzFromfcNEQ_NEB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_NEB*vx1_NEB-vx3_NEB*vx3_NEB)); - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // kxyFromfcNEQ_SWB = zero; - //kyzFromfcNEQ_SWB = zero; - //kxzFromfcNEQ_SWB = zero; - //kxxMyyFromfcNEQ_SWB = zero; - //kxxMzzFromfcNEQ_SWB = zero; - //kxyFromfcNEQ_SWT = zero; - //kyzFromfcNEQ_SWT = zero; - //kxzFromfcNEQ_SWT = zero; - //kxxMyyFromfcNEQ_SWT = zero; - //kxxMzzFromfcNEQ_SWT = zero; - //kxyFromfcNEQ_SET = zero; - //kyzFromfcNEQ_SET = zero; - //kxzFromfcNEQ_SET = zero; - //kxxMyyFromfcNEQ_SET = zero; - //kxxMzzFromfcNEQ_SET = zero; - //kxyFromfcNEQ_SEB = zero; - //kyzFromfcNEQ_SEB = zero; - //kxzFromfcNEQ_SEB = zero; - //kxxMyyFromfcNEQ_SEB = zero; - //kxxMzzFromfcNEQ_SEB = zero; - //kxyFromfcNEQ_NWB = zero; - //kyzFromfcNEQ_NWB = zero; - //kxzFromfcNEQ_NWB = zero; - //kxxMyyFromfcNEQ_NWB = zero; - //kxxMzzFromfcNEQ_NWB = zero; - //kxyFromfcNEQ_NWT = zero; - //kyzFromfcNEQ_NWT = zero; - //kxzFromfcNEQ_NWT = zero; - //kxxMyyFromfcNEQ_NWT = zero; - //kxxMzzFromfcNEQ_NWT = zero; - //kxyFromfcNEQ_NET = zero; - //kyzFromfcNEQ_NET = zero; - //kxzFromfcNEQ_NET = zero; - //kxxMyyFromfcNEQ_NET = zero; - //kxxMzzFromfcNEQ_NET = zero; - //kxyFromfcNEQ_NEB = zero; - //kyzFromfcNEQ_NEB = zero; - //kxzFromfcNEQ_NEB = zero; - //kxxMyyFromfcNEQ_NEB = zero; - //kxxMzzFromfcNEQ_NEB = zero; - ////////////////////////////////////////////////////////////////////////// - //3 - ////////////////////////////////////////////////////////////////////////// - a0 = (-kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT - - kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - - kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - - c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET - c2o1*kxyFromfcNEQ_NWB - c2o1*kxyFromfcNEQ_NWT + - c2o1*kxyFromfcNEQ_SEB + c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + - c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB - c2o1*kxzFromfcNEQ_NWT + - c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB - c2o1*kxzFromfcNEQ_SWT + - c8o1*vx1_NEB + c8o1*vx1_NET + c8o1*vx1_NWB + c8o1*vx1_NWT + c8o1*vx1_SEB + - c8o1*vx1_SET + c8o1*vx1_SWB + c8o1*vx1_SWT + c2o1*vx2_NEB + c2o1*vx2_NET - - c2o1*vx2_NWB - c2o1*vx2_NWT - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + - c2o1*vx2_SWT - c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - - c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1; - b0 = (c2o1*kxxMyyFromfcNEQ_NEB + c2o1*kxxMyyFromfcNEQ_NET + c2o1*kxxMyyFromfcNEQ_NWB + c2o1*kxxMyyFromfcNEQ_NWT - - c2o1*kxxMyyFromfcNEQ_SEB - c2o1*kxxMyyFromfcNEQ_SET - c2o1*kxxMyyFromfcNEQ_SWB - c2o1*kxxMyyFromfcNEQ_SWT - - kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - - c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET + c2o1*kxyFromfcNEQ_NWB + c2o1*kxyFromfcNEQ_NWT - - c2o1*kxyFromfcNEQ_SEB - c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + - c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET + c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + - c2o1*kyzFromfcNEQ_SEB - c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB - c2o1*kyzFromfcNEQ_SWT + - c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT + - c8o1*vx2_NEB + c8o1*vx2_NET + c8o1*vx2_NWB + c8o1*vx2_NWT + - c8o1*vx2_SEB + c8o1*vx2_SET + c8o1*vx2_SWB + c8o1*vx2_SWT - - c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + - c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1; - - //b0 = ((eight*vx2_NEB + eight*vx2_SWT) + (eight*vx2_NET + eight*vx2_SWB) + (eight*vx2_NWB + eight*vx2_SET) + (eight*vx2_NWT + eight*vx2_SEB))/sixtyfour; - - c0 = (kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT - - c2o1*kxxMzzFromfcNEQ_NEB + c2o1*kxxMzzFromfcNEQ_NET - c2o1*kxxMzzFromfcNEQ_NWB + c2o1*kxxMzzFromfcNEQ_NWT - - c2o1*kxxMzzFromfcNEQ_SEB + c2o1*kxxMzzFromfcNEQ_SET - c2o1*kxxMzzFromfcNEQ_SWB + c2o1*kxxMzzFromfcNEQ_SWT - - c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB + c2o1*kxzFromfcNEQ_NWT - - c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB + c2o1*kxzFromfcNEQ_SWT - - c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET - c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + - c2o1*kyzFromfcNEQ_SEB + c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB + c2o1*kyzFromfcNEQ_SWT - - c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - - c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT + - c8o1*vx3_NEB + c8o1*vx3_NET + c8o1*vx3_NWB + c8o1*vx3_NWT + - c8o1*vx3_SEB + c8o1*vx3_SET + c8o1*vx3_SWB + c8o1*vx3_SWT)/c64o1; - ax = (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT + vx1_SEB + vx1_SET - vx1_SWB - vx1_SWT)/c4o1; - bx = (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT + vx2_SEB + vx2_SET - vx2_SWB - vx2_SWT)/c4o1; - //bx = ((vx2_NEB - vx2_SWT) + (vx2_NET - vx2_SWB) + (vx2_SET - vx2_NWB) + (vx2_SEB - vx2_NWT))/four; - cx = (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT + vx3_SEB + vx3_SET - vx3_SWB - vx3_SWT)/c4o1; - axx= (kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT + - kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + - c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB - c2o1*vx2_NWT - - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + c2o1*vx2_SWT - - c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - - c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1; - bxx= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET - kxyFromfcNEQ_NWB - kxyFromfcNEQ_NWT + - kxyFromfcNEQ_SEB + kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - - c2o1*vx1_NEB - c2o1*vx1_NET + c2o1*vx1_NWB + c2o1*vx1_NWT + - c2o1*vx1_SEB + c2o1*vx1_SET - c2o1*vx1_SWB - c2o1*vx1_SWT)/c8o1; - cxx= (kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB - kxzFromfcNEQ_NWT + - kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB - kxzFromfcNEQ_SWT + - c2o1*vx1_NEB - c2o1*vx1_NET - c2o1*vx1_NWB + c2o1*vx1_NWT + - c2o1*vx1_SEB - c2o1*vx1_SET - c2o1*vx1_SWB + c2o1*vx1_SWT)/c8o1; - ay = (vx1_NEB + vx1_NET + vx1_NWB + vx1_NWT - vx1_SEB - vx1_SET - vx1_SWB - vx1_SWT)/c4o1; - by = (vx2_NEB + vx2_NET + vx2_NWB + vx2_NWT - vx2_SEB - vx2_SET - vx2_SWB - vx2_SWT)/c4o1; - cy = (vx3_NEB + vx3_NET + vx3_NWB + vx3_NWT - vx3_SEB - vx3_SET - vx3_SWB - vx3_SWT)/c4o1; - ayy= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET + kxyFromfcNEQ_NWB + kxyFromfcNEQ_NWT - - kxyFromfcNEQ_SEB - kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - - c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB + c2o1*vx2_NWT + - c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB - c2o1*vx2_SWT)/c8o1; - byy= (-c2o1*kxxMyyFromfcNEQ_NEB - c2o1*kxxMyyFromfcNEQ_NET - c2o1*kxxMyyFromfcNEQ_NWB - c2o1*kxxMyyFromfcNEQ_NWT + - c2o1*kxxMyyFromfcNEQ_SEB + c2o1*kxxMyyFromfcNEQ_SET + c2o1*kxxMyyFromfcNEQ_SWB + c2o1*kxxMyyFromfcNEQ_SWT + - kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - - kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + - c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT - - c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + - c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1; - cyy= (kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET + kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - - kyzFromfcNEQ_SEB - kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB - kyzFromfcNEQ_SWT + - c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB - c2o1*vx2_NWT - - c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB + c2o1*vx2_SWT)/c8o1; - az = (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT - vx1_SEB + vx1_SET - vx1_SWB + vx1_SWT)/c4o1; - //bz = (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT - vx2_SEB + vx2_SET - vx2_SWB + vx2_SWT)/four; - bz = ((vx2_SWT - vx2_NEB) + (vx2_NET - vx2_SWB) + (vx2_SET - vx2_NWB) + (vx2_NWT - vx2_SEB))/c4o1; - cz = (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT - vx3_SEB + vx3_SET - vx3_SWB + vx3_SWT)/c4o1; - azz= (-kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB + kxzFromfcNEQ_NWT - - kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB + kxzFromfcNEQ_SWT + - c2o1*vx3_NEB - c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + - c2o1*vx3_SEB - c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1; - bzz= (-kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET - kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - - kyzFromfcNEQ_SEB + kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB + kyzFromfcNEQ_SWT + - c2o1*vx3_NEB - c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - - c2o1*vx3_SEB + c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1; - czz= (-kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT + - c2o1*kxxMzzFromfcNEQ_NEB - c2o1*kxxMzzFromfcNEQ_NET + c2o1*kxxMzzFromfcNEQ_NWB - c2o1*kxxMzzFromfcNEQ_NWT + - c2o1*kxxMzzFromfcNEQ_SEB - c2o1*kxxMzzFromfcNEQ_SET + c2o1*kxxMzzFromfcNEQ_SWB - c2o1*kxxMzzFromfcNEQ_SWT - - c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - - c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT)/c16o1; - axy= (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT - vx1_SEB - vx1_SET + vx1_SWB + vx1_SWT)/c2o1; - bxy= (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT - vx2_SEB - vx2_SET + vx2_SWB + vx2_SWT)/c2o1; - cxy= (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT - vx3_SEB - vx3_SET + vx3_SWB + vx3_SWT)/c2o1; - axz= (-vx1_NEB + vx1_NET + vx1_NWB - vx1_NWT - vx1_SEB + vx1_SET + vx1_SWB - vx1_SWT)/c2o1; - bxz= (-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT - vx2_SEB + vx2_SET + vx2_SWB - vx2_SWT)/c2o1; - cxz= (-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT - vx3_SEB + vx3_SET + vx3_SWB - vx3_SWT)/c2o1; - ayz= (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT + vx1_SEB - vx1_SET + vx1_SWB - vx1_SWT)/c2o1; - byz= (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT + vx2_SEB - vx2_SET + vx2_SWB - vx2_SWT)/c2o1; - cyz= (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT + vx3_SEB - vx3_SET + vx3_SWB - vx3_SWT)/c2o1; - axyz=-vx1_NEB + vx1_NET + vx1_NWB - vx1_NWT + vx1_SEB - vx1_SET - vx1_SWB + vx1_SWT; - bxyz=-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT + vx2_SEB - vx2_SET - vx2_SWB + vx2_SWT; - cxyz=-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT + vx3_SEB - vx3_SET - vx3_SWB + vx3_SWT; - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real kxyAverage =(kxyFromfcNEQ_SWB+ - kxyFromfcNEQ_SWT+ - kxyFromfcNEQ_SET+ - kxyFromfcNEQ_SEB+ - kxyFromfcNEQ_NWB+ - kxyFromfcNEQ_NWT+ - kxyFromfcNEQ_NET+ - kxyFromfcNEQ_NEB)*c1o8-(ay+bx); - real kyzAverage =(kyzFromfcNEQ_SWB+ - kyzFromfcNEQ_SWT+ - kyzFromfcNEQ_SET+ - kyzFromfcNEQ_SEB+ - kyzFromfcNEQ_NWB+ - kyzFromfcNEQ_NWT+ - kyzFromfcNEQ_NET+ - kyzFromfcNEQ_NEB)*c1o8-(bz+cy); - real kxzAverage =(kxzFromfcNEQ_SWB+ - kxzFromfcNEQ_SWT+ - kxzFromfcNEQ_SET+ - kxzFromfcNEQ_SEB+ - kxzFromfcNEQ_NWB+ - kxzFromfcNEQ_NWT+ - kxzFromfcNEQ_NET+ - kxzFromfcNEQ_NEB)*c1o8-(az+cx); - real kxxMyyAverage =(kxxMyyFromfcNEQ_SWB+ - kxxMyyFromfcNEQ_SWT+ - kxxMyyFromfcNEQ_SET+ - kxxMyyFromfcNEQ_SEB+ - kxxMyyFromfcNEQ_NWB+ - kxxMyyFromfcNEQ_NWT+ - kxxMyyFromfcNEQ_NET+ - kxxMyyFromfcNEQ_NEB)*c1o8-(ax-by); - real kxxMzzAverage =(kxxMzzFromfcNEQ_SWB+ - kxxMzzFromfcNEQ_SWT+ - kxxMzzFromfcNEQ_SET+ - kxxMzzFromfcNEQ_SEB+ - kxxMzzFromfcNEQ_NWB+ - kxxMzzFromfcNEQ_NWT+ - kxxMzzFromfcNEQ_NET+ - kxxMzzFromfcNEQ_NEB)*c1o8-(ax-cz); - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //Press - //d0 = ( press_NEB + press_NET + press_NWB + press_NWT + press_SEB + press_SET + press_SWB + press_SWT) * c1o8; - //dx = ( press_NEB + press_NET - press_NWB - press_NWT + press_SEB + press_SET - press_SWB - press_SWT) * c1o4; - //dy = ( press_NEB + press_NET + press_NWB + press_NWT - press_SEB - press_SET - press_SWB - press_SWT) * c1o4; - //dz = (-press_NEB + press_NET - press_NWB + press_NWT - press_SEB + press_SET - press_SWB + press_SWT) * c1o4; - //dxy = ( press_NEB + press_NET - press_NWB - press_NWT - press_SEB - press_SET + press_SWB + press_SWT) * c1o2; - //dxz = (-press_NEB + press_NET + press_NWB - press_NWT - press_SEB + press_SET + press_SWB - press_SWT) * c1o2; - //dyz = (-press_NEB + press_NET - press_NWB + press_NWT + press_SEB - press_SET + press_SWB - press_SWT) * c1o2; - //dxyz = -press_NEB + press_NET + press_NWB - press_NWT + press_SEB - press_SET - press_SWB + press_SWT; - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho - d0 = ( drho_NEB + drho_NET + drho_NWB + drho_NWT + drho_SEB + drho_SET + drho_SWB + drho_SWT) * c1o8; - dx = ( drho_NEB + drho_NET - drho_NWB - drho_NWT + drho_SEB + drho_SET - drho_SWB - drho_SWT) * c1o4; - dy = ( drho_NEB + drho_NET + drho_NWB + drho_NWT - drho_SEB - drho_SET - drho_SWB - drho_SWT) * c1o4; - dz = (-drho_NEB + drho_NET - drho_NWB + drho_NWT - drho_SEB + drho_SET - drho_SWB + drho_SWT) * c1o4; - dxy = ( drho_NEB + drho_NET - drho_NWB - drho_NWT - drho_SEB - drho_SET + drho_SWB + drho_SWT) * c1o2; - dxz = (-drho_NEB + drho_NET + drho_NWB - drho_NWT - drho_SEB + drho_SET + drho_SWB - drho_SWT) * c1o2; - dyz = (-drho_NEB + drho_NET - drho_NWB + drho_NWT + drho_SEB - drho_SET + drho_SWB - drho_SWT) * c1o2; - dxyz = -drho_NEB + drho_NET + drho_NWB - drho_NWT + drho_SEB - drho_SET - drho_SWB + drho_SWT; - // d0 = zero; - //dx = zero; - //dy = zero; - //dz = zero; - //dxy = zero; - //dxz = zero; - //dyz = zero; - //dxyz = zero; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - // Bernd das Brot - // - // X------X - // | | x---x - // | ---+-+-> | ----> off-vector - // | | x---x - // X------X - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - a0 = a0 + xoff * ax + yoff * ay + zoff * az + xoff_sq * axx + yoff_sq * ayy + zoff_sq * azz + xoff*yoff*axy + xoff*zoff*axz + yoff*zoff*ayz; - ax = ax + c2o1 * xoff * axx + yoff * axy + zoff * axz; - ay = ay + c2o1 * yoff * ayy + xoff * axy + zoff * ayz; - az = az + c2o1 * zoff * azz + xoff * axz + yoff * ayz; - b0 = b0 + xoff * bx + yoff * by + zoff * bz + xoff_sq * bxx + yoff_sq * byy + zoff_sq * bzz + xoff*yoff*bxy + xoff*zoff*bxz + yoff*zoff*byz; - bx = bx + c2o1 * xoff * bxx + yoff * bxy + zoff * bxz; - by = by + c2o1 * yoff * byy + xoff * bxy + zoff * byz; - bz = bz + c2o1 * zoff * bzz + xoff * bxz + yoff * byz; - c0 = c0 + xoff * cx + yoff * cy + zoff * cz + xoff_sq * cxx + yoff_sq * cyy + zoff_sq * czz + xoff*yoff*cxy + xoff*zoff*cxz + yoff*zoff*cyz; - cx = cx + c2o1 * xoff * cxx + yoff * cxy + zoff * cxz; - cy = cy + c2o1 * yoff * cyy + xoff * cxy + zoff * cyz; - cz = cz + c2o1 * zoff * czz + xoff * cxz + yoff * cyz; - d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz; - dx = dx + yoff * dxy + zoff * dxz; - dy = dy + xoff * dxy + zoff * dyz; - dz = dz + xoff * dxz + yoff * dyz; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // FIX /////////////////////////////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //AAAAAAAAAAAAHHHHHHHHHHHH!!!!! Mieser Test!!! - //b0= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz= c0= cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero; - //a0=zero; - //ax=zero; - //ay=zero; - //az=zero; - //axx=zero; - //ayy=zero; - //azz=zero; - //axy=zero; - //axz=zero; - //ayz=zero; - //b0=zero; - //bx=zero; - //by=zero; - //bz=zero; - //bxx=zero; - //byy=zero; - //bzz=zero; - //bxy=zero; - //bxz=zero; - //byz=zero; - //c0=zero; - //cx=zero; - //cy=zero; - //cz=zero; - //cxx=zero; - //cyy=zero; - //czz=zero; - //cxy=zero; - //cxz=zero; - //cyz=zero; - //axyz=zero; - //bxyz=zero; - //cxyz=zero; - //ax= ay= az= axx= ayy= azz= axy= axz= ayz= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz= cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero; - //a0=zero; - //b0=zero; - //c0=c1o100; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = c0o1; - real mfabb = c0o1; - real mfbcb = c0o1; - real mfbab = c0o1; - real mfbbc = c0o1; - real mfbba = c0o1; - real mfccb = c0o1; - real mfaab = c0o1; - real mfcab = c0o1; - real mfacb = c0o1; - real mfcbc = c0o1; - real mfaba = c0o1; - real mfcba = c0o1; - real mfabc = c0o1; - real mfbcc = c0o1; - real mfbaa = c0o1; - real mfbca = c0o1; - real mfbac = c0o1; - real mfbbb = c0o1; - real mfccc = c0o1; - real mfaac = c0o1; - real mfcac = c0o1; - real mfacc = c0o1; - real mfcca = c0o1; - real mfaaa = c0o1; - real mfcaa = c0o1; - real mfaca = c0o1; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real m0, m1, m2, vvx, vvy, vvz, vx2, vy2, vz2, oMdrho; - real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz; - //real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein - //real O3 = two - o; - //real residu, residutmp; - //residutmp = zero;// /*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new; - real NeqOn = c1o1;//zero;//one; //.... one = on ..... zero = off - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position SWB -0.25f, -0.25f, -0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = -c1o4; - y = -c1o4; - z = -c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //real mxoff = -xoff; - //real myoff = -yoff; - //real mzoff = -zoff; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c3o64*drho_NEB+c1o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c27o64*drho_SWB+c9o64*drho_SWT; - //press = press_SWT * (c9o64 + c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + - // press_NWT * (c3o64 + c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + - // press_SET * (c3o64 - c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + - // press_NET * (c1o64 - c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + - // press_NEB * (c3o64 - c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + - // press_NWB * (c9o64 + c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c9o64 - c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c27o64 + c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff); - //drho = drho_SWT * (c9o64 + c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + - // drho_NWT * (c3o64 + c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - // drho_SET * (c3o64 - c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + - // drho_NET * (c1o64 - c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + - // drho_NEB * (c3o64 - c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + - // drho_NWB * (c9o64 + c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c9o64 - c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c27o64 + c9o16 * xoff + c9o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz; - vvx = a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz; - vvy = b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz; - vvz = c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz; - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1 - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa; - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o; - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0o1; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0o1; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0o1; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0o1; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0o1; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0o1; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0o1; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= posFSWB[k]; - k0w = neighborFX[k0zero]; - k0s = neighborFY[k0zero]; - k0b = neighborFZ[k0zero]; - k0sw = neighborFY[k0w]; - k0bw = neighborFZ[k0w]; - k0bs = neighborFZ[k0s]; - k0bsw = neighborFZ[k0sw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position SWT -0.25f, -0.25f, 0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = -c1o4; - y = -c1o4; - z = c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c1o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c27o64*drho_SWT; - //press = press_SWT * (c27o64 + c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + - // press_NWT * (c9o64 + c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + - // press_SET * (c9o64 - c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + - // press_NET * (c3o64 - c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + - // press_NEB * (c1o64 - c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + - // press_NWB * (c3o64 + c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c3o64 - c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c9o64 + c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff); - //drho = drho_SWT * (c27o64 + c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + - // drho_NWT * (c9o64 + c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + - // drho_SET * (c9o64 - c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - // drho_NET * (c3o64 - c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + - // drho_NEB * (c1o64 - c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + - // drho_NWB * (c3o64 + c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c3o64 - c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c9o64 + c3o16 * xoff + c3o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz; - vvx = a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz; - vvy = b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz; - vvz = c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz; - //vvx = a0 + c1o4*(-ax - ay + az) + c1o16*(axx + axy - axz + ayy - ayz + azz) + c1o64*( axyz); - //vvy = b0 + c1o4*(-bx - by + bz) + c1o16*(bxx + bxy - bxz + byy - byz + bzz) + c1o64*( bxyz); - //vvz = c0 + c1o4*(-cx - cy + cz) + c1o16*(cxx + cxy - cxz + cyy - cyz + czz) + c1o64*( cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1 - mfaaa; - - //two - // linear combinations - mxxPyyPzz = mfaaa; - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o; - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0o1; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0o1; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0o1; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0o1; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0o1; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0o1; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0o1; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position SET 0.25f, -0.25f, 0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = c1o4; - y = -c1o4; - z = c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho =c3o64*drho_NEB+c9o64*drho_NET+c1o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c27o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT; - //press = press_SET * (c27o64 - c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + - // press_NET * (c9o64 - c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c9o64 + c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + - // press_NWT * (c3o64 + c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + - // press_NWB * (c1o64 + c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + - // press_NEB * (c3o64 - c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c3o64 + c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c9o64 - c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff); - //drho = drho_SET * (c27o64 - c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + - // drho_NET * (c9o64 - c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c9o64 + c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - // drho_NWT * (c3o64 + c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + - // drho_NWB * (c1o64 + c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + - // drho_NEB * (c3o64 - c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c3o64 + c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c9o64 - c3o16 * xoff + c3o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz; - vvx = a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz; - vvy = b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz; - vvz = c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz; - //vvx = a0 + c1o4*( ax - ay + az) + c1o16*(axx - axy + axz + ayy - ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*( bx - by + bz) + c1o16*(bxx - bxy + bxz + byy - byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*( cx - cy + cz) + c1o16*(cxx - cxy + cxz + cyy - cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1 - mfaaa; - - //two - // linear combinations - mxxPyyPzz = mfaaa; - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o; - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0o1; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0o1; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0o1; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0o1; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0o1; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0o1; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0o1; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position SEB 0.25f, -0.25f, -0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = c1o4; - y = -c1o4; - z = -c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho =c9o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c1o64*drho_NWT+c27o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT; - //press = press_SET * (c9o64 - c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + - // press_NET * (c3o64 - c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c3o64 + c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + - // press_NWT * (c1o64 + c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + - // press_NWB * (c3o64 + c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + - // press_NEB * (c9o64 - c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c9o64 + c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c27o64 - c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff); - //drho = drho_SET * (c9o64 - c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + - // drho_NET * (c3o64 - c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c3o64 + c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + - // drho_NWT * (c1o64 + c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + - // drho_NWB * (c3o64 + c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + - // drho_NEB * (c9o64 - c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c9o64 + c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c27o64 - c9o16 * xoff + c9o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz; - vvx = a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz; - vvy = b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz; - vvz = c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz; - //vvx = a0 + c1o4*( ax - ay - az) + c1o16*(axx - axy - axz + ayy + ayz + azz) + c1o64*( axyz); - //vvy = b0 + c1o4*( bx - by - bz) + c1o16*(bxx - bxy - bxz + byy + byz + bzz) + c1o64*( bxyz); - //vvz = c0 + c1o4*( cx - cy - cz) + c1o16*(cxx - cxy - cxz + cyy + cyz + czz) + c1o64*( cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1 - mfaaa; - - //two - // linear combinations - mxxPyyPzz = mfaaa; - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o; - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0o1; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0o1; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0o1; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0o1; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0o1; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0o1; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0o1; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position NWB -0.25f, 0.25f, -0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = -c1o4; - y = c1o4; - z = -c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c9o64*drho_NEB+c3o64*drho_NET+c27o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c1o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT; - //press = press_NWT * (c9o64 + c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + - // press_NET * (c3o64 - c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c3o64 + c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + - // press_SET * (c1o64 - c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + - // press_SEB * (c3o64 - c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + - // press_NEB * (c9o64 - c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c9o64 + c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + - // press_NWB * (c27o64 + c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff); - //drho = drho_NWT * (c9o64 + c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + - // drho_NET * (c3o64 - c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c3o64 + c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - // drho_SET * (c1o64 - c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + - // drho_SEB * (c3o64 - c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + - // drho_NEB * (c9o64 - c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c9o64 + c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + - // drho_NWB * (c27o64 + c9o16 * xoff - c9o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz; - vvx = a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz; - vvy = b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz; - vvz = c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz; - //vvx = a0 + c1o4*(-ax + ay - az) + c1o16*(axx - axy + axz + ayy - ayz + azz) + c1o64*( axyz); - //vvy = b0 + c1o4*(-bx + by - bz) + c1o16*(bxx - bxy + bxz + byy - byz + bzz) + c1o64*( bxyz); - //vvz = c0 + c1o4*(-cx + cy - cz) + c1o16*(cxx - cxy + cxz + cyy - cyz + czz) + c1o64*( cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1 - mfaaa; - - //two - // linear combinations - mxxPyyPzz = mfaaa; - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o; - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0o1; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0o1; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0o1; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0o1; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0o1; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0o1; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0o1; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= k0s; - k0w = k0sw; - k0s = neighborFY[k0s]; - k0b = k0bs; - k0sw = neighborFY[k0sw]; - k0bw = k0bsw; - k0bs = neighborFY[k0bs]; - k0bsw = neighborFY[k0bsw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position NWT -0.25f, 0.25f, 0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = -c1o4; - y = c1o4; - z = c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c3o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c27o64*drho_NWT+c1o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT; - //press = press_NWT * (c27o64 + c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + - // press_NET * (c9o64 - c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c9o64 + c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + - // press_SET * (c3o64 - c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + - // press_SEB * (c1o64 - c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + - // press_NEB * (c3o64 - c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c3o64 + c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + - // press_NWB * (c9o64 + c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff); - //drho = drho_NWT * (c27o64 + c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + - // drho_NET * (c9o64 - c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c9o64 + c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + - // drho_SET * (c3o64 - c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + - // drho_SEB * (c1o64 - c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + - // drho_NEB * (c3o64 - c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c3o64 + c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - // drho_NWB * (c9o64 + c3o16 * xoff - c3o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz; - vvx = a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz; - vvy = b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz; - vvz = c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz; - //vvx = a0 + c1o4*(-ax + ay + az) + c1o16*(axx - axy - axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx + by + bz) + c1o16*(bxx - bxy - bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx + cy + cz) + c1o16*(cxx - cxy - cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1 - mfaaa; - - //two - // linear combinations - mxxPyyPzz = mfaaa; - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o; - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0o1; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0o1; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0o1; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0o1; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0o1; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0o1; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0o1; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position NET 0.25f, 0.25f, 0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = c1o4; - y = c1o4; - z = c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c9o64*drho_NEB+c27o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c1o64*drho_SWB+c3o64*drho_SWT; - //press = press_NET * (c27o64 - c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + - // press_NWT * (c9o64 + c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + - // press_SET * (c9o64 - c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c3o64 + c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + - // press_SWB * (c1o64 + c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + - // press_NWB * (c3o64 + c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c3o64 - c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + - // press_NEB * (c9o64 - c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff); - //drho = drho_NET * (c27o64 - c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + - // drho_NWT * (c9o64 + c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - // drho_SET * (c9o64 - c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c3o64 + c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + - // drho_SWB * (c1o64 + c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + - // drho_NWB * (c3o64 + c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c3o64 - c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - // drho_NEB * (c9o64 - c3o16 * xoff - c3o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz; - vvx = a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz; - vvy = b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz; - vvz = c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz; - //vvx = a0 + c1o4*( ax + ay + az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*( axyz); - //vvy = b0 + c1o4*( bx + by + bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*( bxyz); - //vvz = c0 + c1o4*( cx + cy + cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*( cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1 - mfaaa; - - //two - // linear combinations - mxxPyyPzz = mfaaa; - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o; - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0o1; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0o1; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0o1; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0o1; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0o1; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0o1; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0o1; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - - - //reset - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position NEB 0.25f, 0.25f, -0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = c1o4; - y = c1o4; - z = -c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c27o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c1o64*drho_SWT; - //press = press_NET * (c9o64 - c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + - // press_NWT * (c3o64 + c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + - // press_SET * (c3o64 - c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c1o64 + c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + - // press_SWB * (c3o64 + c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + - // press_NWB * (c9o64 + c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c9o64 - c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + - // press_NEB * (c27o64 - c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff); - //drho = drho_NET * (c9o64 - c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + - // drho_NWT * (c3o64 + c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + - // drho_SET * (c3o64 - c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c1o64 + c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + - // drho_SWB * (c3o64 + c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + - // drho_NWB * (c9o64 + c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c9o64 - c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + - // drho_NEB * (c27o64 - c9o16 * xoff - c9o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz; - vvx = a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz; - vvy = b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz; - vvz = c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz; - //vvx = a0 + c1o4*( ax + ay - az) + c1o16*(axx + axy - axz + ayy - ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*( bx + by - bz) + c1o16*(bxx + bxy - bxz + byy - byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*( cx + cy - cz) + c1o16*(cxx + cxy - cxz + cyy - cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1 - mfaaa; - - //two - // linear combinations - mxxPyyPzz = mfaaa; - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o; - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0o1; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0o1; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0o1; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0o1; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0o1; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0o1; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0o1; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feF[kzero] = mfcbb; - fwF[kw] = mfabb; - fnF[kzero] = mfbcb; - fsF[ks] = mfbab; - ftF[kzero] = mfbbc; - fbF[kb] = mfbba; - fneF[kzero] = mfccb; - fswF[ksw] = mfaab; - fseF[ks] = mfcab; - fnwF[kw] = mfacb; - fteF[kzero] = mfcbc; - fbwF[kbw] = mfaba; - fbeF[kb] = mfcba; - ftwF[kw] = mfabc; - ftnF[kzero] = mfbcc; - fbsF[kbs] = mfbaa; - fbnF[kb] = mfbca; - ftsF[ks] = mfbac; - fzeroF[kzero] = mfbbb; - ftneF[kzero] = mfccc; - ftseF[ks] = mfcac; - fbneF[kb] = mfcca; - fbseF[kbs] = mfcaa; - ftnwF[kw] = mfacc; - ftswF[ksw] = mfaac; - fbnwF[kbw] = mfaca; - fbswF[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - } -} -////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -////////////////////////////////////////////////////////////////////////// -__global__ void scaleCFpress27( real* DC, - real* DF, - unsigned int* neighborCX, - unsigned int* neighborCY, - unsigned int* neighborCZ, - unsigned int* neighborFX, - unsigned int* neighborFY, - unsigned int* neighborFZ, - unsigned long long numberOfLBnodesCoarse, - unsigned long long numberOfLBnodesFine, - bool isEvenTimestep, - unsigned int* posCSWB, - unsigned int* posFSWB, - unsigned int kCF, - real omCoarse, - real omFine, - real nu, - unsigned int nxC, - unsigned int nyC, - unsigned int nxF, - unsigned int nyF, - ICellNeigh offCF) -{ - real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, - *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - - feF = &DF[dP00 * numberOfLBnodesFine]; - fwF = &DF[dM00 * numberOfLBnodesFine]; - fnF = &DF[d0P0 * numberOfLBnodesFine]; - fsF = &DF[d0M0 * numberOfLBnodesFine]; - ftF = &DF[d00P * numberOfLBnodesFine]; - fbF = &DF[d00M * numberOfLBnodesFine]; - fneF = &DF[dPP0 * numberOfLBnodesFine]; - fswF = &DF[dMM0 * numberOfLBnodesFine]; - fseF = &DF[dPM0 * numberOfLBnodesFine]; - fnwF = &DF[dMP0 * numberOfLBnodesFine]; - fteF = &DF[dP0P * numberOfLBnodesFine]; - fbwF = &DF[dM0M * numberOfLBnodesFine]; - fbeF = &DF[dP0M * numberOfLBnodesFine]; - ftwF = &DF[dM0P * numberOfLBnodesFine]; - ftnF = &DF[d0PP * numberOfLBnodesFine]; - fbsF = &DF[d0MM * numberOfLBnodesFine]; - fbnF = &DF[d0PM * numberOfLBnodesFine]; - ftsF = &DF[d0MP * numberOfLBnodesFine]; - fzeroF = &DF[d000 * numberOfLBnodesFine]; - ftneF = &DF[dPPP * numberOfLBnodesFine]; - ftswF = &DF[dMMP * numberOfLBnodesFine]; - ftseF = &DF[dPMP * numberOfLBnodesFine]; - ftnwF = &DF[dMPP * numberOfLBnodesFine]; - fbneF = &DF[dPPM * numberOfLBnodesFine]; - fbswF = &DF[dMMM * numberOfLBnodesFine]; - fbseF = &DF[dPMM * numberOfLBnodesFine]; - fbnwF = &DF[dMPM * numberOfLBnodesFine]; - - real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, *fzeroC, - *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; - - if (isEvenTimestep==true) - { - feC = &DC[dP00 * numberOfLBnodesCoarse]; - fwC = &DC[dM00 * numberOfLBnodesCoarse]; - fnC = &DC[d0P0 * numberOfLBnodesCoarse]; - fsC = &DC[d0M0 * numberOfLBnodesCoarse]; - ftC = &DC[d00P * numberOfLBnodesCoarse]; - fbC = &DC[d00M * numberOfLBnodesCoarse]; - fneC = &DC[dPP0 * numberOfLBnodesCoarse]; - fswC = &DC[dMM0 * numberOfLBnodesCoarse]; - fseC = &DC[dPM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dMP0 * numberOfLBnodesCoarse]; - fteC = &DC[dP0P * numberOfLBnodesCoarse]; - fbwC = &DC[dM0M * numberOfLBnodesCoarse]; - fbeC = &DC[dP0M * numberOfLBnodesCoarse]; - ftwC = &DC[dM0P * numberOfLBnodesCoarse]; - ftnC = &DC[d0PP * numberOfLBnodesCoarse]; - fbsC = &DC[d0MM * numberOfLBnodesCoarse]; - fbnC = &DC[d0PM * numberOfLBnodesCoarse]; - ftsC = &DC[d0MP * numberOfLBnodesCoarse]; - fzeroC = &DC[d000 * numberOfLBnodesCoarse]; - ftneC = &DC[dPPP * numberOfLBnodesCoarse]; - ftswC = &DC[dMMP * numberOfLBnodesCoarse]; - ftseC = &DC[dPMP * numberOfLBnodesCoarse]; - ftnwC = &DC[dMPP * numberOfLBnodesCoarse]; - fbneC = &DC[dPPM * numberOfLBnodesCoarse]; - fbswC = &DC[dMMM * numberOfLBnodesCoarse]; - fbseC = &DC[dPMM * numberOfLBnodesCoarse]; - fbnwC = &DC[dMPM * numberOfLBnodesCoarse]; - } - else - { - fwC = &DC[dP00 * numberOfLBnodesCoarse]; - feC = &DC[dM00 * numberOfLBnodesCoarse]; - fsC = &DC[d0P0 * numberOfLBnodesCoarse]; - fnC = &DC[d0M0 * numberOfLBnodesCoarse]; - fbC = &DC[d00P * numberOfLBnodesCoarse]; - ftC = &DC[d00M * numberOfLBnodesCoarse]; - fswC = &DC[dPP0 * numberOfLBnodesCoarse]; - fneC = &DC[dMM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dPM0 * numberOfLBnodesCoarse]; - fseC = &DC[dMP0 * numberOfLBnodesCoarse]; - fbwC = &DC[dP0P * numberOfLBnodesCoarse]; - fteC = &DC[dM0M * numberOfLBnodesCoarse]; - ftwC = &DC[dP0M * numberOfLBnodesCoarse]; - fbeC = &DC[dM0P * numberOfLBnodesCoarse]; - fbsC = &DC[d0PP * numberOfLBnodesCoarse]; - ftnC = &DC[d0MM * numberOfLBnodesCoarse]; - ftsC = &DC[d0PM * numberOfLBnodesCoarse]; - fbnC = &DC[d0MP * numberOfLBnodesCoarse]; - fzeroC = &DC[d000 * numberOfLBnodesCoarse]; - fbswC = &DC[dPPP * numberOfLBnodesCoarse]; - fbneC = &DC[dMMP * numberOfLBnodesCoarse]; - fbnwC = &DC[dPMP * numberOfLBnodesCoarse]; - fbseC = &DC[dMPP * numberOfLBnodesCoarse]; - ftswC = &DC[dPPM * numberOfLBnodesCoarse]; - ftneC = &DC[dMMM * numberOfLBnodesCoarse]; - ftnwC = &DC[dPMM * numberOfLBnodesCoarse]; - ftseC = &DC[dMPM * numberOfLBnodesCoarse]; - } - - //////////////////////////////////////////////////////////////////////////////// - const unsigned ix = threadIdx.x; // Globaler x-Index - const unsigned iy = blockIdx.x; // Globaler y-Index - const unsigned iz = blockIdx.y; // Globaler z-Index - - const unsigned nx = blockDim.x; - const unsigned ny = gridDim.x; - - const unsigned k = nx*(ny*iz + iy) + ix; - ////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////// - real eps_new = c1o2; - real omegaS = omCoarse;//-omCoarse; - real o = omFine;//-omFine; - //real op = one; - real cu_sq; - - real xoff, yoff, zoff; - real xoff_sq, yoff_sq, zoff_sq; - - real press,drho,vx1,vx2,vx3; - real press_SWT,drho_SWT,vx1_SWT,vx2_SWT,vx3_SWT; - real press_NWT,drho_NWT,vx1_NWT,vx2_NWT,vx3_NWT; - real press_NET,drho_NET,vx1_NET,vx2_NET,vx3_NET; - real press_SET,drho_SET,vx1_SET,vx2_SET,vx3_SET; - real press_SWB,drho_SWB,vx1_SWB,vx2_SWB,vx3_SWB; - real press_NWB,drho_NWB,vx1_NWB,vx2_NWB,vx3_NWB; - real press_NEB,drho_NEB,vx1_NEB,vx2_NEB,vx3_NEB; - real press_SEB,drho_SEB,vx1_SEB,vx2_SEB,vx3_SEB; - real f_E,f_W,f_N,f_S,f_T,f_B,f_NE,f_SW,f_SE,f_NW,f_TE,f_BW,f_BE,f_TW,f_TN,f_BS,f_BN,f_TS,f_ZERO,f_TNE, f_TSW, f_TSE, f_TNW, f_BNE, f_BSW, f_BSE, f_BNW; - real feq_E,feq_W,feq_N,feq_S,feq_T,feq_B,feq_NE,feq_SW,feq_SE,feq_NW,feq_TE,feq_BW,feq_BE,feq_TW,feq_TN,feq_BS,feq_BN,feq_TS,feq_ZERO,feq_TNE, feq_TSW, feq_TSE, feq_TNW, feq_BNE, feq_BSW, feq_BSE, feq_BNW; - real kxyFromfcNEQ_SWT, kyzFromfcNEQ_SWT, kxzFromfcNEQ_SWT, kxxMyyFromfcNEQ_SWT, kxxMzzFromfcNEQ_SWT; - real kxyFromfcNEQ_NWT, kyzFromfcNEQ_NWT, kxzFromfcNEQ_NWT, kxxMyyFromfcNEQ_NWT, kxxMzzFromfcNEQ_NWT; - real kxyFromfcNEQ_NET, kyzFromfcNEQ_NET, kxzFromfcNEQ_NET, kxxMyyFromfcNEQ_NET, kxxMzzFromfcNEQ_NET; - real kxyFromfcNEQ_SET, kyzFromfcNEQ_SET, kxzFromfcNEQ_SET, kxxMyyFromfcNEQ_SET, kxxMzzFromfcNEQ_SET; - real kxyFromfcNEQ_SWB, kyzFromfcNEQ_SWB, kxzFromfcNEQ_SWB, kxxMyyFromfcNEQ_SWB, kxxMzzFromfcNEQ_SWB; - real kxyFromfcNEQ_NWB, kyzFromfcNEQ_NWB, kxzFromfcNEQ_NWB, kxxMyyFromfcNEQ_NWB, kxxMzzFromfcNEQ_NWB; - real kxyFromfcNEQ_NEB, kyzFromfcNEQ_NEB, kxzFromfcNEQ_NEB, kxxMyyFromfcNEQ_NEB, kxxMzzFromfcNEQ_NEB; - real kxyFromfcNEQ_SEB, kyzFromfcNEQ_SEB, kxzFromfcNEQ_SEB, kxxMyyFromfcNEQ_SEB, kxxMzzFromfcNEQ_SEB; - real a0, ax, ay, az, axx, ayy, azz, axy, axz, ayz, b0, bx, by, bz, bxx, byy, bzz, bxy, bxz, byz, c0, cx, cy, cz, cxx, cyy, czz, cxy, cxz, cyz, axyz, bxyz, cxyz; - - real x,y,z; - - - if(k<kCF) - { - ////////////////////////////////////////////////////////////////////////// - xoff = offCF.x[k]; - yoff = offCF.y[k]; - zoff = offCF.z[k]; - xoff_sq = xoff * xoff; - yoff_sq = yoff * yoff; - zoff_sq = zoff * zoff; - ////////////////////////////////////////////////////////////////////////// - //SWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - unsigned int k0zero= posCSWB[k]; - unsigned int k0w = neighborCX[k0zero]; - unsigned int k0s = neighborCY[k0zero]; - unsigned int k0b = neighborCZ[k0zero]; - unsigned int k0sw = neighborCY[k0w]; - unsigned int k0bw = neighborCZ[k0w]; - unsigned int k0bs = neighborCZ[k0s]; - unsigned int k0bsw = neighborCZ[k0sw]; - ////////////////////////////////////////////////////////////////////////// - //index - unsigned int kzero= k0zero; - unsigned int kw = k0w; - unsigned int ks = k0s; - unsigned int kb = k0b; - unsigned int ksw = k0sw; - unsigned int kbw = k0bw; - unsigned int kbs = k0bs; - unsigned int kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - //vx1_SWB = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_SWB = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_SWB = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_SWB = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_SWB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_SWB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_SWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - press_SWB= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)- - drho_SWB-(vx1_SWB*vx1_SWB+vx2_SWB*vx2_SWB+vx3_SWB*vx3_SWB)* (c1o1+drho_SWB)) * c1o2+drho_SWB; - - kxyFromfcNEQ_SWB = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SWB*vx2_SWB)); - kyzFromfcNEQ_SWB = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_SWB*vx3_SWB)); - kxzFromfcNEQ_SWB = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_SWB*vx3_SWB)); - kxxMyyFromfcNEQ_SWB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_SWB*vx1_SWB-vx2_SWB*vx2_SWB)); - kxxMzzFromfcNEQ_SWB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_SWB*vx1_SWB-vx3_SWB*vx3_SWB)); - - ////////////////////////////////////////////////////////////////////////// - //SWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborCZ[kb]; - ksw = kbsw; - kbw = neighborCZ[kbw]; - kbs = neighborCZ[kbs]; - kbsw = neighborCZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - //vx1_SWT = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_SWT = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_SWT = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_SWT = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_SWT = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_SWT = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_SWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - press_SWT= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)- - drho_SWT-(vx1_SWT*vx1_SWT+vx2_SWT*vx2_SWT+vx3_SWT*vx3_SWT)* (c1o1+drho_SWT)) * c1o2+drho_SWT; - - kxyFromfcNEQ_SWT = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SWT*vx2_SWT)); - kyzFromfcNEQ_SWT = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_SWT*vx3_SWT)); - kxzFromfcNEQ_SWT = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_SWT*vx3_SWT)); - kxxMyyFromfcNEQ_SWT = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_SWT*vx1_SWT-vx2_SWT*vx2_SWT)); - kxxMzzFromfcNEQ_SWT = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_SWT*vx1_SWT-vx3_SWT*vx3_SWT)); - - ////////////////////////////////////////////////////////////////////////// - //SET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborCX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborCX[ksw]; - kbw = neighborCX[kbw]; - kbs = kbsw; - kbsw = neighborCX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - //vx1_SET = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_SET = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_SET = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_SET = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_SET = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_SET = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_SET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - press_SET= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)- - drho_SET-(vx1_SET*vx1_SET+vx2_SET*vx2_SET+vx3_SET*vx3_SET)* (c1o1+drho_SET)) * c1o2+drho_SET; - - kxyFromfcNEQ_SET = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SET*vx2_SET)); - kyzFromfcNEQ_SET = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_SET*vx3_SET)); - kxzFromfcNEQ_SET = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_SET*vx3_SET)); - kxxMyyFromfcNEQ_SET = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_SET*vx1_SET-vx2_SET*vx2_SET)); - kxxMzzFromfcNEQ_SET = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_SET*vx1_SET-vx3_SET*vx3_SET)); - - ////////////////////////////////////////////////////////////////////////// - //SEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborCX[k0w]; - ks = k0sw; - ksw = neighborCX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - //vx1_SEB = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_SEB = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_SEB = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_SEB = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_SEB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_SEB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_SEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - press_SEB= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)- - drho_SEB-(vx1_SEB*vx1_SEB+vx2_SEB*vx2_SEB+vx3_SEB*vx3_SEB)* (c1o1+drho_SEB)) * c1o2+drho_SEB; - - kxyFromfcNEQ_SEB = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SEB*vx2_SEB)); - kyzFromfcNEQ_SEB = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_SEB*vx3_SEB)); - kxzFromfcNEQ_SEB = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_SEB*vx3_SEB)); - kxxMyyFromfcNEQ_SEB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_SEB*vx1_SEB-vx2_SEB*vx2_SEB)); - kxxMzzFromfcNEQ_SEB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_SEB*vx1_SEB-vx3_SEB*vx3_SEB)); - - ////////////////////////////////////////////////////////////////////////// - //NWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= k0s; - k0w = k0sw; - k0s = neighborCY[k0s]; - k0b = k0bs; - k0sw = neighborCY[k0sw]; - k0bw = k0bsw; - k0bs = neighborCY[k0bs]; - k0bsw = neighborCY[k0bsw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - //vx1_NWB = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_NWB = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_NWB = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_NWB = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_NWB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_NWB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_NWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - press_NWB= (f_E+f_W+f_N+f_S+f_T+f_B+2.f*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+3.f*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)- - drho_NWB-(vx1_NWB*vx1_NWB+vx2_NWB*vx2_NWB+vx3_NWB*vx3_NWB)* (1.+drho_NWB)) * 0.5f+drho_NWB; - - kxyFromfcNEQ_NWB = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NWB*vx2_NWB)); - kyzFromfcNEQ_NWB = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_NWB*vx3_NWB)); - kxzFromfcNEQ_NWB = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_NWB*vx3_NWB)); - kxxMyyFromfcNEQ_NWB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_NWB*vx1_NWB-vx2_NWB*vx2_NWB)); - kxxMzzFromfcNEQ_NWB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_NWB*vx1_NWB-vx3_NWB*vx3_NWB)); - - ////////////////////////////////////////////////////////////////////////// - //NWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborCZ[kb]; - ksw = kbsw; - kbw = neighborCZ[kbw]; - kbs = neighborCZ[kbs]; - kbsw = neighborCZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - //vx1_NWT = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_NWT = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_NWT = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_NWT = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_NWT = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_NWT = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_NWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - press_NWT= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)- - drho_NWT-(vx1_NWT*vx1_NWT+vx2_NWT*vx2_NWT+vx3_NWT*vx3_NWT)* (c1o1+drho_NWT)) * c1o2+drho_NWT; - - kxyFromfcNEQ_NWT = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NWT*vx2_NWT)); - kyzFromfcNEQ_NWT = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_NWT*vx3_NWT)); - kxzFromfcNEQ_NWT = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_NWT*vx3_NWT)); - kxxMyyFromfcNEQ_NWT = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_NWT*vx1_NWT-vx2_NWT*vx2_NWT)); - kxxMzzFromfcNEQ_NWT = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_NWT*vx1_NWT-vx3_NWT*vx3_NWT)); - - ////////////////////////////////////////////////////////////////////////// - //NET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborCX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborCX[ksw]; - kbw = neighborCX[kbw]; - kbs = kbsw; - kbsw = neighborCX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - //vx1_NET = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_NET = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_NET = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_NET = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_NET = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_NET = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_NET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - press_NET= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)- - drho_NET-(vx1_NET*vx1_NET+vx2_NET*vx2_NET+vx3_NET*vx3_NET)* (c1o1+drho_NET)) * c1o2+drho_NET; - - kxyFromfcNEQ_NET = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NET*vx2_NET)); - kyzFromfcNEQ_NET = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_NET*vx3_NET)); - kxzFromfcNEQ_NET = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_NET*vx3_NET)); - kxxMyyFromfcNEQ_NET = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_NET*vx1_NET-vx2_NET*vx2_NET)); - kxxMzzFromfcNEQ_NET = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_NET*vx1_NET-vx3_NET*vx3_NET)); - - ////////////////////////////////////////////////////////////////////////// - //NEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborCX[k0w]; - ks = k0sw; - ksw = neighborCX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - //vx1_NEB = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_NEB = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_NEB = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_NEB = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_NEB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_NEB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_NEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - press_NEB= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)- - drho_NEB-(vx1_NEB*vx1_NEB+vx2_NEB*vx2_NEB+vx3_NEB*vx3_NEB)* (c1o1+drho_NEB)) * c1o2+drho_NEB; - - kxyFromfcNEQ_NEB = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NEB*vx2_NEB)); - kyzFromfcNEQ_NEB = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_NEB*vx3_NEB)); - kxzFromfcNEQ_NEB = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_NEB*vx3_NEB)); - kxxMyyFromfcNEQ_NEB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_NEB*vx1_NEB-vx2_NEB*vx2_NEB)); - kxxMzzFromfcNEQ_NEB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_NEB*vx1_NEB-vx3_NEB*vx3_NEB)); - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //3 - ////////////////////////////////////////////////////////////////////////// - a0 = (-kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT - - kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - - kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - - c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET - c2o1*kxyFromfcNEQ_NWB - c2o1*kxyFromfcNEQ_NWT + - c2o1*kxyFromfcNEQ_SEB + c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + - c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB - c2o1*kxzFromfcNEQ_NWT + - c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB - c2o1*kxzFromfcNEQ_SWT + - c8o1*vx1_NEB + c8o1*vx1_NET + c8o1*vx1_NWB + c8o1*vx1_NWT + c8o1*vx1_SEB + - c8o1*vx1_SET + c8o1*vx1_SWB + c8o1*vx1_SWT + c2o1*vx2_NEB + c2o1*vx2_NET - - c2o1*vx2_NWB - c2o1*vx2_NWT - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + - c2o1*vx2_SWT - c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - - c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1; - b0 = (c2o1*kxxMyyFromfcNEQ_NEB + c2o1*kxxMyyFromfcNEQ_NET + c2o1*kxxMyyFromfcNEQ_NWB + c2o1*kxxMyyFromfcNEQ_NWT - - c2o1*kxxMyyFromfcNEQ_SEB - c2o1*kxxMyyFromfcNEQ_SET - c2o1*kxxMyyFromfcNEQ_SWB - c2o1*kxxMyyFromfcNEQ_SWT - - kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - - c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET + c2o1*kxyFromfcNEQ_NWB + c2o1*kxyFromfcNEQ_NWT - - c2o1*kxyFromfcNEQ_SEB - c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + - c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET + c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + - c2o1*kyzFromfcNEQ_SEB - c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB - c2o1*kyzFromfcNEQ_SWT + - c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT + - c8o1*vx2_NEB + c8o1*vx2_NET + c8o1*vx2_NWB + c8o1*vx2_NWT + - c8o1*vx2_SEB + c8o1*vx2_SET + c8o1*vx2_SWB + c8o1*vx2_SWT - - c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + - c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1; - c0 = (kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT - - c2o1*kxxMzzFromfcNEQ_NEB + c2o1*kxxMzzFromfcNEQ_NET - c2o1*kxxMzzFromfcNEQ_NWB + c2o1*kxxMzzFromfcNEQ_NWT - - c2o1*kxxMzzFromfcNEQ_SEB + c2o1*kxxMzzFromfcNEQ_SET - c2o1*kxxMzzFromfcNEQ_SWB + c2o1*kxxMzzFromfcNEQ_SWT - - c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB + c2o1*kxzFromfcNEQ_NWT - - c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB + c2o1*kxzFromfcNEQ_SWT - - c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET - c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + - c2o1*kyzFromfcNEQ_SEB + c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB + c2o1*kyzFromfcNEQ_SWT - - c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - - c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT + - c8o1*vx3_NEB + c8o1*vx3_NET + c8o1*vx3_NWB + c8o1*vx3_NWT + - c8o1*vx3_SEB + c8o1*vx3_SET + c8o1*vx3_SWB + c8o1*vx3_SWT)/c64o1; - ax = (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT + vx1_SEB + vx1_SET - vx1_SWB - vx1_SWT)/c4o1; - bx = (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT + vx2_SEB + vx2_SET - vx2_SWB - vx2_SWT)/c4o1; - cx = (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT + vx3_SEB + vx3_SET - vx3_SWB - vx3_SWT)/c4o1; - axx= (kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT + - kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + - c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB - c2o1*vx2_NWT - - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + c2o1*vx2_SWT - - c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - - c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1; - bxx= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET - kxyFromfcNEQ_NWB - kxyFromfcNEQ_NWT + - kxyFromfcNEQ_SEB + kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - - c2o1*vx1_NEB - c2o1*vx1_NET + c2o1*vx1_NWB + c2o1*vx1_NWT + - c2o1*vx1_SEB + c2o1*vx1_SET - c2o1*vx1_SWB - c2o1*vx1_SWT)/c8o1; - cxx= (kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB - kxzFromfcNEQ_NWT + - kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB - kxzFromfcNEQ_SWT + - c2o1*vx1_NEB - c2o1*vx1_NET - c2o1*vx1_NWB + c2o1*vx1_NWT + - c2o1*vx1_SEB - c2o1*vx1_SET - c2o1*vx1_SWB + c2o1*vx1_SWT)/c8o1; - ay = (vx1_NEB + vx1_NET + vx1_NWB + vx1_NWT - vx1_SEB - vx1_SET - vx1_SWB - vx1_SWT)/c4o1; - by = (vx2_NEB + vx2_NET + vx2_NWB + vx2_NWT - vx2_SEB - vx2_SET - vx2_SWB - vx2_SWT)/c4o1; - cy = (vx3_NEB + vx3_NET + vx3_NWB + vx3_NWT - vx3_SEB - vx3_SET - vx3_SWB - vx3_SWT)/c4o1; - ayy= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET + kxyFromfcNEQ_NWB + kxyFromfcNEQ_NWT - - kxyFromfcNEQ_SEB - kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - - c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB + c2o1*vx2_NWT + - c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB - c2o1*vx2_SWT)/c8o1; - byy= (-c2o1*kxxMyyFromfcNEQ_NEB - c2o1*kxxMyyFromfcNEQ_NET - c2o1*kxxMyyFromfcNEQ_NWB - c2o1*kxxMyyFromfcNEQ_NWT + - c2o1*kxxMyyFromfcNEQ_SEB + c2o1*kxxMyyFromfcNEQ_SET + c2o1*kxxMyyFromfcNEQ_SWB + c2o1*kxxMyyFromfcNEQ_SWT + - kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - - kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + - c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT - - c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + - c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1; - cyy= (kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET + kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - - kyzFromfcNEQ_SEB - kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB - kyzFromfcNEQ_SWT + - c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB - c2o1*vx2_NWT - - c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB + c2o1*vx2_SWT)/c8o1; - az = (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT - vx1_SEB + vx1_SET - vx1_SWB + vx1_SWT)/c4o1; - bz = (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT - vx2_SEB + vx2_SET - vx2_SWB + vx2_SWT)/c4o1; - cz = (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT - vx3_SEB + vx3_SET - vx3_SWB + vx3_SWT)/c4o1; - azz= (-kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB + kxzFromfcNEQ_NWT - - kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB + kxzFromfcNEQ_SWT + - c2o1*vx3_NEB - c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + - c2o1*vx3_SEB - c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1; - bzz= (-kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET - kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - - kyzFromfcNEQ_SEB + kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB + kyzFromfcNEQ_SWT + - c2o1*vx3_NEB - c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - - c2o1*vx3_SEB + c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1; - czz= (-kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT + - c2o1*kxxMzzFromfcNEQ_NEB - c2o1*kxxMzzFromfcNEQ_NET + c2o1*kxxMzzFromfcNEQ_NWB - c2o1*kxxMzzFromfcNEQ_NWT + - c2o1*kxxMzzFromfcNEQ_SEB - c2o1*kxxMzzFromfcNEQ_SET + c2o1*kxxMzzFromfcNEQ_SWB - c2o1*kxxMzzFromfcNEQ_SWT - - c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - - c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT)/c16o1; - axy= (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT - vx1_SEB - vx1_SET + vx1_SWB + vx1_SWT)/c2o1; - bxy= (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT - vx2_SEB - vx2_SET + vx2_SWB + vx2_SWT)/c2o1; - cxy= (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT - vx3_SEB - vx3_SET + vx3_SWB + vx3_SWT)/c2o1; - axz= (-vx1_NEB + vx1_NET + vx1_NWB - vx1_NWT - vx1_SEB + vx1_SET + vx1_SWB - vx1_SWT)/c2o1; - bxz= (-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT - vx2_SEB + vx2_SET + vx2_SWB - vx2_SWT)/c2o1; - cxz= (-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT - vx3_SEB + vx3_SET + vx3_SWB - vx3_SWT)/c2o1; - ayz= (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT + vx1_SEB - vx1_SET + vx1_SWB - vx1_SWT)/c2o1; - byz= (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT + vx2_SEB - vx2_SET + vx2_SWB - vx2_SWT)/c2o1; - cyz= (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT + vx3_SEB - vx3_SET + vx3_SWB - vx3_SWT)/c2o1; - axyz=-vx1_NEB + vx1_NET + vx1_NWB - vx1_NWT + vx1_SEB - vx1_SET - vx1_SWB + vx1_SWT; - bxyz=-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT + vx2_SEB - vx2_SET - vx2_SWB + vx2_SWT; - cxyz=-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT + vx3_SEB - vx3_SET - vx3_SWB + vx3_SWT; - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - // Bernd das Brot - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - a0 = a0 + xoff * ax + yoff * ay + zoff * az + xoff_sq * axx + yoff_sq * ayy + zoff_sq * azz + xoff*yoff*axy + xoff*zoff*axz + yoff*zoff*ayz; - ax = ax + c2o1 * xoff * axx + yoff * axy + zoff * axz; - ay = ay + c2o1 * yoff * ayy + xoff * axy + zoff * ayz; - az = az + c2o1 * zoff * azz + xoff * axz + yoff * ayz; - b0 = b0 + xoff * bx + yoff * by + zoff * bz + xoff_sq * bxx + yoff_sq * byy + zoff_sq * bzz + xoff*yoff*bxy + xoff*zoff*bxz + yoff*zoff*byz; - bx = bx + c2o1 * xoff * bxx + yoff * bxy + zoff * bxz; - by = by + c2o1 * yoff * byy + xoff * bxy + zoff * byz; - bz = bz + c2o1 * zoff * bzz + xoff * bxz + yoff * byz; - c0 = c0 + xoff * cx + yoff * cy + zoff * cz + xoff_sq * cxx + yoff_sq * cyy + zoff_sq * czz + xoff*yoff*cxy + xoff*zoff*cxz + yoff*zoff*cyz; - cx = cx + c2o1 * xoff * cxx + yoff * cxy + zoff * cxz; - cy = cy + c2o1 * yoff * cyy + xoff * cxy + zoff * cyz; - cz = cz + c2o1 * zoff * czz + xoff * cxz + yoff * cyz; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real x_E, x_N, x_T, x_NE, x_SE, x_BE, x_TE, x_TN, x_BN, x_TNE, x_TNW, x_TSE, x_TSW, x_ZERO; - real y_E, y_N, y_T, y_NE, y_SE, y_BE, y_TE, y_TN, y_BN, y_TNE, y_TNW, y_TSE, y_TSW, y_ZERO; - real z_E, z_N, z_T, z_NE, z_SE, z_BE, z_TE, z_TN, z_BN, z_TNE, z_TNW, z_TSE, z_TSW, z_ZERO; - real xy_E, xy_N, xy_T, xy_NE, xy_SE, xy_BE, xy_TE, xy_TN, xy_BN, xy_TNE, xy_TNW, xy_TSE, xy_TSW/*, xy_ZERO*/; - real xz_E, xz_N, xz_T, xz_NE, xz_SE, xz_BE, xz_TE, xz_TN, xz_BN, xz_TNE, xz_TNW, xz_TSE, xz_TSW/*, xz_ZERO*/; - real yz_E, yz_N, yz_T, yz_NE, yz_SE, yz_BE, yz_TE, yz_TN, yz_BN, yz_TNE, yz_TNW, yz_TSE, yz_TSW/*, yz_ZERO*/; - - - f_E = eps_new*((c2o1*(-c2o1*ax + by + cz))/(c27o1*o)); - f_N = eps_new*((c2o1*(ax - c2o1*by + cz))/(c27o1*o)); - f_T = eps_new*((c2o1*(ax + by - c2o1*cz))/(c27o1*o)); - f_NE = eps_new*(-(ax + c3o1*ay + c3o1*bx + by - c2o1*cz)/(c54o1*o)); - f_SE = eps_new*(-(ax - c3o1*ay - c3o1*bx + by - c2o1*cz)/(c54o1*o)); - f_TE = eps_new*(-(ax + c3o1*az - c2o1*by + c3o1*cx + cz)/(c54o1*o)); - f_BE = eps_new*(-(ax - c3o1*az - c2o1*by - c3o1*cx + cz)/(c54o1*o)); - f_TN = eps_new*(-(-c2o1*ax + by + c3o1*bz + c3o1*cy + cz)/(c54o1*o)); - f_BN = eps_new*(-(-c2o1*ax + by - c3o1*bz - c3o1*cy + cz)/(c54o1*o)); - f_ZERO = c0o1; - f_TNE = eps_new*(-(ay + az + bx + bz + cx + cy)/(c72o1*o)); - f_TSW = eps_new*((-ay + az - bx + bz + cx + cy)/(c72o1*o)); - f_TSE = eps_new*((ay - az + bx + bz - cx + cy)/(c72o1*o)); - f_TNW = eps_new*((ay + az + bx - bz + cx - cy)/(c72o1*o)); - - x_E = c1o4*eps_new*((c2o1*(-c4o1*axx + bxy + cxz))/(c27o1*o)); - x_N = c1o4*eps_new*((c2o1*(c2o1*axx - c2o1*bxy + cxz))/(c27o1*o)); - x_T = c1o4*eps_new*((c2o1*(c2o1*axx + bxy - c2o1*cxz))/(c27o1*o)); - x_NE = c1o4*eps_new*(-((c2o1*axx + c3o1*axy + c6o1*bxx + bxy - c2o1*cxz))/(c54o1*o)); - x_SE = c1o4*eps_new*(-((c2o1*axx - c3o1*axy - c6o1*bxx + bxy - c2o1*cxz))/(c54o1*o)); - x_TE = c1o4*eps_new*(-((c2o1*axx + c3o1*axz - c2o1*bxy + c6o1*cxx + cxz))/(c54o1*o)); - x_BE = c1o4*eps_new*(-((c2o1*axx - c3o1*axz - c2o1*bxy - c6o1*cxx + cxz))/(c54o1*o)); - x_TN = c1o4*eps_new*(-((-c4o1*axx + bxy + c3o1*bxz + c3o1*cxy + cxz))/(c54o1*o)); - x_BN = c1o4*eps_new*(-((-c4o1*axx + bxy - c3o1*bxz - c3o1*cxy + cxz))/(c54o1*o)); - x_ZERO = c0o1; - x_TNE = c1o4*eps_new*(-((axy + axz + c2o1*bxx + bxz + c2o1*cxx + cxy))/(c72o1*o)); - x_TSW = c1o4*eps_new*(((-axy + axz - c2o1*bxx + bxz + c2o1*cxx + cxy))/(c72o1*o)); - x_TSE = c1o4*eps_new*(((axy - axz + c2o1*bxx + bxz - c2o1*cxx + cxy))/(c72o1*o)); - x_TNW = c1o4*eps_new*(((axy + axz + c2o1*bxx - bxz + c2o1*cxx - cxy))/(c72o1*o)); - - y_E = c1o4*eps_new*(c2o1*(-c2o1*axy + c2o1*byy + cyz))/(c27o1*o); - y_N = c1o4*eps_new*(c2o1*(axy - c4o1*byy + cyz))/(c27o1*o); - y_T = c1o4*eps_new*(c2o1*(axy + c2o1*byy - c2o1*cyz))/(c27o1*o); - y_NE = c1o4*eps_new*(-((axy + c6o1*ayy + c3o1*bxy + c2o1*byy - c2o1*cyz))/(c54o1*o)); - y_SE = c1o4*eps_new*(-((axy - c6o1*ayy - c3o1*bxy + c2o1*byy - c2o1*cyz))/(c54o1*o)); - y_TE = c1o4*eps_new*(-((axy + c3o1*ayz - c4o1*byy + c3o1*cxy + cyz))/(c54o1*o)); - y_BE = c1o4*eps_new*(-((axy - c3o1*ayz - c4o1*byy - c3o1*cxy + cyz))/(c54o1*o)); - y_TN = c1o4*eps_new*(-((-c2o1*axy + c2o1*byy + c3o1*byz + c6o1*cyy + cyz))/(c54o1*o)); - y_BN = c1o4*eps_new*(-((-c2o1*axy + c2o1*byy - c3o1*byz - c6o1*cyy + cyz))/(c54o1*o)); - y_ZERO = c0o1; - y_TNE = c1o4*eps_new*(-((c2o1*ayy + ayz + bxy + byz + cxy + c2o1*cyy))/(c72o1*o)); - y_TSW = c1o4*eps_new*(((-c2o1*ayy + ayz - bxy + byz + cxy + c2o1*cyy))/(c72o1*o)); - y_TSE = c1o4*eps_new*(((c2o1*ayy - ayz + bxy + byz - cxy + c2o1*cyy))/(c72o1*o)); - y_TNW = c1o4*eps_new*(((c2o1*ayy + ayz + bxy - byz + cxy - c2o1*cyy))/(c72o1*o)); - - z_E = c1o4*eps_new*((c2o1*(-c2o1*axz + byz + c2o1*czz))/(c27o1*o)); - z_N = c1o4*eps_new*((c2o1*(axz - c2o1*byz + c2o1*czz))/(c27o1*o)); - z_T = c1o4*eps_new*((c2o1*(axz + byz - c4o1*czz))/(c27o1*o)); - z_NE = c1o4*eps_new*(-((axz + c3o1*ayz + c3o1*bxz + byz - c4o1*czz))/(c54o1*o)); - z_SE = c1o4*eps_new*(-((axz - c3o1*ayz - c3o1*bxz + byz - c4o1*czz))/(c54o1*o)); - z_TE = c1o4*eps_new*(-((axz + c6o1*azz - c2o1*byz + c3o1*cxz + c2o1*czz))/(c54o1*o)); - z_BE = c1o4*eps_new*(-((axz - c6o1*azz - c2o1*byz - c3o1*cxz + c2o1*czz))/(c54o1*o)); - z_TN = c1o4*eps_new*(-((-c2o1*axz + byz + c6o1*bzz + c3o1*cyz + c2o1*czz))/(c54o1*o)); - z_BN = c1o4*eps_new*(-((-c2o1*axz + byz - c6o1*bzz - c3o1*cyz + c2o1*czz))/(c54o1*o)); - z_ZERO = c0o1; - z_TNE = c1o4*eps_new*(-((ayz + c2o1*azz + bxz + c2o1*bzz + cxz + cyz))/(c72o1*o)); - z_TSW = c1o4*eps_new*(((-ayz + c2o1*azz - bxz + c2o1*bzz + cxz + cyz))/(c72o1*o)); - z_TSE = c1o4*eps_new*(((ayz - c2o1*azz + bxz + c2o1*bzz - cxz + cyz))/(c72o1*o)); - z_TNW = c1o4*eps_new*(((ayz + c2o1*azz + bxz - c2o1*bzz + cxz - cyz))/(c72o1*o)); - - xy_E = c1o16*eps_new *(( c2o1*cxyz)/(c27o1*o)); - xy_N = c1o16*eps_new *(( c2o1*cxyz)/(c27o1*o)); - xy_T = -(c1o16*eps_new *(( c4o1*cxyz)/(c27o1*o))); - xy_NE = c1o16*eps_new *( cxyz /(c27o1*o)); - xy_SE = c1o16*eps_new *( cxyz /(c27o1*o)); - xy_TE = -(c1o16*eps_new *(( c3o1*axyz + cxyz)/(c54o1*o))); - xy_BE = -(c1o16*eps_new *((-c3o1*axyz + cxyz)/(c54o1*o))); - xy_TN = -(c1o16*eps_new *(( c3o1*bxyz + cxyz)/(c54o1*o))); - xy_BN = -(c1o16*eps_new *(( - c3o1*bxyz + cxyz)/(c54o1*o))); - //xy_ZERO= c1o16*eps_new; - xy_TNE = -(c1o16*eps_new *(( axyz + bxyz )/(c72o1*o))); - xy_TSW = c1o16*eps_new *(( axyz + bxyz )/(c72o1*o)); - xy_TSE = c1o16*eps_new *((- axyz + bxyz )/(c72o1*o)); - xy_TNW = c1o16*eps_new *(( axyz - bxyz )/(c72o1*o)); - - xz_E = c1o16*eps_new *(( c2o1*bxyz )/(c27o1*o)); - xz_N = -(c1o16*eps_new *(( c4o1*bxyz )/(c27o1*o))); - xz_T = c1o16*eps_new *(( c2o1*bxyz )/(c27o1*o)); - xz_NE = -(c1o16*eps_new *(( c3o1*axyz + bxyz )/(c54o1*o))); - xz_SE = -(c1o16*eps_new *((-c3o1*axyz + bxyz )/(c54o1*o))); - xz_TE = c1o16*eps_new *(( bxyz )/(c27o1*o)); - xz_BE = c1o16*eps_new *(( bxyz )/(c27o1*o)); - xz_TN = -(c1o16*eps_new *(( bxyz + c3o1*cxyz)/(c54o1*o))); - xz_BN = -(c1o16*eps_new *(( bxyz - c3o1*cxyz)/(c54o1*o))); - //xz_ZERO= c1o16*eps_new; - xz_TNE = -(c1o16*eps_new *(( axyz + cxyz)/(c72o1*o))); - xz_TSW = c1o16*eps_new *((- axyz + cxyz)/(c72o1*o)); - xz_TSE = c1o16*eps_new *(( axyz + cxyz)/(c72o1*o)); - xz_TNW = c1o16*eps_new *(( axyz - cxyz)/(c72o1*o)); - - yz_E = -(c1o16*eps_new *(( c4o1*axyz )/(c27o1*o))); - yz_N = c1o16*eps_new *(( c2o1*axyz )/(c27o1*o)); - yz_T = c1o16*eps_new *(( c2o1*axyz )/(c27o1*o)); - yz_NE = -(c1o16*eps_new *(( axyz + c3o1*bxyz )/(c54o1*o))); - yz_SE = -(c1o16*eps_new *(( axyz - c3o1*bxyz )/(c54o1*o))); - yz_TE = -(c1o16*eps_new *(( axyz + c3o1*cxyz)/(c54o1*o))); - yz_BE = -(c1o16*eps_new *(( axyz - c3o1*cxyz)/(c54o1*o))); - yz_TN = c1o16*eps_new *(( axyz )/(c27o1*o)); - yz_BN = c1o16*eps_new *(( axyz )/(c27o1*o)); - //yz_ZERO= c1o16*eps_new; - yz_TNE = -(c1o16*eps_new *(( bxyz + cxyz)/(c72o1*o))); - yz_TSW = c1o16*eps_new *(( - bxyz + cxyz)/(c72o1*o)); - yz_TSE = c1o16*eps_new *(( bxyz - cxyz)/(c72o1*o)); - yz_TNW = c1o16*eps_new *(( bxyz + cxyz)/(c72o1*o)); - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //Position SWB -0.25, -0.25, -0.25 - x = -c1o4; - y = -c1o4; - z = -c1o4; - - //drho = c3o64*drho_NEB+c1o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c27o64*drho_SWB+c9o64*drho_SWT; - press = press_SWT * (c9o64 + c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + - press_NWT * (c3o64 + c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - press_SET * (c3o64 - c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + - press_NET * (c1o64 - c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + - press_NEB * (c3o64 - c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + - press_NWB * (c9o64 + c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + - press_SEB * (c9o64 - c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - press_SWB * (c27o64 + c9o16 * xoff + c9o16 * yoff + c9o16 * zoff); - vx1 = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - vx2 = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - vx3 = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - drho = press + (c2o1*axx*x+axy*y+axz*z+axyz*y*z+ax + c2o1*byy*y+bxy*x+byz*z+bxyz*x*z+by + c2o1*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/c3o1; // 1/3 = 2/3*(1/op-1/2) - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - feq_ZERO = c8o27* (drho-cu_sq); - feq_E = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - feq_N = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - feq_T = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - feq_NE = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - feq_SE = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - feq_TE = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - feq_BE = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - feq_TN = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - feq_BN = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - feq_TNE = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - feq_BNE = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - feq_TSE = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - feq_BSE = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - feq_W = feq_E + c2o27* (c6o1*(-vx1 )); - feq_S = feq_N + c2o27* (c6o1*( -vx2 )); - feq_B = feq_T + c2o27* (c6o1*( -vx3)); - feq_SW = feq_NE + c1o54* (c6o1*(-vx1-vx2 )); - feq_NW = feq_SE + c1o54* (c6o1*(-vx1+vx2 )); - feq_BW = feq_TE + c1o54* (c6o1*(-vx1 -vx3)); - feq_TW = feq_BE + c1o54* (c6o1*(-vx1 +vx3)); - feq_BS = feq_TN + c1o54* (c6o1*( -vx2-vx3)); - feq_TS = feq_BN + c1o54* (c6o1*( -vx2+vx3)); - feq_BSW = feq_TNE + c1o216*(c6o1*(-vx1-vx2-vx3)); - feq_TSW = feq_BNE + c1o216*(c6o1*(-vx1-vx2+vx3)); - feq_BNW = feq_TSE + c1o216*(c6o1*(-vx1+vx2-vx3)); - feq_TNW = feq_BSE + c1o216*(c6o1*(-vx1+vx2+vx3)); - - - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= posFSWB[k]; - k0w = neighborFX[k0zero]; - k0s = neighborFY[k0zero]; - k0b = neighborFZ[k0zero]; - k0sw = neighborFY[k0w]; - k0bw = neighborFZ[k0w]; - k0bs = neighborFZ[k0s]; - k0bsw = neighborFZ[k0sw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - feF[kzero] = f_E - x_E - y_E - z_E + xy_E + xz_E + yz_E + feq_E; - fwF[kw] = f_E - x_E - y_E - z_E + xy_E + xz_E + yz_E + feq_W; - fnF[kzero] = f_N - x_N - y_N - z_N + xy_N + xz_N + yz_N + feq_N; - fsF[ks] = f_N - x_N - y_N - z_N + xy_N + xz_N + yz_N + feq_S; - ftF[kzero] = f_T - x_T - y_T - z_T + xy_T + xz_T + yz_T + feq_T; - fbF[kb] = f_T - x_T - y_T - z_T + xy_T + xz_T + yz_T + feq_B; - fneF[kzero] = f_NE - x_NE - y_NE - z_NE + xy_NE + xz_NE + yz_NE + feq_NE; - fswF[ksw] = f_NE - x_NE - y_NE - z_NE + xy_NE + xz_NE + yz_NE + feq_SW; - fseF[ks] = f_SE - x_SE - y_SE - z_SE + xy_SE + xz_SE + yz_SE + feq_SE; - fnwF[kw] = f_SE - x_SE - y_SE - z_SE + xy_SE + xz_SE + yz_SE + feq_NW; - fteF[kzero] = f_TE - x_TE - y_TE - z_TE + xy_TE + xz_TE + yz_TE + feq_TE; - fbwF[kbw] = f_TE - x_TE - y_TE - z_TE + xy_TE + xz_TE + yz_TE + feq_BW; - fbeF[kb] = f_BE - x_BE - y_BE - z_BE + xy_BE + xz_BE + yz_BE + feq_BE; - ftwF[kw] = f_BE - x_BE - y_BE - z_BE + xy_BE + xz_BE + yz_BE + feq_TW; - ftnF[kzero] = f_TN - x_TN - y_TN - z_TN + xy_TN + xz_TN + yz_TN + feq_TN; - fbsF[kbs] = f_TN - x_TN - y_TN - z_TN + xy_TN + xz_TN + yz_TN + feq_BS; - fbnF[kb] = f_BN - x_BN - y_BN - z_BN + xy_BN + xz_BN + yz_BN + feq_BN; - ftsF[ks] = f_BN - x_BN - y_BN - z_BN + xy_BN + xz_BN + yz_BN + feq_TS; - fzeroF[kzero]= f_ZERO - x_ZERO - y_ZERO - z_ZERO + feq_ZERO; - ftneF[kzero] = f_TNE - x_TNE - y_TNE - z_TNE + xy_TNE + xz_TNE + yz_TNE + feq_TNE; - ftswF[ksw] = f_TSW - x_TSW - y_TSW - z_TSW + xy_TSW + xz_TSW + yz_TSW + feq_TSW; - ftseF[ks] = f_TSE - x_TSE - y_TSE - z_TSE + xy_TSE + xz_TSE + yz_TSE + feq_TSE; - ftnwF[kw] = f_TNW - x_TNW - y_TNW - z_TNW + xy_TNW + xz_TNW + yz_TNW + feq_TNW; - fbneF[kb] = f_TSW - x_TSW - y_TSW - z_TSW + xy_TSW + xz_TSW + yz_TSW + feq_BNE; - fbswF[kbsw] = f_TNE - x_TNE - y_TNE - z_TNE + xy_TNE + xz_TNE + yz_TNE + feq_BSW; - fbseF[kbs] = f_TNW - x_TNW - y_TNW - z_TNW + xy_TNW + xz_TNW + yz_TNW + feq_BSE; - fbnwF[kbw] = f_TSE - x_TSE - y_TSE - z_TSE + xy_TSE + xz_TSE + yz_TSE + feq_BNW; - - //Position SWT -0.25, -0.25, 0.25 - x = -c1o4; - y = -c1o4; - z = c1o4; - - //drho = c1o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c27o64*drho_SWT; - press = press_SWT * (c27o64 + c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + - press_NWT * (c9o64 + c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + - press_SET * (c9o64 - c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - press_NET * (c3o64 - c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + - press_NEB * (c1o64 - c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + - press_NWB * (c3o64 + c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - press_SEB * (c3o64 - c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + - press_SWB * (c9o64 + c3o16 * xoff + c3o16 * yoff + c9o16 * zoff); - vx1 = a0 + c1o4*(-ax - ay + az) + c1o16*(axx + axy - axz + ayy - ayz + azz) + c1o64*( axyz); - vx2 = b0 + c1o4*(-bx - by + bz) + c1o16*(bxx + bxy - bxz + byy - byz + bzz) + c1o64*( bxyz); - vx3 = c0 + c1o4*(-cx - cy + cz) + c1o16*(cxx + cxy - cxz + cyy - cyz + czz) + c1o64*( cxyz); - - drho = press + (c2o1*axx*x+axy*y+axz*z+axyz*y*z+ax + c2o1*byy*y+bxy*x+byz*z+bxyz*x*z+by + c2o1*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/c3o1; // 1/3 = 2/3*(1/op-1/2) - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - feq_ZERO = c8o27* (drho-cu_sq); - feq_E = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - feq_N = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - feq_T = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - feq_NE = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - feq_SE = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - feq_TE = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - feq_BE = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - feq_TN = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - feq_BN = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - feq_TNE = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - feq_BNE = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - feq_TSE = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - feq_BSE = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - feq_W = feq_E + c2o27* (c6o1*(-vx1 )); - feq_S = feq_N + c2o27* (c6o1*( -vx2 )); - feq_B = feq_T + c2o27* (c6o1*( -vx3)); - feq_SW = feq_NE + c1o54* (c6o1*(-vx1-vx2 )); - feq_NW = feq_SE + c1o54* (c6o1*(-vx1+vx2 )); - feq_BW = feq_TE + c1o54* (c6o1*(-vx1 -vx3)); - feq_TW = feq_BE + c1o54* (c6o1*(-vx1 +vx3)); - feq_BS = feq_TN + c1o54* (c6o1*( -vx2-vx3)); - feq_TS = feq_BN + c1o54* (c6o1*( -vx2+vx3)); - feq_BSW = feq_TNE + c1o216*(c6o1*(-vx1-vx2-vx3)); - feq_TSW = feq_BNE + c1o216*(c6o1*(-vx1-vx2+vx3)); - feq_BNW = feq_TSE + c1o216*(c6o1*(-vx1+vx2-vx3)); - feq_TNW = feq_BSE + c1o216*(c6o1*(-vx1+vx2+vx3)); - - //////////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - feF[kzero] = f_E - x_E - y_E + z_E + xy_E - xz_E - yz_E + feq_E; - fwF[kw] = f_E - x_E - y_E + z_E + xy_E - xz_E - yz_E + feq_W; - fnF[kzero] = f_N - x_N - y_N + z_N + xy_N - xz_N - yz_N + feq_N; - fsF[ks] = f_N - x_N - y_N + z_N + xy_N - xz_N - yz_N + feq_S; - ftF[kzero] = f_T - x_T - y_T + z_T + xy_T - xz_T - yz_T + feq_T; - fbF[kb] = f_T - x_T - y_T + z_T + xy_T - xz_T - yz_T + feq_B; - fneF[kzero] = f_NE - x_NE - y_NE + z_NE + xy_NE - xz_NE - yz_NE + feq_NE; - fswF[ksw] = f_NE - x_NE - y_NE + z_NE + xy_NE - xz_NE - yz_NE + feq_SW; - fseF[ks] = f_SE - x_SE - y_SE + z_SE + xy_SE - xz_SE - yz_SE + feq_SE; - fnwF[kw] = f_SE - x_SE - y_SE + z_SE + xy_SE - xz_SE - yz_SE + feq_NW; - fteF[kzero] = f_TE - x_TE - y_TE + z_TE + xy_TE - xz_TE - yz_TE + feq_TE; - fbwF[kbw] = f_TE - x_TE - y_TE + z_TE + xy_TE - xz_TE - yz_TE + feq_BW; - fbeF[kb] = f_BE - x_BE - y_BE + z_BE + xy_BE - xz_BE - yz_BE + feq_BE; - ftwF[kw] = f_BE - x_BE - y_BE + z_BE + xy_BE - xz_BE - yz_BE + feq_TW; - ftnF[kzero] = f_TN - x_TN - y_TN + z_TN + xy_TN - xz_TN - yz_TN + feq_TN; - fbsF[kbs] = f_TN - x_TN - y_TN + z_TN + xy_TN - xz_TN - yz_TN + feq_BS; - fbnF[kb] = f_BN - x_BN - y_BN + z_BN + xy_BN - xz_BN - yz_BN + feq_BN; - ftsF[ks] = f_BN - x_BN - y_BN + z_BN + xy_BN - xz_BN - yz_BN + feq_TS; - fzeroF[kzero]= f_ZERO - x_ZERO - y_ZERO + z_ZERO + feq_ZERO; - ftneF[kzero] = f_TNE - x_TNE - y_TNE + z_TNE + xy_TNE - xz_TNE - yz_TNE + feq_TNE; - ftswF[ksw] = f_TSW - x_TSW - y_TSW + z_TSW + xy_TSW - xz_TSW - yz_TSW + feq_TSW; - ftseF[ks] = f_TSE - x_TSE - y_TSE + z_TSE + xy_TSE - xz_TSE - yz_TSE + feq_TSE; - ftnwF[kw] = f_TNW - x_TNW - y_TNW + z_TNW + xy_TNW - xz_TNW - yz_TNW + feq_TNW; - fbneF[kb] = f_TSW - x_TSW - y_TSW + z_TSW + xy_TSW - xz_TSW - yz_TSW + feq_BNE; - fbswF[kbsw] = f_TNE - x_TNE - y_TNE + z_TNE + xy_TNE - xz_TNE - yz_TNE + feq_BSW; - fbseF[kbs] = f_TNW - x_TNW - y_TNW + z_TNW + xy_TNW - xz_TNW - yz_TNW + feq_BSE; - fbnwF[kbw] = f_TSE - x_TSE - y_TSE + z_TSE + xy_TSE - xz_TSE - yz_TSE + feq_BNW; - - //Position SET 0.25, -0.25, 0.25 - x = c1o4; - y = -c1o4; - z = c1o4; - - //drho =c3o64*drho_NEB+c9o64*drho_NET+c1o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c27o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT; - press = press_SET * (c27o64 - c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + - press_NET * (c9o64 - c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + - press_SWT * (c9o64 + c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - press_NWT * (c3o64 + c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + - press_NWB * (c1o64 + c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + - press_NEB * (c3o64 - c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - press_SWB * (c3o64 + c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + - press_SEB * (c9o64 - c3o16 * xoff + c3o16 * yoff + c9o16 * zoff); - vx1 = a0 + c1o4*( ax - ay + az) + c1o16*(axx - axy + axz + ayy - ayz + azz) + c1o64*(-axyz); - vx2 = b0 + c1o4*( bx - by + bz) + c1o16*(bxx - bxy + bxz + byy - byz + bzz) + c1o64*(-bxyz); - vx3 = c0 + c1o4*( cx - cy + cz) + c1o16*(cxx - cxy + cxz + cyy - cyz + czz) + c1o64*(-cxyz); - - drho = press + (c2o1*axx*x+axy*y+axz*z+axyz*y*z+ax + c2o1*byy*y+bxy*x+byz*z+bxyz*x*z+by + c2o1*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/c3o1; // 1/3 = 2/3*(1/op-1/2) - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - feq_ZERO = c8o27* (drho-cu_sq); - feq_E = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - feq_N = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - feq_T = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - feq_NE = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - feq_SE = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - feq_TE = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - feq_BE = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - feq_TN = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - feq_BN = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - feq_TNE = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - feq_BNE = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - feq_TSE = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - feq_BSE = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - feq_W = feq_E + c2o27* (c6o1*(-vx1 )); - feq_S = feq_N + c2o27* (c6o1*( -vx2 )); - feq_B = feq_T + c2o27* (c6o1*( -vx3)); - feq_SW = feq_NE + c1o54* (c6o1*(-vx1-vx2 )); - feq_NW = feq_SE + c1o54* (c6o1*(-vx1+vx2 )); - feq_BW = feq_TE + c1o54* (c6o1*(-vx1 -vx3)); - feq_TW = feq_BE + c1o54* (c6o1*(-vx1 +vx3)); - feq_BS = feq_TN + c1o54* (c6o1*( -vx2-vx3)); - feq_TS = feq_BN + c1o54* (c6o1*( -vx2+vx3)); - feq_BSW = feq_TNE + c1o216*(c6o1*(-vx1-vx2-vx3)); - feq_TSW = feq_BNE + c1o216*(c6o1*(-vx1-vx2+vx3)); - feq_BNW = feq_TSE + c1o216*(c6o1*(-vx1+vx2-vx3)); - feq_TNW = feq_BSE + c1o216*(c6o1*(-vx1+vx2+vx3)); - - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - feF[kzero] = f_E + x_E - y_E + z_E - xy_E + xz_E - yz_E + feq_E; - fwF[kw] = f_E + x_E - y_E + z_E - xy_E + xz_E - yz_E + feq_W; - fnF[kzero] = f_N + x_N - y_N + z_N - xy_N + xz_N - yz_N + feq_N; - fsF[ks] = f_N + x_N - y_N + z_N - xy_N + xz_N - yz_N + feq_S; - ftF[kzero] = f_T + x_T - y_T + z_T - xy_T + xz_T - yz_T + feq_T; - fbF[kb] = f_T + x_T - y_T + z_T - xy_T + xz_T - yz_T + feq_B; - fneF[kzero] = f_NE + x_NE - y_NE + z_NE - xy_NE + xz_NE - yz_NE + feq_NE; - fswF[ksw] = f_NE + x_NE - y_NE + z_NE - xy_NE + xz_NE - yz_NE + feq_SW; - fseF[ks] = f_SE + x_SE - y_SE + z_SE - xy_SE + xz_SE - yz_SE + feq_SE; - fnwF[kw] = f_SE + x_SE - y_SE + z_SE - xy_SE + xz_SE - yz_SE + feq_NW; - fteF[kzero] = f_TE + x_TE - y_TE + z_TE - xy_TE + xz_TE - yz_TE + feq_TE; - fbwF[kbw] = f_TE + x_TE - y_TE + z_TE - xy_TE + xz_TE - yz_TE + feq_BW; - fbeF[kb] = f_BE + x_BE - y_BE + z_BE - xy_BE + xz_BE - yz_BE + feq_BE; - ftwF[kw] = f_BE + x_BE - y_BE + z_BE - xy_BE + xz_BE - yz_BE + feq_TW; - ftnF[kzero] = f_TN + x_TN - y_TN + z_TN - xy_TN + xz_TN - yz_TN + feq_TN; - fbsF[kbs] = f_TN + x_TN - y_TN + z_TN - xy_TN + xz_TN - yz_TN + feq_BS; - fbnF[kb] = f_BN + x_BN - y_BN + z_BN - xy_BN + xz_BN - yz_BN + feq_BN; - ftsF[ks] = f_BN + x_BN - y_BN + z_BN - xy_BN + xz_BN - yz_BN + feq_TS; - fzeroF[kzero]= f_ZERO + x_ZERO - y_ZERO + z_ZERO + feq_ZERO; - ftneF[kzero] = f_TNE + x_TNE - y_TNE + z_TNE - xy_TNE + xz_TNE - yz_TNE + feq_TNE; - ftswF[ksw] = f_TSW + x_TSW - y_TSW + z_TSW - xy_TSW + xz_TSW - yz_TSW + feq_TSW; - ftseF[ks] = f_TSE + x_TSE - y_TSE + z_TSE - xy_TSE + xz_TSE - yz_TSE + feq_TSE; - ftnwF[kw] = f_TNW + x_TNW - y_TNW + z_TNW - xy_TNW + xz_TNW - yz_TNW + feq_TNW; - fbneF[kb] = f_TSW + x_TSW - y_TSW + z_TSW - xy_TSW + xz_TSW - yz_TSW + feq_BNE; - fbswF[kbsw] = f_TNE + x_TNE - y_TNE + z_TNE - xy_TNE + xz_TNE - yz_TNE + feq_BSW; - fbseF[kbs] = f_TNW + x_TNW - y_TNW + z_TNW - xy_TNW + xz_TNW - yz_TNW + feq_BSE; - fbnwF[kbw] = f_TSE + x_TSE - y_TSE + z_TSE - xy_TSE + xz_TSE - yz_TSE + feq_BNW; - - //Position SEB 0.25, -0.25, -0.25 - x = c1o4; - y = -c1o4; - z = -c1o4; - - //drho =c9o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c1o64*drho_NWT+c27o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT; - press = press_SET * (c9o64 - c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + - press_NET * (c3o64 - c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - press_SWT * (c3o64 + c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + - press_NWT * (c1o64 + c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + - press_NWB * (c3o64 + c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + - press_NEB * (c9o64 - c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + - press_SWB * (c9o64 + c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - press_SEB * (c27o64 - c9o16 * xoff + c9o16 * yoff + c9o16 * zoff); - vx1 = a0 + c1o4*( ax - ay - az) + c1o16*(axx - axy - axz + ayy + ayz + azz) + c1o64*( axyz); - vx2 = b0 + c1o4*( bx - by - bz) + c1o16*(bxx - bxy - bxz + byy + byz + bzz) + c1o64*( bxyz); - vx3 = c0 + c1o4*( cx - cy - cz) + c1o16*(cxx - cxy - cxz + cyy + cyz + czz) + c1o64*( cxyz); - - drho = press + (c2o1*axx*x+axy*y+axz*z+axyz*y*z+ax + c2o1*byy*y+bxy*x+byz*z+bxyz*x*z+by + c2o1*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/c3o1; // 1/3 = 2/3*(1/op-1/2) - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - feq_ZERO = c8o27* (drho-cu_sq); - feq_E = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - feq_N = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - feq_T = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - feq_NE = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - feq_SE = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - feq_TE = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - feq_BE = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - feq_TN = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - feq_BN = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - feq_TNE = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - feq_BNE = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - feq_TSE = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - feq_BSE = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - feq_W = feq_E + c2o27* (c6o1*(-vx1 )); - feq_S = feq_N + c2o27* (c6o1*( -vx2 )); - feq_B = feq_T + c2o27* (c6o1*( -vx3)); - feq_SW = feq_NE + c1o54* (c6o1*(-vx1-vx2 )); - feq_NW = feq_SE + c1o54* (c6o1*(-vx1+vx2 )); - feq_BW = feq_TE + c1o54* (c6o1*(-vx1 -vx3)); - feq_TW = feq_BE + c1o54* (c6o1*(-vx1 +vx3)); - feq_BS = feq_TN + c1o54* (c6o1*( -vx2-vx3)); - feq_TS = feq_BN + c1o54* (c6o1*( -vx2+vx3)); - feq_BSW = feq_TNE + c1o216*(c6o1*(-vx1-vx2-vx3)); - feq_TSW = feq_BNE + c1o216*(c6o1*(-vx1-vx2+vx3)); - feq_BNW = feq_TSE + c1o216*(c6o1*(-vx1+vx2-vx3)); - feq_TNW = feq_BSE + c1o216*(c6o1*(-vx1+vx2+vx3)); - - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - feF[kzero] = f_E + x_E - y_E - z_E - xy_E - xz_E + yz_E + feq_E; - fwF[kw] = f_E + x_E - y_E - z_E - xy_E - xz_E + yz_E + feq_W; - fnF[kzero] = f_N + x_N - y_N - z_N - xy_N - xz_N + yz_N + feq_N; - fsF[ks] = f_N + x_N - y_N - z_N - xy_N - xz_N + yz_N + feq_S; - ftF[kzero] = f_T + x_T - y_T - z_T - xy_T - xz_T + yz_T + feq_T; - fbF[kb] = f_T + x_T - y_T - z_T - xy_T - xz_T + yz_T + feq_B; - fneF[kzero] = f_NE + x_NE - y_NE - z_NE - xy_NE - xz_NE + yz_NE + feq_NE; - fswF[ksw] = f_NE + x_NE - y_NE - z_NE - xy_NE - xz_NE + yz_NE + feq_SW; - fseF[ks] = f_SE + x_SE - y_SE - z_SE - xy_SE - xz_SE + yz_SE + feq_SE; - fnwF[kw] = f_SE + x_SE - y_SE - z_SE - xy_SE - xz_SE + yz_SE + feq_NW; - fteF[kzero] = f_TE + x_TE - y_TE - z_TE - xy_TE - xz_TE + yz_TE + feq_TE; - fbwF[kbw] = f_TE + x_TE - y_TE - z_TE - xy_TE - xz_TE + yz_TE + feq_BW; - fbeF[kb] = f_BE + x_BE - y_BE - z_BE - xy_BE - xz_BE + yz_BE + feq_BE; - ftwF[kw] = f_BE + x_BE - y_BE - z_BE - xy_BE - xz_BE + yz_BE + feq_TW; - ftnF[kzero] = f_TN + x_TN - y_TN - z_TN - xy_TN - xz_TN + yz_TN + feq_TN; - fbsF[kbs] = f_TN + x_TN - y_TN - z_TN - xy_TN - xz_TN + yz_TN + feq_BS; - fbnF[kb] = f_BN + x_BN - y_BN - z_BN - xy_BN - xz_BN + yz_BN + feq_BN; - ftsF[ks] = f_BN + x_BN - y_BN - z_BN - xy_BN - xz_BN + yz_BN + feq_TS; - fzeroF[kzero]= f_ZERO + x_ZERO - y_ZERO - z_ZERO + feq_ZERO; - ftneF[kzero] = f_TNE + x_TNE - y_TNE - z_TNE - xy_TNE - xz_TNE + yz_TNE + feq_TNE; - ftswF[ksw] = f_TSW + x_TSW - y_TSW - z_TSW - xy_TSW - xz_TSW + yz_TSW + feq_TSW; - ftseF[ks] = f_TSE + x_TSE - y_TSE - z_TSE - xy_TSE - xz_TSE + yz_TSE + feq_TSE; - ftnwF[kw] = f_TNW + x_TNW - y_TNW - z_TNW - xy_TNW - xz_TNW + yz_TNW + feq_TNW; - fbneF[kb] = f_TSW + x_TSW - y_TSW - z_TSW - xy_TSW - xz_TSW + yz_TSW + feq_BNE; - fbswF[kbsw] = f_TNE + x_TNE - y_TNE - z_TNE - xy_TNE - xz_TNE + yz_TNE + feq_BSW; - fbseF[kbs] = f_TNW + x_TNW - y_TNW - z_TNW - xy_TNW - xz_TNW + yz_TNW + feq_BSE; - fbnwF[kbw] = f_TSE + x_TSE - y_TSE - z_TSE - xy_TSE - xz_TSE + yz_TSE + feq_BNW; - - ////////////////////////////////////////////////////////////////////////// - //Position NWB -0.25, 0.25, -0.25 - x = -c1o4; - y = c1o4; - z = -c1o4; - - //drho = c9o64*drho_NEB+c3o64*drho_NET+c27o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c1o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT; - press = press_NWT * (c9o64 + c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + - press_NET * (c3o64 - c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + - press_SWT * (c3o64 + c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - press_SET * (c1o64 - c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + - press_SEB * (c3o64 - c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + - press_NEB * (c9o64 - c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - press_SWB * (c9o64 + c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + - press_NWB * (c27o64 + c9o16 * xoff - c9o16 * yoff + c9o16 * zoff); - vx1 = a0 + c1o4*(-ax + ay - az) + c1o16*(axx - axy + axz + ayy - ayz + azz) + c1o64*( axyz); - vx2 = b0 + c1o4*(-bx + by - bz) + c1o16*(bxx - bxy + bxz + byy - byz + bzz) + c1o64*( bxyz); - vx3 = c0 + c1o4*(-cx + cy - cz) + c1o16*(cxx - cxy + cxz + cyy - cyz + czz) + c1o64*( cxyz); - - drho = press + (c2o1*axx*x+axy*y+axz*z+axyz*y*z+ax + c2o1*byy*y+bxy*x+byz*z+bxyz*x*z+by + c2o1*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/c3o1; // 1/3 = 2/3*(1/op-1/2) - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - feq_ZERO = c8o27* (drho-cu_sq); - feq_E = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - feq_N = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - feq_T = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - feq_NE = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - feq_SE = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - feq_TE = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - feq_BE = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - feq_TN = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - feq_BN = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - feq_TNE = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - feq_BNE = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - feq_TSE = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - feq_BSE = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - feq_W = feq_E + c2o27* (c6o1*(-vx1 )); - feq_S = feq_N + c2o27* (c6o1*( -vx2 )); - feq_B = feq_T + c2o27* (c6o1*( -vx3)); - feq_SW = feq_NE + c1o54* (c6o1*(-vx1-vx2 )); - feq_NW = feq_SE + c1o54* (c6o1*(-vx1+vx2 )); - feq_BW = feq_TE + c1o54* (c6o1*(-vx1 -vx3)); - feq_TW = feq_BE + c1o54* (c6o1*(-vx1 +vx3)); - feq_BS = feq_TN + c1o54* (c6o1*( -vx2-vx3)); - feq_TS = feq_BN + c1o54* (c6o1*( -vx2+vx3)); - feq_BSW = feq_TNE + c1o216*(c6o1*(-vx1-vx2-vx3)); - feq_TSW = feq_BNE + c1o216*(c6o1*(-vx1-vx2+vx3)); - feq_BNW = feq_TSE + c1o216*(c6o1*(-vx1+vx2-vx3)); - feq_TNW = feq_BSE + c1o216*(c6o1*(-vx1+vx2+vx3)); - - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= k0s; - k0w = k0sw; - k0s = neighborFY[k0s]; - k0b = k0bs; - k0sw = neighborFY[k0sw]; - k0bw = k0bsw; - k0bs = neighborFY[k0bs]; - k0bsw = neighborFY[k0bsw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - feF[kzero] = f_E - x_E + y_E - z_E - xy_E + xz_E - yz_E + feq_E; - fwF[kw] = f_E - x_E + y_E - z_E - xy_E + xz_E - yz_E + feq_W; - fnF[kzero] = f_N - x_N + y_N - z_N - xy_N + xz_N - yz_N + feq_N; - fsF[ks] = f_N - x_N + y_N - z_N - xy_N + xz_N - yz_N + feq_S; - ftF[kzero] = f_T - x_T + y_T - z_T - xy_T + xz_T - yz_T + feq_T; - fbF[kb] = f_T - x_T + y_T - z_T - xy_T + xz_T - yz_T + feq_B; - fneF[kzero] = f_NE - x_NE + y_NE - z_NE - xy_NE + xz_NE - yz_NE + feq_NE; - fswF[ksw] = f_NE - x_NE + y_NE - z_NE - xy_NE + xz_NE - yz_NE + feq_SW; - fseF[ks] = f_SE - x_SE + y_SE - z_SE - xy_SE + xz_SE - yz_SE + feq_SE; - fnwF[kw] = f_SE - x_SE + y_SE - z_SE - xy_SE + xz_SE - yz_SE + feq_NW; - fteF[kzero] = f_TE - x_TE + y_TE - z_TE - xy_TE + xz_TE - yz_TE + feq_TE; - fbwF[kbw] = f_TE - x_TE + y_TE - z_TE - xy_TE + xz_TE - yz_TE + feq_BW; - fbeF[kb] = f_BE - x_BE + y_BE - z_BE - xy_BE + xz_BE - yz_BE + feq_BE; - ftwF[kw] = f_BE - x_BE + y_BE - z_BE - xy_BE + xz_BE - yz_BE + feq_TW; - ftnF[kzero] = f_TN - x_TN + y_TN - z_TN - xy_TN + xz_TN - yz_TN + feq_TN; - fbsF[kbs] = f_TN - x_TN + y_TN - z_TN - xy_TN + xz_TN - yz_TN + feq_BS; - fbnF[kb] = f_BN - x_BN + y_BN - z_BN - xy_BN + xz_BN - yz_BN + feq_BN; - ftsF[ks] = f_BN - x_BN + y_BN - z_BN - xy_BN + xz_BN - yz_BN + feq_TS; - fzeroF[kzero]= f_ZERO - x_ZERO + y_ZERO - z_ZERO + feq_ZERO; - ftneF[kzero] = f_TNE - x_TNE + y_TNE - z_TNE - xy_TNE + xz_TNE - yz_TNE + feq_TNE; - ftswF[ksw] = f_TSW - x_TSW + y_TSW - z_TSW - xy_TSW + xz_TSW - yz_TSW + feq_TSW; - ftseF[ks] = f_TSE - x_TSE + y_TSE - z_TSE - xy_TSE + xz_TSE - yz_TSE + feq_TSE; - ftnwF[kw] = f_TNW - x_TNW + y_TNW - z_TNW - xy_TNW + xz_TNW - yz_TNW + feq_TNW; - fbneF[kb] = f_TSW - x_TSW + y_TSW - z_TSW - xy_TSW + xz_TSW - yz_TSW + feq_BNE; - fbswF[kbsw] = f_TNE - x_TNE + y_TNE - z_TNE - xy_TNE + xz_TNE - yz_TNE + feq_BSW; - fbseF[kbs] = f_TNW - x_TNW + y_TNW - z_TNW - xy_TNW + xz_TNW - yz_TNW + feq_BSE; - fbnwF[kbw] = f_TSE - x_TSE + y_TSE - z_TSE - xy_TSE + xz_TSE - yz_TSE + feq_BNW; - - - //Position NWT -0.25, 0.25, 0.25 - x = -c1o4; - y = c1o4; - z = c1o4; - - //drho = c3o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c27o64*drho_NWT+c1o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT; - press = press_NWT * (c27o64 + c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + - press_NET * (c9o64 - c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - press_SWT * (c9o64 + c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + - press_SET * (c3o64 - c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + - press_SEB * (c1o64 - c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + - press_NEB * (c3o64 - c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + - press_SWB * (c3o64 + c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - press_NWB * (c9o64 + c3o16 * xoff - c3o16 * yoff + c9o16 * zoff); - vx1 = a0 + c1o4*(-ax + ay + az) + c1o16*(axx - axy - axz + ayy + ayz + azz) + c1o64*(-axyz); - vx2 = b0 + c1o4*(-bx + by + bz) + c1o16*(bxx - bxy - bxz + byy + byz + bzz) + c1o64*(-bxyz); - vx3 = c0 + c1o4*(-cx + cy + cz) + c1o16*(cxx - cxy - cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - drho = press + (c2o1*axx*x+axy*y+axz*z+axyz*y*z+ax + c2o1*byy*y+bxy*x+byz*z+bxyz*x*z+by + c2o1*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/c3o1; // 1/3 = 2/3*(1/op-1/2) - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - feq_ZERO = c8o27* (drho-cu_sq); - feq_E = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - feq_N = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - feq_T = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - feq_NE = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - feq_SE = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - feq_TE = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - feq_BE = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - feq_TN = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - feq_BN = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - feq_TNE = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - feq_BNE = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - feq_TSE = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - feq_BSE = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - feq_W = feq_E + c2o27* (c6o1*(-vx1 )); - feq_S = feq_N + c2o27* (c6o1*( -vx2 )); - feq_B = feq_T + c2o27* (c6o1*( -vx3)); - feq_SW = feq_NE + c1o54* (c6o1*(-vx1-vx2 )); - feq_NW = feq_SE + c1o54* (c6o1*(-vx1+vx2 )); - feq_BW = feq_TE + c1o54* (c6o1*(-vx1 -vx3)); - feq_TW = feq_BE + c1o54* (c6o1*(-vx1 +vx3)); - feq_BS = feq_TN + c1o54* (c6o1*( -vx2-vx3)); - feq_TS = feq_BN + c1o54* (c6o1*( -vx2+vx3)); - feq_BSW = feq_TNE + c1o216*(c6o1*(-vx1-vx2-vx3)); - feq_TSW = feq_BNE + c1o216*(c6o1*(-vx1-vx2+vx3)); - feq_BNW = feq_TSE + c1o216*(c6o1*(-vx1+vx2-vx3)); - feq_TNW = feq_BSE + c1o216*(c6o1*(-vx1+vx2+vx3)); - - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - feF[kzero] = f_E - x_E + y_E + z_E - xy_E - xz_E + yz_E + feq_E; - fwF[kw] = f_E - x_E + y_E + z_E - xy_E - xz_E + yz_E + feq_W; - fnF[kzero] = f_N - x_N + y_N + z_N - xy_N - xz_N + yz_N + feq_N; - fsF[ks] = f_N - x_N + y_N + z_N - xy_N - xz_N + yz_N + feq_S; - ftF[kzero] = f_T - x_T + y_T + z_T - xy_T - xz_T + yz_T + feq_T; - fbF[kb] = f_T - x_T + y_T + z_T - xy_T - xz_T + yz_T + feq_B; - fneF[kzero] = f_NE - x_NE + y_NE + z_NE - xy_NE - xz_NE + yz_NE + feq_NE; - fswF[ksw] = f_NE - x_NE + y_NE + z_NE - xy_NE - xz_NE + yz_NE + feq_SW; - fseF[ks] = f_SE - x_SE + y_SE + z_SE - xy_SE - xz_SE + yz_SE + feq_SE; - fnwF[kw] = f_SE - x_SE + y_SE + z_SE - xy_SE - xz_SE + yz_SE + feq_NW; - fteF[kzero] = f_TE - x_TE + y_TE + z_TE - xy_TE - xz_TE + yz_TE + feq_TE; - fbwF[kbw] = f_TE - x_TE + y_TE + z_TE - xy_TE - xz_TE + yz_TE + feq_BW; - fbeF[kb] = f_BE - x_BE + y_BE + z_BE - xy_BE - xz_BE + yz_BE + feq_BE; - ftwF[kw] = f_BE - x_BE + y_BE + z_BE - xy_BE - xz_BE + yz_BE + feq_TW; - ftnF[kzero] = f_TN - x_TN + y_TN + z_TN - xy_TN - xz_TN + yz_TN + feq_TN; - fbsF[kbs] = f_TN - x_TN + y_TN + z_TN - xy_TN - xz_TN + yz_TN + feq_BS; - fbnF[kb] = f_BN - x_BN + y_BN + z_BN - xy_BN - xz_BN + yz_BN + feq_BN; - ftsF[ks] = f_BN - x_BN + y_BN + z_BN - xy_BN - xz_BN + yz_BN + feq_TS; - fzeroF[kzero]= f_ZERO - x_ZERO + y_ZERO + z_ZERO + feq_ZERO; - ftneF[kzero] = f_TNE - x_TNE + y_TNE + z_TNE - xy_TNE - xz_TNE + yz_TNE + feq_TNE; - ftswF[ksw] = f_TSW - x_TSW + y_TSW + z_TSW - xy_TSW - xz_TSW + yz_TSW + feq_TSW; - ftseF[ks] = f_TSE - x_TSE + y_TSE + z_TSE - xy_TSE - xz_TSE + yz_TSE + feq_TSE; - ftnwF[kw] = f_TNW - x_TNW + y_TNW + z_TNW - xy_TNW - xz_TNW + yz_TNW + feq_TNW; - fbneF[kb] = f_TSW - x_TSW + y_TSW + z_TSW - xy_TSW - xz_TSW + yz_TSW + feq_BNE; - fbswF[kbsw] = f_TNE - x_TNE + y_TNE + z_TNE - xy_TNE - xz_TNE + yz_TNE + feq_BSW; - fbseF[kbs] = f_TNW - x_TNW + y_TNW + z_TNW - xy_TNW - xz_TNW + yz_TNW + feq_BSE; - fbnwF[kbw] = f_TSE - x_TSE + y_TSE + z_TSE - xy_TSE - xz_TSE + yz_TSE + feq_BNW; - - //Position NET 0.25, 0.25, 0.25 - x = c1o4; - y = c1o4; - z = c1o4; - - //drho = c9o64*drho_NEB+c27o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c1o64*drho_SWB+c3o64*drho_SWT; - press = press_NET * (c27o64 - c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + - press_NWT * (c9o64 + c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - press_SET * (c9o64 - c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + - press_SWT * (c3o64 + c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + - press_SWB * (c1o64 + c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + - press_NWB * (c3o64 + c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + - press_SEB * (c3o64 - c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - press_NEB * (c9o64 - c3o16 * xoff - c3o16 * yoff + c9o16 * zoff); - vx1 = a0 + c1o4*( ax + ay + az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*( axyz); - vx2 = b0 + c1o4*( bx + by + bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*( bxyz); - vx3 = c0 + c1o4*( cx + cy + cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*( cxyz); - - drho = press + (c2o1*axx*x+axy*y+axz*z+axyz*y*z+ax + c2o1*byy*y+bxy*x+byz*z+bxyz*x*z+by + c2o1*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/c3o1; // 1/3 = 2/3*(1/op-1/2) - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - feq_ZERO = c8o27* (drho-cu_sq); - feq_E = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - feq_N = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - feq_T = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - feq_NE = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - feq_SE = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - feq_TE = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - feq_BE = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - feq_TN = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - feq_BN = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - feq_TNE = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - feq_BNE = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - feq_TSE = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - feq_BSE = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - feq_W = feq_E + c2o27* (c6o1*(-vx1 )); - feq_S = feq_N + c2o27* (c6o1*( -vx2 )); - feq_B = feq_T + c2o27* (c6o1*( -vx3)); - feq_SW = feq_NE + c1o54* (c6o1*(-vx1-vx2 )); - feq_NW = feq_SE + c1o54* (c6o1*(-vx1+vx2 )); - feq_BW = feq_TE + c1o54* (c6o1*(-vx1 -vx3)); - feq_TW = feq_BE + c1o54* (c6o1*(-vx1 +vx3)); - feq_BS = feq_TN + c1o54* (c6o1*( -vx2-vx3)); - feq_TS = feq_BN + c1o54* (c6o1*( -vx2+vx3)); - feq_BSW = feq_TNE + c1o216*(c6o1*(-vx1-vx2-vx3)); - feq_TSW = feq_BNE + c1o216*(c6o1*(-vx1-vx2+vx3)); - feq_BNW = feq_TSE + c1o216*(c6o1*(-vx1+vx2-vx3)); - feq_TNW = feq_BSE + c1o216*(c6o1*(-vx1+vx2+vx3)); - - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - feF[kzero] = f_E + x_E + y_E + z_E + xy_E + xz_E + yz_E + feq_E; - fwF[kw] = f_E + x_E + y_E + z_E + xy_E + xz_E + yz_E + feq_W; - fnF[kzero] = f_N + x_N + y_N + z_N + xy_N + xz_N + yz_N + feq_N; - fsF[ks] = f_N + x_N + y_N + z_N + xy_N + xz_N + yz_N + feq_S; - ftF[kzero] = f_T + x_T + y_T + z_T + xy_T + xz_T + yz_T + feq_T; - fbF[kb] = f_T + x_T + y_T + z_T + xy_T + xz_T + yz_T + feq_B; - fneF[kzero] = f_NE + x_NE + y_NE + z_NE + xy_NE + xz_NE + yz_NE + feq_NE; - fswF[ksw] = f_NE + x_NE + y_NE + z_NE + xy_NE + xz_NE + yz_NE + feq_SW; - fseF[ks] = f_SE + x_SE + y_SE + z_SE + xy_SE + xz_SE + yz_SE + feq_SE; - fnwF[kw] = f_SE + x_SE + y_SE + z_SE + xy_SE + xz_SE + yz_SE + feq_NW; - fteF[kzero] = f_TE + x_TE + y_TE + z_TE + xy_TE + xz_TE + yz_TE + feq_TE; - fbwF[kbw] = f_TE + x_TE + y_TE + z_TE + xy_TE + xz_TE + yz_TE + feq_BW; - fbeF[kb] = f_BE + x_BE + y_BE + z_BE + xy_BE + xz_BE + yz_BE + feq_BE; - ftwF[kw] = f_BE + x_BE + y_BE + z_BE + xy_BE + xz_BE + yz_BE + feq_TW; - ftnF[kzero] = f_TN + x_TN + y_TN + z_TN + xy_TN + xz_TN + yz_TN + feq_TN; - fbsF[kbs] = f_TN + x_TN + y_TN + z_TN + xy_TN + xz_TN + yz_TN + feq_BS; - fbnF[kb] = f_BN + x_BN + y_BN + z_BN + xy_BN + xz_BN + yz_BN + feq_BN; - ftsF[ks] = f_BN + x_BN + y_BN + z_BN + xy_BN + xz_BN + yz_BN + feq_TS; - fzeroF[kzero]= f_ZERO + x_ZERO + y_ZERO + z_ZERO + feq_ZERO; - ftneF[kzero] = f_TNE + x_TNE + y_TNE + z_TNE + xy_TNE + xz_TNE + yz_TNE + feq_TNE; - ftswF[ksw] = f_TSW + x_TSW + y_TSW + z_TSW + xy_TSW + xz_TSW + yz_TSW + feq_TSW; - ftseF[ks] = f_TSE + x_TSE + y_TSE + z_TSE + xy_TSE + xz_TSE + yz_TSE + feq_TSE; - ftnwF[kw] = f_TNW + x_TNW + y_TNW + z_TNW + xy_TNW + xz_TNW + yz_TNW + feq_TNW; - fbneF[kb] = f_TSW + x_TSW + y_TSW + z_TSW + xy_TSW + xz_TSW + yz_TSW + feq_BNE; - fbswF[kbsw] = f_TNE + x_TNE + y_TNE + z_TNE + xy_TNE + xz_TNE + yz_TNE + feq_BSW; - fbseF[kbs] = f_TNW + x_TNW + y_TNW + z_TNW + xy_TNW + xz_TNW + yz_TNW + feq_BSE; - fbnwF[kbw] = f_TSE + x_TSE + y_TSE + z_TSE + xy_TSE + xz_TSE + yz_TSE + feq_BNW; - - - //Position NEB 0.25, 0.25, -0.25 - x = c1o4; - y = c1o4; - z = -c1o4; - - //drho = c27o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c1o64*drho_SWT; - press = press_NET * (c9o64 - c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + - press_NWT * (c3o64 + c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + - press_SET * (c3o64 - c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - press_SWT * (c1o64 + c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + - press_SWB * (c3o64 + c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + - press_NWB * (c9o64 + c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - press_SEB * (c9o64 - c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + - press_NEB * (c27o64 - c9o16 * xoff - c9o16 * yoff + c9o16 * zoff); - vx1 = a0 + c1o4*( ax + ay - az) + c1o16*(axx + axy - axz + ayy - ayz + azz) + c1o64*(-axyz); - vx2 = b0 + c1o4*( bx + by - bz) + c1o16*(bxx + bxy - bxz + byy - byz + bzz) + c1o64*(-bxyz); - vx3 = c0 + c1o4*( cx + cy - cz) + c1o16*(cxx + cxy - cxz + cyy - cyz + czz) + c1o64*(-cxyz); - - drho = press + (c2o1*axx*x+axy*y+axz*z+axyz*y*z+ax + c2o1*byy*y+bxy*x+byz*z+bxyz*x*z+by + c2o1*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/c3o1; // 1/3 = 2/3*(1/op-1/2) - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - feq_ZERO = c8o27* (drho-cu_sq); - feq_E = c2o27* (drho+3.0f*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - feq_N = c2o27* (drho+3.0f*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - feq_T = c2o27* (drho+3.0f*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - feq_NE = c1o54* (drho+3.0f*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - feq_SE = c1o54* (drho+3.0f*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - feq_TE = c1o54* (drho+3.0f*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - feq_BE = c1o54* (drho+3.0f*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - feq_TN = c1o54* (drho+3.0f*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - feq_BN = c1o54* (drho+3.0f*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - feq_TNE = c1o216*(drho+3.0f*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - feq_BNE = c1o216*(drho+3.0f*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - feq_TSE = c1o216*(drho+3.0f*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - feq_BSE = c1o216*(drho+3.0f*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - feq_W = feq_E + c2o27* (6.0f*(-vx1 )); - feq_S = feq_N + c2o27* (6.0f*( -vx2 )); - feq_B = feq_T + c2o27* (6.0f*( -vx3)); - feq_SW = feq_NE + c1o54* (6.0f*(-vx1-vx2 )); - feq_NW = feq_SE + c1o54* (6.0f*(-vx1+vx2 )); - feq_BW = feq_TE + c1o54* (6.0f*(-vx1 -vx3)); - feq_TW = feq_BE + c1o54* (6.0f*(-vx1 +vx3)); - feq_BS = feq_TN + c1o54* (6.0f*( -vx2-vx3)); - feq_TS = feq_BN + c1o54* (6.0f*( -vx2+vx3)); - feq_BSW = feq_TNE + c1o216*(6.0f*(-vx1-vx2-vx3)); - feq_TSW = feq_BNE + c1o216*(6.0f*(-vx1-vx2+vx3)); - feq_BNW = feq_TSE + c1o216*(6.0f*(-vx1+vx2-vx3)); - feq_TNW = feq_BSE + c1o216*(6.0f*(-vx1+vx2+vx3)); - - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - feF[kzero] = f_E + x_E + y_E - z_E + xy_E - xz_E - yz_E + feq_E; - fwF[kw] = f_E + x_E + y_E - z_E + xy_E - xz_E - yz_E + feq_W; - fnF[kzero] = f_N + x_N + y_N - z_N + xy_N - xz_N - yz_N + feq_N; - fsF[ks] = f_N + x_N + y_N - z_N + xy_N - xz_N - yz_N + feq_S; - ftF[kzero] = f_T + x_T + y_T - z_T + xy_T - xz_T - yz_T + feq_T; - fbF[kb] = f_T + x_T + y_T - z_T + xy_T - xz_T - yz_T + feq_B; - fneF[kzero] = f_NE + x_NE + y_NE - z_NE + xy_NE - xz_NE - yz_NE + feq_NE; - fswF[ksw] = f_NE + x_NE + y_NE - z_NE + xy_NE - xz_NE - yz_NE + feq_SW; - fseF[ks] = f_SE + x_SE + y_SE - z_SE + xy_SE - xz_SE - yz_SE + feq_SE; - fnwF[kw] = f_SE + x_SE + y_SE - z_SE + xy_SE - xz_SE - yz_SE + feq_NW; - fteF[kzero] = f_TE + x_TE + y_TE - z_TE + xy_TE - xz_TE - yz_TE + feq_TE; - fbwF[kbw] = f_TE + x_TE + y_TE - z_TE + xy_TE - xz_TE - yz_TE + feq_BW; - fbeF[kb] = f_BE + x_BE + y_BE - z_BE + xy_BE - xz_BE - yz_BE + feq_BE; - ftwF[kw] = f_BE + x_BE + y_BE - z_BE + xy_BE - xz_BE - yz_BE + feq_TW; - ftnF[kzero] = f_TN + x_TN + y_TN - z_TN + xy_TN - xz_TN - yz_TN + feq_TN; - fbsF[kbs] = f_TN + x_TN + y_TN - z_TN + xy_TN - xz_TN - yz_TN + feq_BS; - fbnF[kb] = f_BN + x_BN + y_BN - z_BN + xy_BN - xz_BN - yz_BN + feq_BN; - ftsF[ks] = f_BN + x_BN + y_BN - z_BN + xy_BN - xz_BN - yz_BN + feq_TS; - fzeroF[kzero]= f_ZERO + x_ZERO + y_ZERO - z_ZERO + feq_ZERO; - ftneF[kzero] = f_TNE + x_TNE + y_TNE - z_TNE + xy_TNE - xz_TNE - yz_TNE + feq_TNE; - ftswF[ksw] = f_TSW + x_TSW + y_TSW - z_TSW + xy_TSW - xz_TSW - yz_TSW + feq_TSW; - ftseF[ks] = f_TSE + x_TSE + y_TSE - z_TSE + xy_TSE - xz_TSE - yz_TSE + feq_TSE; - ftnwF[kw] = f_TNW + x_TNW + y_TNW - z_TNW + xy_TNW - xz_TNW - yz_TNW + feq_TNW; - fbneF[kb] = f_TSW + x_TSW + y_TSW - z_TSW + xy_TSW - xz_TSW - yz_TSW + feq_BNE; - fbswF[kbsw] = f_TNE + x_TNE + y_TNE - z_TNE + xy_TNE - xz_TNE - yz_TNE + feq_BSW; - fbseF[kbs] = f_TNW + x_TNW + y_TNW - z_TNW + xy_TNW - xz_TNW - yz_TNW + feq_BSE; - fbnwF[kbw] = f_TSE + x_TSE + y_TSE - z_TSE + xy_TSE - xz_TSE - yz_TSE + feq_BNW; - } -} -////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -////////////////////////////////////////////////////////////////////////// -__global__ void scaleCFLast27( real* DC, - real* DF, - unsigned int* neighborCX, - unsigned int* neighborCY, - unsigned int* neighborCZ, - unsigned int* neighborFX, - unsigned int* neighborFY, - unsigned int* neighborFZ, - unsigned long long numberOfLBnodesCoarse, - unsigned long long numberOfLBnodesFine, - bool isEvenTimestep, - unsigned int* posCSWB, - unsigned int* posFSWB, - unsigned int kCF, - real omCoarse, - real omFine, - real nu, - unsigned int nxC, - unsigned int nyC, - unsigned int nxF, - unsigned int nyF, - ICellNeigh offCF) -{ - real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, - *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - - feF = &DF[dP00 * numberOfLBnodesFine]; - fwF = &DF[dM00 * numberOfLBnodesFine]; - fnF = &DF[d0P0 * numberOfLBnodesFine]; - fsF = &DF[d0M0 * numberOfLBnodesFine]; - ftF = &DF[d00P * numberOfLBnodesFine]; - fbF = &DF[d00M * numberOfLBnodesFine]; - fneF = &DF[dPP0 * numberOfLBnodesFine]; - fswF = &DF[dMM0 * numberOfLBnodesFine]; - fseF = &DF[dPM0 * numberOfLBnodesFine]; - fnwF = &DF[dMP0 * numberOfLBnodesFine]; - fteF = &DF[dP0P * numberOfLBnodesFine]; - fbwF = &DF[dM0M * numberOfLBnodesFine]; - fbeF = &DF[dP0M * numberOfLBnodesFine]; - ftwF = &DF[dM0P * numberOfLBnodesFine]; - ftnF = &DF[d0PP * numberOfLBnodesFine]; - fbsF = &DF[d0MM * numberOfLBnodesFine]; - fbnF = &DF[d0PM * numberOfLBnodesFine]; - ftsF = &DF[d0MP * numberOfLBnodesFine]; - fzeroF = &DF[d000 * numberOfLBnodesFine]; - ftneF = &DF[dPPP * numberOfLBnodesFine]; - ftswF = &DF[dMMP * numberOfLBnodesFine]; - ftseF = &DF[dPMP * numberOfLBnodesFine]; - ftnwF = &DF[dMPP * numberOfLBnodesFine]; - fbneF = &DF[dPPM * numberOfLBnodesFine]; - fbswF = &DF[dMMM * numberOfLBnodesFine]; - fbseF = &DF[dPMM * numberOfLBnodesFine]; - fbnwF = &DF[dMPM * numberOfLBnodesFine]; - - real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, *fzeroC, - *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; - - if (isEvenTimestep==true) - { - feC = &DC[dP00 * numberOfLBnodesCoarse]; - fwC = &DC[dM00 * numberOfLBnodesCoarse]; - fnC = &DC[d0P0 * numberOfLBnodesCoarse]; - fsC = &DC[d0M0 * numberOfLBnodesCoarse]; - ftC = &DC[d00P * numberOfLBnodesCoarse]; - fbC = &DC[d00M * numberOfLBnodesCoarse]; - fneC = &DC[dPP0 * numberOfLBnodesCoarse]; - fswC = &DC[dMM0 * numberOfLBnodesCoarse]; - fseC = &DC[dPM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dMP0 * numberOfLBnodesCoarse]; - fteC = &DC[dP0P * numberOfLBnodesCoarse]; - fbwC = &DC[dM0M * numberOfLBnodesCoarse]; - fbeC = &DC[dP0M * numberOfLBnodesCoarse]; - ftwC = &DC[dM0P * numberOfLBnodesCoarse]; - ftnC = &DC[d0PP * numberOfLBnodesCoarse]; - fbsC = &DC[d0MM * numberOfLBnodesCoarse]; - fbnC = &DC[d0PM * numberOfLBnodesCoarse]; - ftsC = &DC[d0MP * numberOfLBnodesCoarse]; - fzeroC = &DC[d000 * numberOfLBnodesCoarse]; - ftneC = &DC[dPPP * numberOfLBnodesCoarse]; - ftswC = &DC[dMMP * numberOfLBnodesCoarse]; - ftseC = &DC[dPMP * numberOfLBnodesCoarse]; - ftnwC = &DC[dMPP * numberOfLBnodesCoarse]; - fbneC = &DC[dPPM * numberOfLBnodesCoarse]; - fbswC = &DC[dMMM * numberOfLBnodesCoarse]; - fbseC = &DC[dPMM * numberOfLBnodesCoarse]; - fbnwC = &DC[dMPM * numberOfLBnodesCoarse]; - } - else - { - fwC = &DC[dP00 * numberOfLBnodesCoarse]; - feC = &DC[dM00 * numberOfLBnodesCoarse]; - fsC = &DC[d0P0 * numberOfLBnodesCoarse]; - fnC = &DC[d0M0 * numberOfLBnodesCoarse]; - fbC = &DC[d00P * numberOfLBnodesCoarse]; - ftC = &DC[d00M * numberOfLBnodesCoarse]; - fswC = &DC[dPP0 * numberOfLBnodesCoarse]; - fneC = &DC[dMM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dPM0 * numberOfLBnodesCoarse]; - fseC = &DC[dMP0 * numberOfLBnodesCoarse]; - fbwC = &DC[dP0P * numberOfLBnodesCoarse]; - fteC = &DC[dM0M * numberOfLBnodesCoarse]; - ftwC = &DC[dP0M * numberOfLBnodesCoarse]; - fbeC = &DC[dM0P * numberOfLBnodesCoarse]; - fbsC = &DC[d0PP * numberOfLBnodesCoarse]; - ftnC = &DC[d0MM * numberOfLBnodesCoarse]; - ftsC = &DC[d0PM * numberOfLBnodesCoarse]; - fbnC = &DC[d0MP * numberOfLBnodesCoarse]; - fzeroC = &DC[d000 * numberOfLBnodesCoarse]; - fbswC = &DC[dPPP * numberOfLBnodesCoarse]; - fbneC = &DC[dMMP * numberOfLBnodesCoarse]; - fbnwC = &DC[dPMP * numberOfLBnodesCoarse]; - fbseC = &DC[dMPP * numberOfLBnodesCoarse]; - ftswC = &DC[dPPM * numberOfLBnodesCoarse]; - ftneC = &DC[dMMM * numberOfLBnodesCoarse]; - ftnwC = &DC[dPMM * numberOfLBnodesCoarse]; - ftseC = &DC[dMPM * numberOfLBnodesCoarse]; - } - - //////////////////////////////////////////////////////////////////////////////// - const unsigned ix = threadIdx.x; // Globaler x-Index - const unsigned iy = blockIdx.x; // Globaler y-Index - const unsigned iz = blockIdx.y; // Globaler z-Index - - const unsigned nx = blockDim.x; - const unsigned ny = gridDim.x; - - const unsigned k = nx*(ny*iz + iy) + ix; - ////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////// - real eps_new = c1o2; - real omegaS = omCoarse;//-omCoarse; - real o = omFine;//-omFine; - //real op = one; - real cu_sq; - - real xoff, yoff, zoff; - real xoff_sq, yoff_sq, zoff_sq; - - real drho,vx1,vx2,vx3; - real drho_SWT,vx1_SWT,vx2_SWT,vx3_SWT; - real drho_NWT,vx1_NWT,vx2_NWT,vx3_NWT; - real drho_NET,vx1_NET,vx2_NET,vx3_NET; - real drho_SET,vx1_SET,vx2_SET,vx3_SET; - real drho_SWB,vx1_SWB,vx2_SWB,vx3_SWB; - real drho_NWB,vx1_NWB,vx2_NWB,vx3_NWB; - real drho_NEB,vx1_NEB,vx2_NEB,vx3_NEB; - real drho_SEB,vx1_SEB,vx2_SEB,vx3_SEB; - real f_E,f_W,f_N,f_S,f_T,f_B,f_NE,f_SW,f_SE,f_NW,f_TE,f_BW,f_BE,f_TW,f_TN,f_BS,f_BN,f_TS,f_ZERO,f_TNE, f_TSW, f_TSE, f_TNW, f_BNE, f_BSW, f_BSE, f_BNW; - real feq_E,feq_W,feq_N,feq_S,feq_T,feq_B,feq_NE,feq_SW,feq_SE,feq_NW,feq_TE,feq_BW,feq_BE,feq_TW,feq_TN,feq_BS,feq_BN,feq_TS,feq_ZERO,feq_TNE, feq_TSW, feq_TSE, feq_TNW, feq_BNE, feq_BSW, feq_BSE, feq_BNW; - real kxyFromfcNEQ_SWT, kyzFromfcNEQ_SWT, kxzFromfcNEQ_SWT, kxxMyyFromfcNEQ_SWT, kxxMzzFromfcNEQ_SWT; - real kxyFromfcNEQ_NWT, kyzFromfcNEQ_NWT, kxzFromfcNEQ_NWT, kxxMyyFromfcNEQ_NWT, kxxMzzFromfcNEQ_NWT; - real kxyFromfcNEQ_NET, kyzFromfcNEQ_NET, kxzFromfcNEQ_NET, kxxMyyFromfcNEQ_NET, kxxMzzFromfcNEQ_NET; - real kxyFromfcNEQ_SET, kyzFromfcNEQ_SET, kxzFromfcNEQ_SET, kxxMyyFromfcNEQ_SET, kxxMzzFromfcNEQ_SET; - real kxyFromfcNEQ_SWB, kyzFromfcNEQ_SWB, kxzFromfcNEQ_SWB, kxxMyyFromfcNEQ_SWB, kxxMzzFromfcNEQ_SWB; - real kxyFromfcNEQ_NWB, kyzFromfcNEQ_NWB, kxzFromfcNEQ_NWB, kxxMyyFromfcNEQ_NWB, kxxMzzFromfcNEQ_NWB; - real kxyFromfcNEQ_NEB, kyzFromfcNEQ_NEB, kxzFromfcNEQ_NEB, kxxMyyFromfcNEQ_NEB, kxxMzzFromfcNEQ_NEB; - real kxyFromfcNEQ_SEB, kyzFromfcNEQ_SEB, kxzFromfcNEQ_SEB, kxxMyyFromfcNEQ_SEB, kxxMzzFromfcNEQ_SEB; - real a0, ax, ay, az, axx, ayy, azz, axy, axz, ayz, b0, bx, by, bz, bxx, byy, bzz, bxy, bxz, byz, c0, cx, cy, cz, cxx, cyy, czz, cxy, cxz, cyz, axyz, bxyz, cxyz; - - //real x,y,z; - - - if(k<kCF) - { - ////////////////////////////////////////////////////////////////////////// - xoff = offCF.x[k]; - yoff = offCF.y[k]; - zoff = offCF.z[k]; - xoff_sq = xoff * xoff; - yoff_sq = yoff * yoff; - zoff_sq = zoff * zoff; - ////////////////////////////////////////////////////////////////////////// - //SWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - unsigned int k0zero= posCSWB[k]; - unsigned int k0w = neighborCX[k0zero]; - unsigned int k0s = neighborCY[k0zero]; - unsigned int k0b = neighborCZ[k0zero]; - unsigned int k0sw = neighborCY[k0w]; - unsigned int k0bw = neighborCZ[k0w]; - unsigned int k0bs = neighborCZ[k0s]; - unsigned int k0bsw = neighborCZ[k0sw]; - ////////////////////////////////////////////////////////////////////////// - //index - unsigned int kzero= k0zero; - unsigned int kw = k0w; - unsigned int ks = k0s; - unsigned int kb = k0b; - unsigned int ksw = k0sw; - unsigned int kbw = k0bw; - unsigned int kbs = k0bs; - unsigned int kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - //vx1_SWB = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_SWB = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_SWB = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_SWB = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_SWB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_SWB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_SWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - - kxyFromfcNEQ_SWB = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SWB*vx2_SWB)); - kyzFromfcNEQ_SWB = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_SWB*vx3_SWB)); - kxzFromfcNEQ_SWB = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_SWB*vx3_SWB)); - kxxMyyFromfcNEQ_SWB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_SWB*vx1_SWB-vx2_SWB*vx2_SWB)); - kxxMzzFromfcNEQ_SWB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_SWB*vx1_SWB-vx3_SWB*vx3_SWB)); - - ////////////////////////////////////////////////////////////////////////// - //SWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborCZ[kb]; - ksw = kbsw; - kbw = neighborCZ[kbw]; - kbs = neighborCZ[kbs]; - kbsw = neighborCZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - //vx1_SWT = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_SWT = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_SWT = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_SWT = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_SWT = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_SWT = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_SWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - - kxyFromfcNEQ_SWT = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SWT*vx2_SWT)); - kyzFromfcNEQ_SWT = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_SWT*vx3_SWT)); - kxzFromfcNEQ_SWT = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_SWT*vx3_SWT)); - kxxMyyFromfcNEQ_SWT = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_SWT*vx1_SWT-vx2_SWT*vx2_SWT)); - kxxMzzFromfcNEQ_SWT = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_SWT*vx1_SWT-vx3_SWT*vx3_SWT)); - - ////////////////////////////////////////////////////////////////////////// - //SET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborCX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborCX[ksw]; - kbw = neighborCX[kbw]; - kbs = kbsw; - kbsw = neighborCX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - //vx1_SET = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_SET = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_SET = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_SET = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_SET = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_SET = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_SET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - - kxyFromfcNEQ_SET = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SET*vx2_SET)); - kyzFromfcNEQ_SET = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_SET*vx3_SET)); - kxzFromfcNEQ_SET = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_SET*vx3_SET)); - kxxMyyFromfcNEQ_SET = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_SET*vx1_SET-vx2_SET*vx2_SET)); - kxxMzzFromfcNEQ_SET = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_SET*vx1_SET-vx3_SET*vx3_SET)); - - ////////////////////////////////////////////////////////////////////////// - //SEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborCX[k0w]; - ks = k0sw; - ksw = neighborCX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - //vx1_SEB = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_SEB = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_SEB = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_SEB = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_SEB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_SEB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_SEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - - kxyFromfcNEQ_SEB = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SEB*vx2_SEB)); - kyzFromfcNEQ_SEB = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_SEB*vx3_SEB)); - kxzFromfcNEQ_SEB = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_SEB*vx3_SEB)); - kxxMyyFromfcNEQ_SEB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_SEB*vx1_SEB-vx2_SEB*vx2_SEB)); - kxxMzzFromfcNEQ_SEB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_SEB*vx1_SEB-vx3_SEB*vx3_SEB)); - - ////////////////////////////////////////////////////////////////////////// - //NWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= k0s; - k0w = k0sw; - k0s = neighborCY[k0s]; - k0b = k0bs; - k0sw = neighborCY[k0sw]; - k0bw = k0bsw; - k0bs = neighborCY[k0bs]; - k0bsw = neighborCY[k0bsw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - //vx1_NWB = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_NWB = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_NWB = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_NWB = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_NWB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_NWB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_NWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - - kxyFromfcNEQ_NWB = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NWB*vx2_NWB)); - kyzFromfcNEQ_NWB = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_NWB*vx3_NWB)); - kxzFromfcNEQ_NWB = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_NWB*vx3_NWB)); - kxxMyyFromfcNEQ_NWB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_NWB*vx1_NWB-vx2_NWB*vx2_NWB)); - kxxMzzFromfcNEQ_NWB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_NWB*vx1_NWB-vx3_NWB*vx3_NWB)); - - ////////////////////////////////////////////////////////////////////////// - //NWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborCZ[kb]; - ksw = kbsw; - kbw = neighborCZ[kbw]; - kbs = neighborCZ[kbs]; - kbsw = neighborCZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - //vx1_NWT = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_NWT = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_NWT = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_NWT = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_NWT = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_NWT = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_NWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - - kxyFromfcNEQ_NWT = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NWT*vx2_NWT)); - kyzFromfcNEQ_NWT = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_NWT*vx3_NWT)); - kxzFromfcNEQ_NWT = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_NWT*vx3_NWT)); - kxxMyyFromfcNEQ_NWT = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_NWT*vx1_NWT-vx2_NWT*vx2_NWT)); - kxxMzzFromfcNEQ_NWT = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_NWT*vx1_NWT-vx3_NWT*vx3_NWT)); - - ////////////////////////////////////////////////////////////////////////// - //NET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborCX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborCX[ksw]; - kbw = neighborCX[kbw]; - kbs = kbsw; - kbsw = neighborCX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - //vx1_NET = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_NET = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_NET = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_NET = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_NET = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_NET = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_NET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - - kxyFromfcNEQ_NET = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NET*vx2_NET)); - kyzFromfcNEQ_NET = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_NET*vx3_NET)); - kxzFromfcNEQ_NET = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_NET*vx3_NET)); - kxxMyyFromfcNEQ_NET = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_NET*vx1_NET-vx2_NET*vx2_NET)); - kxxMzzFromfcNEQ_NET = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_NET*vx1_NET-vx3_NET*vx3_NET)); - - ////////////////////////////////////////////////////////////////////////// - //NEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborCX[k0w]; - ks = k0sw; - ksw = neighborCX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - //vx1_NEB = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_NEB = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_NEB = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_NEB = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_NEB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_NEB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_NEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - - kxyFromfcNEQ_NEB = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NEB*vx2_NEB)); - kyzFromfcNEQ_NEB = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_NEB*vx3_NEB)); - kxzFromfcNEQ_NEB = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_NEB*vx3_NEB)); - kxxMyyFromfcNEQ_NEB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_NEB*vx1_NEB-vx2_NEB*vx2_NEB)); - kxxMzzFromfcNEQ_NEB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_NEB*vx1_NEB-vx3_NEB*vx3_NEB)); - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - ////for all _SWB _SET _NWT _NEB - ////Version 1 fixed - //ayz= -kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB - kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT - kyzFromfcNEQ_SET - kyzFromfcNEQ_NEB; - //bxz= -kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB + kxzFromfcNEQ_SWB - kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET - kxzFromfcNEQ_NEB - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - //cxy= kxyFromfcNEQ_SWB - kxyFromfcNEQ_NWT - kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB - kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - //ax = ayz + four*( - vx1_SWB + vx1_SET - vx1_NWT + vx1_NEB); - //by = bxz + four*( - vx2_SWB - vx2_SET + vx2_NWT + vx2_NEB); - //cz = cxy + four*( - vx3_SWB + vx3_SET + vx3_NWT - vx3_NEB); - //axy= two*( vx1_SWB - vx1_NWT - vx1_SET + vx1_NEB + vx3_SWB + vx3_NWT - vx3_SET - vx3_NEB) - kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB; - //axz= two*( vx1_SWB - vx1_NWT + vx1_SET - vx1_NEB + vx2_SWB + vx2_NWT - vx2_SET - vx2_NEB) - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB + kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB; - //bxy= two*( vx2_SWB - vx2_NWT - vx2_SET + vx2_NEB + vx3_SWB - vx3_NWT + vx3_SET - vx3_NEB) + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - //ay = axz + four*( - vx1_SWB - vx1_SET + vx1_NWT + vx1_NEB); - //az = axy + four*( - vx1_SWB + vx1_SET + vx1_NWT - vx1_NEB); - //bz = bxy + four*( - vx2_SWB + vx2_SET + vx2_NWT - vx2_NEB); - //bx = two*(kxyFromfcNEQ_SWB + kxyFromfcNEQ_SET + kxyFromfcNEQ_NWT + kxyFromfcNEQ_NEB) - ay; - //cy = two*(kyzFromfcNEQ_SWB + kyzFromfcNEQ_SET + kyzFromfcNEQ_NWT + kyzFromfcNEQ_NEB) - bz; - //cx = two*(kxzFromfcNEQ_SWB + kxzFromfcNEQ_SET + kxzFromfcNEQ_NWT + kxzFromfcNEQ_NEB) - az; - //byz= bx + four*( vx2_SWB - vx2_SET + vx2_NWT - vx2_NEB); - //cyz= cx + four*( vx3_SWB - vx3_SET + vx3_NWT - vx3_NEB); - //cxz= cy + four*( vx3_SWB + vx3_SET - vx3_NWT - vx3_NEB); - //axx= bz + four*( vx2_SWB - vx2_SET - vx2_NWT + vx2_NEB) + two*(-kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_NEB); - //ayy= four*( -vx2_SWB + vx2_SET + vx2_NWT - vx2_NEB) + two*(-kxyFromfcNEQ_SWB - kxyFromfcNEQ_SET + kxyFromfcNEQ_NWT + kxyFromfcNEQ_NEB) - bz; - //azz= four*( -vx3_SWB - vx3_SET + vx3_NWT + vx3_NEB) + two*(-kxzFromfcNEQ_SWB + kxzFromfcNEQ_SET + kxzFromfcNEQ_NWT - kxzFromfcNEQ_NEB) - cy; - //bxx= four*( -vx1_SWB + vx1_SET + vx1_NWT - vx1_NEB) + two*(-kxyFromfcNEQ_SWB + kxyFromfcNEQ_SET - kxyFromfcNEQ_NWT + kxyFromfcNEQ_NEB) - az; - //byy= az + four*( vx1_SWB - vx1_SET - vx1_NWT + vx1_NEB) + two*(kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_NEB); - //bzz= four*( -vx3_SWB + vx3_SET - vx3_NWT + vx3_NEB) + two*(-kyzFromfcNEQ_SWB + kyzFromfcNEQ_SET + kyzFromfcNEQ_NWT - kyzFromfcNEQ_NEB) - cx; - //cxx= four*( -vx1_SWB - vx1_SET + vx1_NWT + vx1_NEB) + two*(-kxzFromfcNEQ_SWB + kxzFromfcNEQ_SET - kxzFromfcNEQ_NWT + kxzFromfcNEQ_NEB) - ay; - //cyy= four*( -vx2_SWB + vx2_SET - vx2_NWT + vx2_NEB) + two*(-kyzFromfcNEQ_SWB - kyzFromfcNEQ_SET + kyzFromfcNEQ_NWT + kyzFromfcNEQ_NEB) - bx; - //czz= ay + four*(vx1_SWB + vx1_SET - vx1_NWT - vx1_NEB) + two*(kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_NEB); - //a0 = eight*( vx1_SWB + vx1_NWT + vx1_SET + vx1_NEB) + two*( kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_NEB) + two*(kxzFromfcNEQ_SWB - kxzFromfcNEQ_SET - kxzFromfcNEQ_NWT + kxzFromfcNEQ_NEB) - ayy; - //b0 = eight*( vx2_SWB + vx2_NWT + vx2_SET + vx2_NEB) + two*(-kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_NEB) + two*( kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_NEB) + two*(kyzFromfcNEQ_SWB - kyzFromfcNEQ_SET - kyzFromfcNEQ_NWT + kyzFromfcNEQ_NEB) - bxx; - //c0 = eight*( vx3_SWB + vx3_NWT + vx3_SET + vx3_NEB) + two*(-kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_NEB) + two*(kxzFromfcNEQ_SWB - kxzFromfcNEQ_SET + kxzFromfcNEQ_NWT - kxzFromfcNEQ_NEB) - cyy; - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - ////ayz= -kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB - kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT - kyzFromfcNEQ_SET - kyzFromfcNEQ_NEB; - ////bxz= -kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB + kxzFromfcNEQ_SWB - kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET - kxzFromfcNEQ_NEB - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - ////cxy= kxyFromfcNEQ_SWB - kxyFromfcNEQ_NWT - kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB - kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - ////axy= two*( vx1_SWB - vx1_NWT - vx1_SET + vx1_NEB + vx3_SWB + vx3_NWT - vx3_SET - vx3_NEB) - kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB; - ////axz= two*( vx1_SWB - vx1_NWT + vx1_SET - vx1_NEB + vx2_SWB + vx2_NWT - vx2_SET - vx2_NEB) - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB + kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB; - ////bxy= two*( vx2_SWB - vx2_NWT - vx2_SET + vx2_NEB + vx3_SWB - vx3_NWT + vx3_SET - vx3_NEB) + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - ////a0 = eight*( vx1_SWB + vx1_NWT + vx1_SET + vx1_NEB) + two*(vx2_SWB - vx2_NWT - vx2_SET + vx2_NEB + vx3_SWB - vx3_NWT + vx3_SET - vx3_NEB) + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + 2.*(kxyFromfcNEQ_SWB - kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB + kxzFromfcNEQ_SWB - kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB) + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - ////ax = four*(-vx1_SWB - vx1_NWT + vx1_SET + vx1_NEB) - kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB - kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT - kyzFromfcNEQ_SET - kyzFromfcNEQ_NEB; - ////ay = two*(-vx1_SWB + vx1_NWT - vx1_SET + vx1_NEB + vx2_SWB + vx2_NWT - vx2_SET - vx2_NEB) - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB + kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB; - ////az = two*(-vx1_SWB + vx1_NWT + vx1_SET - vx1_NEB + vx3_SWB + vx3_NWT - vx3_SET - vx3_NEB) - kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB; - ////axx= two*( vx2_SWB - vx2_NWT - vx2_SET + vx2_NEB + vx3_SWB - vx3_NWT + vx3_SET - vx3_NEB) - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - ////ayy= two*(-vx2_SWB + vx2_NWT + vx2_SET - vx2_NEB - vx3_SWB + vx3_NWT - vx3_SET + vx3_NEB) - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + two*(-kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT - kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB) - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT - kyzFromfcNEQ_SET - kyzFromfcNEQ_NEB; - ////azz= two*(-vx2_SWB + vx2_NWT + vx2_SET - vx2_NEB - vx3_SWB + vx3_NWT - vx3_SET + vx3_NEB) + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + two*(-kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET - kxzFromfcNEQ_NEB) - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT - kyzFromfcNEQ_SET - kyzFromfcNEQ_NEB; - ////b0 = two*( vx1_SWB - vx1_NWT - vx1_SET + vx1_NEB + four*(vx2_SWB + vx2_NWT + vx2_SET + vx2_NEB) + vx3_SWB + vx3_NWT - vx3_SET - vx3_NEB - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB) + kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + two*(kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT - kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB) + kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB + two*(kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT - kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB); - ////bx = two*( vx1_SWB - vx1_NWT + vx1_SET - vx1_NEB - vx2_SWB - vx2_NWT + vx2_SET + vx2_NEB) + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB + kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB; - ////by = four*(-vx2_SWB + vx2_NWT - vx2_SET + vx2_NEB) - kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB + kxzFromfcNEQ_SWB - kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET - kxzFromfcNEQ_NEB - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - ////bz = two*(-vx2_SWB + vx2_NWT + vx2_SET - vx2_NEB + vx3_SWB - vx3_NWT + vx3_SET - vx3_NEB) + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - ////bxx= two*(-vx1_SWB + vx1_NWT + vx1_SET - vx1_NEB - vx3_SWB - vx3_NWT + vx3_SET + vx3_NEB) + kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + two*(-kxyFromfcNEQ_SWB - kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB) - kxzFromfcNEQ_SWB - kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET - kxzFromfcNEQ_NEB; - ////byy= two*( vx1_SWB - vx1_NWT - vx1_SET + vx1_NEB + vx3_SWB + vx3_NWT - vx3_SET - vx3_NEB + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB) - kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB; - ////bzz= two*(-vx1_SWB + vx1_NWT + vx1_SET - vx1_NEB - vx3_SWB - vx3_NWT + vx3_SET + vx3_NEB) - kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB - kxzFromfcNEQ_SWB - kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET - kxzFromfcNEQ_NEB + two*(-kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET - kyzFromfcNEQ_NEB); - ////byz= two*( vx1_SWB - vx1_NWT + vx1_SET - vx1_NEB + vx2_SWB + vx2_NWT - vx2_SET - vx2_NEB) + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB + kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB; - ////c0 = two*( vx1_SWB - vx1_NWT + vx1_SET - vx1_NEB + vx2_SWB + vx2_NWT - vx2_SET - vx2_NEB) + eight*(vx3_SWB + vx3_NWT + vx3_SET + vx3_NEB) + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB + two*(-kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB) + kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB + two*(kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET - kxzFromfcNEQ_NEB + kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET - kyzFromfcNEQ_NEB); - ////cx = two*( vx1_SWB - vx1_NWT - vx1_SET + vx1_NEB - vx3_SWB - vx3_NWT + vx3_SET + vx3_NEB) + kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB; - ////cy = two*( vx2_SWB - vx2_NWT - vx2_SET + vx2_NEB - vx3_SWB + vx3_NWT - vx3_SET + vx3_NEB) - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - ////cz = four*(-vx3_SWB + vx3_NWT + vx3_SET - vx3_NEB) + kxyFromfcNEQ_SWB - kxyFromfcNEQ_NWT - kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB - kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - ////cxx= two*(-vx1_SWB + vx1_NWT - vx1_SET + vx1_NEB - vx2_SWB - vx2_NWT + vx2_SET + vx2_NEB) + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB - kxyFromfcNEQ_SWB - kxyFromfcNEQ_NWT - kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB + two*(-kxzFromfcNEQ_SWB - kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB); - ////cyy= two*(-vx1_SWB + vx1_NWT - vx1_SET + vx1_NEB - vx2_SWB - vx2_NWT + vx2_SET + vx2_NEB) - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB - kxyFromfcNEQ_SWB - kxyFromfcNEQ_NWT - kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB + two*(-kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT - kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB); - ////czz= two*( vx1_SWB - vx1_NWT + vx1_SET - vx1_NEB + vx2_SWB + vx2_NWT - vx2_SET - vx2_NEB) - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB + two*(kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB) + kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB; - ////cxz= two*( vx2_SWB - vx2_NWT - vx2_SET + vx2_NEB + vx3_SWB - vx3_NWT + vx3_SET - vx3_NEB) - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - ////cyz= two*( vx1_SWB - vx1_NWT - vx1_SET + vx1_NEB + vx3_SWB + vx3_NWT - vx3_SET - vx3_NEB) + kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB; - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //// (_SWT _SEB _NWB _NET) - ////merged - //real tayz = kxyFromfcNEQ_SWT - kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET - kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB - kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB - kyzFromfcNEQ_SEB - kyzFromfcNEQ_NET; - //real tbxz = kxyFromfcNEQ_SWT - kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET + kxzFromfcNEQ_SWT - kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB - kxzFromfcNEQ_NET - kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET; - //real tcxy =-kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB - kxyFromfcNEQ_NET - kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB - kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET - kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET; - //real tax = four*(-vx1_SWT + vx1_SEB - vx1_NWB + vx1_NET) - tayz; - //real tby = four*(-vx2_SWT - vx2_SEB + vx2_NWB + vx2_NET) - tbxz; - //real tcz = four*( vx3_SWT - vx3_SEB - vx3_NWB + vx3_NET) - tcxy; - //real taxy = two*( vx1_SWT - vx1_NWB - vx1_SEB + vx1_NET - vx3_SWT - vx3_NWB + vx3_SEB + vx3_NET) - kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - kxzFromfcNEQ_SWT - kxzFromfcNEQ_NWB - kxzFromfcNEQ_SEB - kxzFromfcNEQ_NET; - //real taxz = two*(-vx1_SWT + vx1_NWB - vx1_SEB + vx1_NET - vx2_SWT - vx2_NWB + vx2_SEB + vx2_NET) + kxxMyyFromfcNEQ_SWT - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET - kxyFromfcNEQ_SWT - kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB - kxyFromfcNEQ_NET; - //real tbxy = two*( vx2_SWT - vx2_NWB - vx2_SEB + vx2_NET - vx3_SWT + vx3_NWB - vx3_SEB + vx3_NET) + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NET - kxxMzzFromfcNEQ_SWT - kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB - kyzFromfcNEQ_SEB - kyzFromfcNEQ_NET; - //real tay = four*(-vx1_SWT - vx1_SEB + vx1_NWB + vx1_NET) - taxz; - //real taz = four*( vx1_SWT - vx1_SEB - vx1_NWB + vx1_NET) - taxy; - //real tbz = four*( vx2_SWT - vx2_SEB - vx2_NWB + vx2_NET) - tbxy; - //real tbx = two*(kxyFromfcNEQ_SWT + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NWB + kxyFromfcNEQ_NET) - tay; - //real tcy = two*(kyzFromfcNEQ_SWT + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NWB + kyzFromfcNEQ_NET) - tbz; - //real tcx = two*(kxzFromfcNEQ_SWT + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NWB + kxzFromfcNEQ_NET) - taz; - //real tbyz = four*(-vx2_SWT + vx2_SEB - vx2_NWB + vx2_NET) - tbx; - //real tcyz = four*(-vx3_SWT + vx3_SEB - vx3_NWB + vx3_NET) - tcx; - //real tcxz = four*(-vx3_SWT - vx3_SEB + vx3_NWB + vx3_NET) - tcy; - //real taxx = four*( vx2_SWT - vx2_SEB - vx2_NWB + vx2_NET) + two*(-kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NET) - tbz; - //real tayy = four*(-vx2_SWT + vx2_SEB + vx2_NWB - vx2_NET) + two*(-kxyFromfcNEQ_SWT - kxyFromfcNEQ_SEB + kxyFromfcNEQ_NWB + kxyFromfcNEQ_NET ) + tbz; - //real tazz = four*( vx3_SWT + vx3_SEB - vx3_NWB - vx3_NET) + two*( kxzFromfcNEQ_SWT - kxzFromfcNEQ_SEB - kxzFromfcNEQ_NWB + kxzFromfcNEQ_NET ) + tcy; - //real tbxx = four*(-vx1_SWT + vx1_SEB + vx1_NWB - vx1_NET) + two*(-kxyFromfcNEQ_SWT + kxyFromfcNEQ_SEB - kxyFromfcNEQ_NWB + kxyFromfcNEQ_NET ) + taz; - //real tbyy = four*( vx1_SWT - vx1_SEB - vx1_NWB + vx1_NET) + two*( kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NET) - taz; - //real tbzz = four*( vx3_SWT - vx3_SEB + vx3_NWB - vx3_NET) + two*( kyzFromfcNEQ_SWT - kyzFromfcNEQ_SEB - kyzFromfcNEQ_NWB + kyzFromfcNEQ_NET ) + tcx; - //real tcxx = four*( vx1_SWT + vx1_SEB - vx1_NWB - vx1_NET) + two*(-kxzFromfcNEQ_SWT + kxzFromfcNEQ_SEB - kxzFromfcNEQ_NWB + kxzFromfcNEQ_NET ) + tay; - //real tcyy = four*( vx2_SWT - vx2_SEB + vx2_NWB - vx2_NET) + two*(-kyzFromfcNEQ_SWT - kyzFromfcNEQ_SEB + kyzFromfcNEQ_NWB + kyzFromfcNEQ_NET ) + tbx; - //real tczz = four*(-vx1_SWT - vx1_SEB + vx1_NWB + vx1_NET) + two*(-kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NET) - tay; - //real ta0 = eight*( vx1_SWT + vx1_NWB + vx1_SEB + vx1_NET) + two*( kxxMzzFromfcNEQ_SWT - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NET) + two*(-kxzFromfcNEQ_SWT + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NWB - kxzFromfcNEQ_NET ) - tayy; - //real tb0 = eight*( vx2_SWT + vx2_NWB + vx2_SEB + vx2_NET) + two*(-kxxMyyFromfcNEQ_SWT - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NET) + two*( kxyFromfcNEQ_SWT - kxyFromfcNEQ_SEB + kxyFromfcNEQ_NWB - kxyFromfcNEQ_NET ) - tbzz; - //real tc0 = eight*( vx3_SWT + vx3_NWB + vx3_SEB + vx3_NET) + two*(-kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NET) + two*( kxzFromfcNEQ_SWT - kxzFromfcNEQ_SEB + kxzFromfcNEQ_NWB - kxzFromfcNEQ_NET ) - tcyy; - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //a0 += ta0 ; - //ax += tax ; - //ay += tay ; - //az += taz ; - //axx += taxx ; - //ayy += tayy ; - //azz += tazz ; - //axy += taxy ; - //axz += taxz ; - //ayz += tayz ; - //b0 += tb0 ; - //bx += tbx ; - //by += tby ; - //bz += tbz ; - //bxx += tbxx ; - //byy += tbyy ; - //bzz += tbzz ; - //bxy += tbxy ; - //bxz += tbxz ; - //byz += tbyz ; - //c0 += tc0 ; - //cx += tcx ; - //cy += tcy ; - //cz += tcz ; - //cxx += tcxx ; - //cyy += tcyy ; - //czz += tczz ; - //cxy += tcxy ; - //cxz += tcxz ; - //cyz += tcyz ; - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - ////a0 += eight*( vx1_SWT + vx1_NWB + vx1_SEB + vx1_NET) + two*(vx2_SWT - vx2_NWB - vx2_SEB + vx2_NET - vx3_SWT + vx3_NWB - vx3_SEB + vx3_NET) + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NET + two*(kxyFromfcNEQ_SWT - kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB - kxyFromfcNEQ_NET - kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB - kxzFromfcNEQ_NET) - kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB - kyzFromfcNEQ_SEB - kyzFromfcNEQ_NET; - ////ax += four*(-vx1_SWT - vx1_NWB + vx1_SEB + vx1_NET) - kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB - kxyFromfcNEQ_NET + kxzFromfcNEQ_SWT - kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB - kxzFromfcNEQ_NET - kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET; - ////ay += two*(-vx1_SWT + vx1_NWB - vx1_SEB + vx1_NET + vx2_SWT + vx2_NWB - vx2_SEB - vx2_NET) - kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NET + kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET; - ////az += two*( vx1_SWT - vx1_NWB - vx1_SEB + vx1_NET + vx3_SWT + vx3_NWB - vx3_SEB - vx3_NET) + kxxMzzFromfcNEQ_SWT - kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NET + kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET; - ////axx += two*( vx2_SWT - vx2_NWB - vx2_SEB + vx2_NET - vx3_SWT + vx3_NWB - vx3_SEB + vx3_NET) - kxxMyyFromfcNEQ_SWT - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET - kxxMzzFromfcNEQ_SWT - kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB - kyzFromfcNEQ_SEB - kyzFromfcNEQ_NET; - ////ayy += two*(-vx2_SWT + vx2_NWB + vx2_SEB - vx2_NET + vx3_SWT - vx3_NWB + vx3_SEB - vx3_NET) - kxxMyyFromfcNEQ_SWT - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NET + two*(-kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET) + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET; - ////azz += two*(-vx2_SWT + vx2_NWB + vx2_SEB - vx2_NET + vx3_SWT - vx3_NWB + vx3_SEB - vx3_NET) + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NET - kxxMzzFromfcNEQ_SWT - kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET + two*( kxzFromfcNEQ_SWT - kxzFromfcNEQ_NWB - kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET) + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET; - ////axy += two*( vx1_SWT - vx1_NWB - vx1_SEB + vx1_NET - vx3_SWT - vx3_NWB + vx3_SEB + vx3_NET) - kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - kxzFromfcNEQ_SWT - kxzFromfcNEQ_NWB - kxzFromfcNEQ_SEB - kxzFromfcNEQ_NET; - ////axz += two*(-vx1_SWT + vx1_NWB - vx1_SEB + vx1_NET - vx2_SWT - vx2_NWB + vx2_SEB + vx2_NET) + kxxMyyFromfcNEQ_SWT - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET - kxyFromfcNEQ_SWT - kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB - kxyFromfcNEQ_NET; - ////ayz += kxyFromfcNEQ_SWT - kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET - kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB - kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB - kyzFromfcNEQ_SEB - kyzFromfcNEQ_NET; - ////b0 += two*( vx1_SWT - vx1_NWB - vx1_SEB + vx1_NET + four*(vx2_SWT + vx2_NWB + vx2_SEB + vx2_NET) - vx3_SWT - vx3_NWB + vx3_SEB + vx3_NET - kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET) + kxxMzzFromfcNEQ_SWT - kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NET + two*(kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB - kxyFromfcNEQ_NET) - kxzFromfcNEQ_SWT - kxzFromfcNEQ_NWB - kxzFromfcNEQ_SEB - kxzFromfcNEQ_NET + two*(-kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB - kyzFromfcNEQ_NET); - ////bx += two*( vx1_SWT - vx1_NWB + vx1_SEB - vx1_NET - vx2_SWT - vx2_NWB + vx2_SEB + vx2_NET) + kxxMyyFromfcNEQ_SWT - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET; - ////by += four*(-vx2_SWT + vx2_NWB - vx2_SEB + vx2_NET) - kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB - kxyFromfcNEQ_NET - kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB - kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB - kyzFromfcNEQ_SEB - kyzFromfcNEQ_NET; - ////bz += two*( vx2_SWT - vx2_NWB - vx2_SEB + vx2_NET + vx3_SWT - vx3_NWB + vx3_SEB - vx3_NET) - kxxMyyFromfcNEQ_SWT - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET; - ////bxx += two*(-vx1_SWT + vx1_NWB + vx1_SEB - vx1_NET + vx3_SWT + vx3_NWB - vx3_SEB - vx3_NET) + kxxMzzFromfcNEQ_SWT - kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NET + two*(-kxyFromfcNEQ_SWT - kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET) + kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET; - ////byy += two*( vx1_SWT - vx1_NWB - vx1_SEB + vx1_NET - vx3_SWT - vx3_NWB + vx3_SEB + vx3_NET + kxxMyyFromfcNEQ_SWT - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NET) - kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - kxzFromfcNEQ_SWT - kxzFromfcNEQ_NWB - kxzFromfcNEQ_SEB - kxzFromfcNEQ_NET; - ////bzz += two*(-vx1_SWT + vx1_NWB + vx1_SEB - vx1_NET + vx3_SWT + vx3_NWB - vx3_SEB - vx3_NET) - kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET + kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET + two*(kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB - kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET); - ////bxy += two*( vx2_SWT - vx2_NWB - vx2_SEB + vx2_NET - vx3_SWT + vx3_NWB - vx3_SEB + vx3_NET) + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NET - kxxMzzFromfcNEQ_SWT - kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB - kyzFromfcNEQ_SEB - kyzFromfcNEQ_NET; - ////bxz += kxyFromfcNEQ_SWT - kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET + kxzFromfcNEQ_SWT - kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB - kxzFromfcNEQ_NET - kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET; - ////byz += two*(-vx1_SWT + vx1_NWB - vx1_SEB + vx1_NET - vx2_SWT - vx2_NWB + vx2_SEB + vx2_NET) - kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NET - kxyFromfcNEQ_SWT - kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB - kxyFromfcNEQ_NET; - ////c0 += two*(-vx1_SWT + vx1_NWB - vx1_SEB + vx1_NET - vx2_SWT - vx2_NWB + vx2_SEB + vx2_NET) + eight*(vx3_SWT + vx3_NWB + vx3_SEB + vx3_NET) - kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NET + two*(kxxMzzFromfcNEQ_SWT - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET) - kxyFromfcNEQ_SWT - kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB - kxyFromfcNEQ_NET + two*(kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB - kxzFromfcNEQ_SEB - kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB - kyzFromfcNEQ_NET); - ////cx += two*(-vx1_SWT + vx1_NWB + vx1_SEB - vx1_NET - vx3_SWT - vx3_NWB + vx3_SEB + vx3_NET) - kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET + kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET; - ////cy += two*(-vx2_SWT + vx2_NWB + vx2_SEB - vx2_NET - vx3_SWT + vx3_NWB - vx3_SEB + vx3_NET) + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NET - kxxMzzFromfcNEQ_SWT - kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET; - ////cz += four*( vx3_SWT - vx3_NWB - vx3_SEB + vx3_NET) + kxyFromfcNEQ_SWT - kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET + kxzFromfcNEQ_SWT - kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB - kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB - kyzFromfcNEQ_SEB - kyzFromfcNEQ_NET; - ////cxx += two*( vx1_SWT - vx1_NWB + vx1_SEB - vx1_NET + vx2_SWT + vx2_NWB - vx2_SEB - vx2_NET) - kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NET + kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET + two*(-kxzFromfcNEQ_SWT - kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET); - ////cyy += two*( vx1_SWT - vx1_NWB + vx1_SEB - vx1_NET + vx2_SWT + vx2_NWB - vx2_SEB - vx2_NET) + kxxMyyFromfcNEQ_SWT - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET + two*(-kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB - kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET); - ////czz += two*(-vx1_SWT + vx1_NWB - vx1_SEB + vx1_NET - vx2_SWT - vx2_NWB + vx2_SEB + vx2_NET) + kxxMyyFromfcNEQ_SWT - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + two*(-kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NET) - kxyFromfcNEQ_SWT - kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB - kxyFromfcNEQ_NET; - ////cxy += -kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB - kxyFromfcNEQ_NET - kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB - kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET - kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET; - ////cxz += two*( vx2_SWT - vx2_NWB - vx2_SEB + vx2_NET - vx3_SWT + vx3_NWB - vx3_SEB + vx3_NET) - kxxMyyFromfcNEQ_SWT - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NET - kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB - kyzFromfcNEQ_SEB - kyzFromfcNEQ_NET; - ////cyz += two*( vx1_SWT - vx1_NWB - vx1_SEB + vx1_NET - vx3_SWT - vx3_NWB + vx3_SEB + vx3_NET) + kxxMzzFromfcNEQ_SWT - kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NET - kxzFromfcNEQ_SWT - kxzFromfcNEQ_NWB - kxzFromfcNEQ_SEB - kxzFromfcNEQ_NET; - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //a0 *= c1o64; // /=2.f; && /= 32.f; - //ax *= c1o16; // /=2.f; && /= 8.f; - //ay *= c1o16; // /=2.f; && /= 8.f; - //az *= c1o16; // /=2.f; && /= 8.f; - //axx *= c1o16; // /=2.f; && /= 8.f; - //ayy *= c1o16; // /=2.f; && /= 8.f; - //azz *= c1o16; // /=2.f; && /= 8.f; - //axy *= c1o8; // /=2.f; && /= 4.f; - //axz *= c1o8; // /=2.f; && /= 4.f; - //ayz *= c1o8; // /=2.f; && /= 4.f; - //b0 *= c1o64; // /=2.f; && /= 32.f; - //bx *= c1o16; // /=2.f; && /= 8.f; - //by *= c1o16; // /=2.f; && /= 8.f; - //bz *= c1o16; // /=2.f; && /= 8.f; - //bxx *= c1o16; // /=2.f; && /= 8.f; - //byy *= c1o16; // /=2.f; && /= 8.f; - //bzz *= c1o16; // /=2.f; && /= 8.f; - //bxy *= c1o8; // /=2.f; && /= 4.f; - //bxz *= c1o8; // /=2.f; && /= 4.f; - //byz *= c1o8; // /=2.f; && /= 4.f; - //c0 *= c1o64; // /=2.f; && /= 32.f; - //cx *= c1o16; // /=2.f; && /= 8.f; - //cy *= c1o16; // /=2.f; && /= 8.f; - //cz *= c1o16; // /=2.f; && /= 8.f; - //cxx *= c1o16; // /=2.f; && /= 8.f; - //cyy *= c1o16; // /=2.f; && /= 8.f; - //czz *= c1o16; // /=2.f; && /= 8.f; - //cxy *= c1o8; // /=2.f; && /= 4.f; - //cxz *= c1o8; // /=2.f; && /= 4.f; - //cyz *= c1o8; // /=2.f; && /= 4.f; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //1 - ////////////////////////////////////////////////////////////////////////// - //a0 = (-kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - - // kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT - - // kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - - // kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - - // two*kxyFromfcNEQ_NEB - two*kxyFromfcNEQ_NET - two*kxyFromfcNEQ_NWB - two*kxyFromfcNEQ_NWT - - // two*kxyFromfcNEQ_SEB - two*kxyFromfcNEQ_SET - two*kxyFromfcNEQ_SWB - two*kxyFromfcNEQ_SWT - - // two*kxzFromfcNEQ_NEB - two*kxzFromfcNEQ_NET - two*kxzFromfcNEQ_NWB - two*kxzFromfcNEQ_NWT - - // two*kxzFromfcNEQ_SEB - two*kxzFromfcNEQ_SET - two*kxzFromfcNEQ_SWB - two*kxzFromfcNEQ_SWT + - // eight*vx1_NEB + eight*vx1_NET + eight*vx1_NWB + eight*vx1_NWT + - // eight*vx1_SEB + eight*vx1_SET + eight*vx1_SWB + eight*vx1_SWT + - // two*vx2_NEB + two*vx2_NET - two*vx2_NWB - two*vx2_NWT - - // two*vx2_SEB - two*vx2_SET + two*vx2_SWB + two*vx2_SWT - - // two*vx3_NEB + two*vx3_NET + two*vx3_NWB - two*vx3_NWT - - // two*vx3_SEB + two*vx3_SET + two*vx3_SWB - two*vx3_SWT)*c1o64; - //b0 = (two*kxxMyyFromfcNEQ_NEB + two*kxxMyyFromfcNEQ_NET + two*kxxMyyFromfcNEQ_NWB + two*kxxMyyFromfcNEQ_NWT - - // two*kxxMyyFromfcNEQ_SEB - two*kxxMyyFromfcNEQ_SET - two*kxxMyyFromfcNEQ_SWB - two*kxxMyyFromfcNEQ_SWT - - // kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + - // kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - - // two*kxyFromfcNEQ_NEB - two*kxyFromfcNEQ_NET - two*kxyFromfcNEQ_NWB - two*kxyFromfcNEQ_NWT - - // two*kxyFromfcNEQ_SEB - two*kxyFromfcNEQ_SET - two*kxyFromfcNEQ_SWB - two*kxyFromfcNEQ_SWT - - // two*kyzFromfcNEQ_NEB - two*kyzFromfcNEQ_NET - two*kyzFromfcNEQ_NWB - two*kyzFromfcNEQ_NWT - - // two*kyzFromfcNEQ_SEB - two*kyzFromfcNEQ_SET - two*kyzFromfcNEQ_SWB - two*kyzFromfcNEQ_SWT + - // two*vx1_NEB + two*vx1_NET - two*vx1_NWB - two*vx1_NWT - - // two*vx1_SEB - two*vx1_SET + two*vx1_SWB + two*vx1_SWT + - // eight*vx2_NEB + eight*vx2_NET + eight*vx2_NWB + eight*vx2_NWT + - // eight*vx2_SEB + eight*vx2_SET + eight*vx2_SWB + eight*vx2_SWT - - // two*vx3_NEB + two*vx3_NET - two*vx3_NWB + two*vx3_NWT + - // two*vx3_SEB - two*vx3_SET + two*vx3_SWB - two*vx3_SWT)*c1o64; - //c0 = (kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + - // kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT - - // two*kxxMzzFromfcNEQ_NEB + two*kxxMzzFromfcNEQ_NET - two*kxxMzzFromfcNEQ_NWB + two*kxxMzzFromfcNEQ_NWT - - // two*kxxMzzFromfcNEQ_SEB + two*kxxMzzFromfcNEQ_SET - two*kxxMzzFromfcNEQ_SWB + two*kxxMzzFromfcNEQ_SWT - - // two*kxzFromfcNEQ_NEB - two*kxzFromfcNEQ_NET - two*kxzFromfcNEQ_NWB - two*kxzFromfcNEQ_NWT - - // two*kxzFromfcNEQ_SEB - two*kxzFromfcNEQ_SET - two*kxzFromfcNEQ_SWB - two*kxzFromfcNEQ_SWT - - // two*kyzFromfcNEQ_NEB - two*kyzFromfcNEQ_NET - two*kyzFromfcNEQ_NWB - two*kyzFromfcNEQ_NWT - - // two*kyzFromfcNEQ_SEB - two*kyzFromfcNEQ_SET - two*kyzFromfcNEQ_SWB - two*kyzFromfcNEQ_SWT - - // two*vx1_NEB + two*vx1_NET + two*vx1_NWB - two*vx1_NWT - - // two*vx1_SEB + two*vx1_SET + two*vx1_SWB - two*vx1_SWT - - // two*vx2_NEB + two*vx2_NET - two*vx2_NWB + two*vx2_NWT + - // two*vx2_SEB - two*vx2_SET + two*vx2_SWB - two*vx2_SWT + - // eight*vx3_NEB + eight*vx3_NET + eight*vx3_NWB + eight*vx3_NWT + - // eight*vx3_SEB + eight*vx3_SET + eight*vx3_SWB + eight*vx3_SWT)*c1o64; - //ax = (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT + vx1_SEB + vx1_SET - vx1_SWB - vx1_SWT)*c1o4; - //bx = (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT + vx2_SEB + vx2_SET - vx2_SWB - vx2_SWT)*c1o4; - //cx = (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT + vx3_SEB + vx3_SET - vx3_SWB - vx3_SWT)*c1o4; - //axx= (kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + - // kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT + - // kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + - // kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + - // two*vx2_NEB + two*vx2_NET - two*vx2_NWB - two*vx2_NWT - - // two*vx2_SEB - two*vx2_SET + two*vx2_SWB + two*vx2_SWT - - // two*vx3_NEB + two*vx3_NET + two*vx3_NWB - two*vx3_NWT - - // two*vx3_SEB + two*vx3_SET + two*vx3_SWB - two*vx3_SWT)*c1o16; - //bxx= (-sixteen*kxxMzzFromfcNEQ_NEB - sixteen*kxxMzzFromfcNEQ_NET - sixteen*kxxMzzFromfcNEQ_NWB - sixteen*kxxMzzFromfcNEQ_NWT + - // sixteen*kxxMzzFromfcNEQ_SEB + sixteen*kxxMzzFromfcNEQ_SET + sixteen*kxxMzzFromfcNEQ_SWB + sixteen*kxxMzzFromfcNEQ_SWT + - // thirtythree*kxyFromfcNEQ_NEB + thirtythree*kxyFromfcNEQ_NET + thirtythree*kxyFromfcNEQ_NWB + thirtythree*kxyFromfcNEQ_NWT + - // thirtythree*kxyFromfcNEQ_SEB + thirtythree*kxyFromfcNEQ_SET + thirtythree*kxyFromfcNEQ_SWB + thirtythree*kxyFromfcNEQ_SWT - - // thirtyfour*vx1_NEB - thirtyfour*vx1_NET + thirtyfour*vx1_NWB + thirtyfour*vx1_NWT + - // thirtyfour*vx1_SEB + thirtyfour*vx1_SET - thirtyfour*vx1_SWB - thirtyfour*vx1_SWT + - // thirtytwo*vx3_NEB - thirtytwo*vx3_NET + thirtytwo*vx3_NWB - thirtytwo*vx3_NWT - - // thirtytwo*vx3_SEB + thirtytwo*vx3_SET - thirtytwo*vx3_SWB + thirtytwo*vx3_SWT)*c1o264; - //cxx= (sixteen*kxxMyyFromfcNEQ_NEB - sixteen*kxxMyyFromfcNEQ_NET + sixteen*kxxMyyFromfcNEQ_NWB - sixteen*kxxMyyFromfcNEQ_NWT + - // sixteen*kxxMyyFromfcNEQ_SEB - sixteen*kxxMyyFromfcNEQ_SET + sixteen*kxxMyyFromfcNEQ_SWB - sixteen*kxxMyyFromfcNEQ_SWT + - // thirtythree*kxzFromfcNEQ_NEB + thirtythree*kxzFromfcNEQ_NET + thirtythree*kxzFromfcNEQ_NWB + thirtythree*kxzFromfcNEQ_NWT + - // thirtythree*kxzFromfcNEQ_SEB + thirtythree*kxzFromfcNEQ_SET + thirtythree*kxzFromfcNEQ_SWB + thirtythree*kxzFromfcNEQ_SWT + - // thirtyfour*vx1_NEB - thirtyfour*vx1_NET - thirtyfour*vx1_NWB + thirtyfour*vx1_NWT + - // thirtyfour*vx1_SEB - thirtyfour*vx1_SET - thirtyfour*vx1_SWB + thirtyfour*vx1_SWT + - // thirtytwo*vx2_NEB - thirtytwo*vx2_NET + thirtytwo*vx2_NWB - thirtytwo*vx2_NWT - - // thirtytwo*vx2_SEB + thirtytwo*vx2_SET - thirtytwo*vx2_SWB + thirtytwo*vx2_SWT)*c1o264; - //ay = (vx1_NEB + vx1_NET + vx1_NWB + vx1_NWT - vx1_SEB - vx1_SET - vx1_SWB - vx1_SWT)*c1o4; - //by = (vx2_NEB + vx2_NET + vx2_NWB + vx2_NWT - vx2_SEB - vx2_SET - vx2_SWB - vx2_SWT)*c1o4; - //cy = (vx3_NEB + vx3_NET + vx3_NWB + vx3_NWT - vx3_SEB - vx3_SET - vx3_SWB - vx3_SWT)*c1o4; - //ayy= (sixteen*kxxMyyFromfcNEQ_NEB + sixteen*kxxMyyFromfcNEQ_NET - sixteen*kxxMyyFromfcNEQ_NWB - sixteen*kxxMyyFromfcNEQ_NWT + - // sixteen*kxxMyyFromfcNEQ_SEB + sixteen*kxxMyyFromfcNEQ_SET - sixteen*kxxMyyFromfcNEQ_SWB - sixteen*kxxMyyFromfcNEQ_SWT - - // sixteen*kxxMzzFromfcNEQ_NEB - sixteen*kxxMzzFromfcNEQ_NET + sixteen*kxxMzzFromfcNEQ_NWB + sixteen*kxxMzzFromfcNEQ_NWT - - // sixteen*kxxMzzFromfcNEQ_SEB - sixteen*kxxMzzFromfcNEQ_SET + sixteen*kxxMzzFromfcNEQ_SWB + sixteen*kxxMzzFromfcNEQ_SWT + - // thirtythree*kxyFromfcNEQ_NEB + thirtythree*kxyFromfcNEQ_NET + thirtythree*kxyFromfcNEQ_NWB + thirtythree*kxyFromfcNEQ_NWT + - // thirtythree*kxyFromfcNEQ_SEB + thirtythree*kxyFromfcNEQ_SET + thirtythree*kxyFromfcNEQ_SWB + thirtythree*kxyFromfcNEQ_SWT - - // thirtyfour*vx2_NEB - thirtyfour*vx2_NET + thirtyfour*vx2_NWB + thirtyfour*vx2_NWT + - // thirtyfour*vx2_SEB + thirtyfour*vx2_SET - thirtyfour*vx2_SWB - thirtyfour*vx2_SWT + - // thirtytwo*vx3_NEB - thirtytwo*vx3_NET - thirtytwo*vx3_NWB + thirtytwo*vx3_NWT + - // thirtytwo*vx3_SEB - thirtytwo*vx3_SET - thirtytwo*vx3_SWB + thirtytwo*vx3_SWT)*c1o264; - //byy= (-two*kxxMyyFromfcNEQ_NEB - two*kxxMyyFromfcNEQ_NET - two*kxxMyyFromfcNEQ_NWB - two*kxxMyyFromfcNEQ_NWT + - // two*kxxMyyFromfcNEQ_SEB + two*kxxMyyFromfcNEQ_SET + two*kxxMyyFromfcNEQ_SWB + two*kxxMyyFromfcNEQ_SWT + - // kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - - // kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + - // two*vx1_NEB + two*vx1_NET - two*vx1_NWB - two*vx1_NWT - - // two*vx1_SEB - two*vx1_SET + two*vx1_SWB + two*vx1_SWT - - // two*vx3_NEB + two*vx3_NET - two*vx3_NWB + two*vx3_NWT + - // two*vx3_SEB - two*vx3_SET + two*vx3_SWB - two*vx3_SWT)*c1o16; - //cyy= (-sixteen*kxxMyyFromfcNEQ_NEB + sixteen*kxxMyyFromfcNEQ_NET - sixteen*kxxMyyFromfcNEQ_NWB + sixteen*kxxMyyFromfcNEQ_NWT - - // sixteen*kxxMyyFromfcNEQ_SEB + sixteen*kxxMyyFromfcNEQ_SET - sixteen*kxxMyyFromfcNEQ_SWB + sixteen*kxxMyyFromfcNEQ_SWT + - // thirtythree*kyzFromfcNEQ_NEB + thirtythree*kyzFromfcNEQ_NET + thirtythree*kyzFromfcNEQ_NWB + thirtythree*kyzFromfcNEQ_NWT + - // thirtythree*kyzFromfcNEQ_SEB + thirtythree*kyzFromfcNEQ_SET + thirtythree*kyzFromfcNEQ_SWB + thirtythree*kyzFromfcNEQ_SWT + - // thirtytwo*vx1_NEB - thirtytwo*vx1_NET - thirtytwo*vx1_NWB + thirtytwo*vx1_NWT + - // thirtytwo*vx1_SEB - thirtytwo*vx1_SET - thirtytwo*vx1_SWB + thirtytwo*vx1_SWT + - // thirtyfour*vx2_NEB - thirtyfour*vx2_NET + thirtyfour*vx2_NWB - thirtyfour*vx2_NWT - - // thirtyfour*vx2_SEB + thirtyfour*vx2_SET - thirtyfour*vx2_SWB + thirtyfour*vx2_SWT)*c1o264; - //az = (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT - vx1_SEB + vx1_SET - vx1_SWB + vx1_SWT)*c1o4; - //bz = (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT - vx2_SEB + vx2_SET - vx2_SWB + vx2_SWT)*c1o4; - //cz = (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT - vx3_SEB + vx3_SET - vx3_SWB + vx3_SWT)*c1o4; - //azz= (-sixteen*kxxMyyFromfcNEQ_NEB - sixteen*kxxMyyFromfcNEQ_NET + sixteen*kxxMyyFromfcNEQ_NWB + sixteen*kxxMyyFromfcNEQ_NWT - - // sixteen*kxxMyyFromfcNEQ_SEB - sixteen*kxxMyyFromfcNEQ_SET + sixteen*kxxMyyFromfcNEQ_SWB + sixteen*kxxMyyFromfcNEQ_SWT + - // sixteen*kxxMzzFromfcNEQ_NEB + sixteen*kxxMzzFromfcNEQ_NET - sixteen*kxxMzzFromfcNEQ_NWB - sixteen*kxxMzzFromfcNEQ_NWT + - // sixteen*kxxMzzFromfcNEQ_SEB + sixteen*kxxMzzFromfcNEQ_SET - sixteen*kxxMzzFromfcNEQ_SWB - sixteen*kxxMzzFromfcNEQ_SWT + - // thirtythree*kxzFromfcNEQ_NEB + thirtythree*kxzFromfcNEQ_NET + thirtythree*kxzFromfcNEQ_NWB + thirtythree*kxzFromfcNEQ_NWT + - // thirtythree*kxzFromfcNEQ_SEB + thirtythree*kxzFromfcNEQ_SET + thirtythree*kxzFromfcNEQ_SWB + thirtythree*kxzFromfcNEQ_SWT - - // thirtytwo*vx2_NEB - thirtytwo*vx2_NET + thirtytwo*vx2_NWB + thirtytwo*vx2_NWT + - // thirtytwo*vx2_SEB + thirtytwo*vx2_SET - thirtytwo*vx2_SWB - thirtytwo*vx2_SWT + - // thirtyfour*vx3_NEB - thirtyfour*vx3_NET - thirtyfour*vx3_NWB + thirtyfour*vx3_NWT + - // thirtyfour*vx3_SEB - thirtyfour*vx3_SET - thirtyfour*vx3_SWB + thirtyfour*vx3_SWT)*c1o264; - //bzz= (sixteen*kxxMzzFromfcNEQ_NEB + sixteen*kxxMzzFromfcNEQ_NET + sixteen*kxxMzzFromfcNEQ_NWB + sixteen*kxxMzzFromfcNEQ_NWT - - // sixteen*kxxMzzFromfcNEQ_SEB - sixteen*kxxMzzFromfcNEQ_SET - sixteen*kxxMzzFromfcNEQ_SWB - sixteen*kxxMzzFromfcNEQ_SWT + - // thirtythree*kyzFromfcNEQ_NEB + thirtythree*kyzFromfcNEQ_NET + thirtythree*kyzFromfcNEQ_NWB + thirtythree*kyzFromfcNEQ_NWT + - // thirtythree*kyzFromfcNEQ_SEB + thirtythree*kyzFromfcNEQ_SET + thirtythree*kyzFromfcNEQ_SWB + thirtythree*kyzFromfcNEQ_SWT - - // thirtytwo*vx1_NEB - thirtytwo*vx1_NET + thirtytwo*vx1_NWB + thirtytwo*vx1_NWT + - // thirtytwo*vx1_SEB + thirtytwo*vx1_SET - thirtytwo*vx1_SWB - thirtytwo*vx1_SWT + - // thirtyfour*vx3_NEB - thirtyfour*vx3_NET + thirtyfour*vx3_NWB - thirtyfour*vx3_NWT - - // thirtyfour*vx3_SEB + thirtyfour*vx3_SET - thirtyfour*vx3_SWB + thirtyfour*vx3_SWT)*c1o264; - //czz= (-kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - - // kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT + - // two*kxxMzzFromfcNEQ_NEB - two*kxxMzzFromfcNEQ_NET + two*kxxMzzFromfcNEQ_NWB - two*kxxMzzFromfcNEQ_NWT + - // two*kxxMzzFromfcNEQ_SEB - two*kxxMzzFromfcNEQ_SET + two*kxxMzzFromfcNEQ_SWB - two*kxxMzzFromfcNEQ_SWT - - // two*vx1_NEB + two*vx1_NET + two*vx1_NWB - two*vx1_NWT - - // two*vx1_SEB + two*vx1_SET + two*vx1_SWB - two*vx1_SWT - - // two*vx2_NEB + two*vx2_NET - two*vx2_NWB + two*vx2_NWT + - // two*vx2_SEB - two*vx2_SET + two*vx2_SWB - two*vx2_SWT)/sixteen; - //axy= (eight*kxxMzzFromfcNEQ_NEB + eight*kxxMzzFromfcNEQ_NET + eight*kxxMzzFromfcNEQ_NWB + eight*kxxMzzFromfcNEQ_NWT - - // eight*kxxMzzFromfcNEQ_SEB - eight*kxxMzzFromfcNEQ_SET - eight*kxxMzzFromfcNEQ_SWB - eight*kxxMzzFromfcNEQ_SWT + - // seventeen*vx1_NEB + seventeen*vx1_NET - seventeen*vx1_NWB - seventeen*vx1_NWT - - // seventeen*vx1_SEB - seventeen*vx1_SET + seventeen*vx1_SWB + seventeen*vx1_SWT - - // sixteen*vx3_NEB + sixteen*vx3_NET - sixteen*vx3_NWB + sixteen*vx3_NWT + - // sixteen*vx3_SEB - sixteen*vx3_SET + sixteen*vx3_SWB - sixteen*vx3_SWT)*c1o66; - //bxy= (-eight*kxxMyyFromfcNEQ_NEB - eight*kxxMyyFromfcNEQ_NET + eight*kxxMyyFromfcNEQ_NWB + eight*kxxMyyFromfcNEQ_NWT - - // eight*kxxMyyFromfcNEQ_SEB - eight*kxxMyyFromfcNEQ_SET + eight*kxxMyyFromfcNEQ_SWB + eight*kxxMyyFromfcNEQ_SWT + - // eight*kxxMzzFromfcNEQ_NEB + eight*kxxMzzFromfcNEQ_NET - eight*kxxMzzFromfcNEQ_NWB - eight*kxxMzzFromfcNEQ_NWT + - // eight*kxxMzzFromfcNEQ_SEB + eight*kxxMzzFromfcNEQ_SET - eight*kxxMzzFromfcNEQ_SWB - eight*kxxMzzFromfcNEQ_SWT + - // seventeen*vx2_NEB + seventeen*vx2_NET - seventeen*vx2_NWB - seventeen*vx2_NWT - - // seventeen*vx2_SEB - seventeen*vx2_SET + seventeen*vx2_SWB + seventeen*vx2_SWT - - // sixteen*vx3_NEB + sixteen*vx3_NET + sixteen*vx3_NWB - sixteen*vx3_NWT - - // sixteen*vx3_SEB + sixteen*vx3_SET + sixteen*vx3_SWB - sixteen*vx3_SWT)*c1o66; - //cxy= (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT - vx3_SEB - vx3_SET + vx3_SWB + vx3_SWT)*c1o2; - //axz= (-eight*kxxMyyFromfcNEQ_NEB + eight*kxxMyyFromfcNEQ_NET - eight*kxxMyyFromfcNEQ_NWB + eight*kxxMyyFromfcNEQ_NWT - - // eight*kxxMyyFromfcNEQ_SEB + eight*kxxMyyFromfcNEQ_SET - eight*kxxMyyFromfcNEQ_SWB + eight*kxxMyyFromfcNEQ_SWT - - // seventeen*vx1_NEB + seventeen*vx1_NET + seventeen*vx1_NWB - seventeen*vx1_NWT - - // seventeen*vx1_SEB + seventeen*vx1_SET + seventeen*vx1_SWB - seventeen*vx1_SWT - - // sixteen*vx2_NEB + sixteen*vx2_NET - sixteen*vx2_NWB + sixteen*vx2_NWT + - // sixteen*vx2_SEB - sixteen*vx2_SET + sixteen*vx2_SWB - sixteen*vx2_SWT)*c1o66; - //bxz= (-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT - vx2_SEB + vx2_SET + vx2_SWB - vx2_SWT)*c1o2; - //cxz= (eight*kxxMyyFromfcNEQ_NEB + eight*kxxMyyFromfcNEQ_NET - eight*kxxMyyFromfcNEQ_NWB - eight*kxxMyyFromfcNEQ_NWT + - // eight*kxxMyyFromfcNEQ_SEB + eight*kxxMyyFromfcNEQ_SET - eight*kxxMyyFromfcNEQ_SWB - eight*kxxMyyFromfcNEQ_SWT - - // eight*kxxMzzFromfcNEQ_NEB - eight*kxxMzzFromfcNEQ_NET + eight*kxxMzzFromfcNEQ_NWB + eight*kxxMzzFromfcNEQ_NWT - - // eight*kxxMzzFromfcNEQ_SEB - eight*kxxMzzFromfcNEQ_SET + eight*kxxMzzFromfcNEQ_SWB + eight*kxxMzzFromfcNEQ_SWT + - // sixteen*vx2_NEB + sixteen*vx2_NET - sixteen*vx2_NWB - sixteen*vx2_NWT - - // sixteen*vx2_SEB - sixteen*vx2_SET + sixteen*vx2_SWB + sixteen*vx2_SWT - - // seventeen*vx3_NEB + seventeen*vx3_NET + seventeen*vx3_NWB - seventeen*vx3_NWT - - // seventeen*vx3_SEB + seventeen*vx3_SET + seventeen*vx3_SWB - seventeen*vx3_SWT)*c1o66; - //ayz= (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT + vx1_SEB - vx1_SET + vx1_SWB - vx1_SWT)*c1o2; - //byz= (eight*kxxMyyFromfcNEQ_NEB - eight*kxxMyyFromfcNEQ_NET + eight*kxxMyyFromfcNEQ_NWB - eight*kxxMyyFromfcNEQ_NWT + - // eight*kxxMyyFromfcNEQ_SEB - eight*kxxMyyFromfcNEQ_SET + eight*kxxMyyFromfcNEQ_SWB - eight*kxxMyyFromfcNEQ_SWT - - // sixteen*vx1_NEB + sixteen*vx1_NET + sixteen*vx1_NWB - sixteen*vx1_NWT - - // sixteen*vx1_SEB + sixteen*vx1_SET + sixteen*vx1_SWB - sixteen*vx1_SWT - - // seventeen*vx2_NEB + seventeen*vx2_NET - seventeen*vx2_NWB + seventeen*vx2_NWT + - // seventeen*vx2_SEB - seventeen*vx2_SET + seventeen*vx2_SWB - seventeen*vx2_SWT)*c1o66; - //cyz= (-eight*kxxMzzFromfcNEQ_NEB - eight*kxxMzzFromfcNEQ_NET - eight*kxxMzzFromfcNEQ_NWB - eight*kxxMzzFromfcNEQ_NWT + - // eight*kxxMzzFromfcNEQ_SEB + eight*kxxMzzFromfcNEQ_SET + eight*kxxMzzFromfcNEQ_SWB + eight*kxxMzzFromfcNEQ_SWT + - // sixteen*vx1_NEB + sixteen*vx1_NET - sixteen*vx1_NWB - sixteen*vx1_NWT - - // sixteen*vx1_SEB - sixteen*vx1_SET + sixteen*vx1_SWB + sixteen*vx1_SWT - - // seventeen*vx3_NEB + seventeen*vx3_NET - seventeen*vx3_NWB + seventeen*vx3_NWT + - // seventeen*vx3_SEB - seventeen*vx3_SET + seventeen*vx3_SWB - seventeen*vx3_SWT)*c1o66; - - ////////////////////////////////////////////////////////////////////////// - //2 - ////////////////////////////////////////////////////////////////////////// - //a0 = (-kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - - // kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT - - // kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - - // kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - - // two*kxyFromfcNEQ_NEB - two*kxyFromfcNEQ_NET - two*kxyFromfcNEQ_NWB - two*kxyFromfcNEQ_NWT - - // two*kxyFromfcNEQ_SEB - two*kxyFromfcNEQ_SET - two*kxyFromfcNEQ_SWB - two*kxyFromfcNEQ_SWT - - // two*kxzFromfcNEQ_NEB - two*kxzFromfcNEQ_NET - two*kxzFromfcNEQ_NWB - two*kxzFromfcNEQ_NWT - - // two*kxzFromfcNEQ_SEB - two*kxzFromfcNEQ_SET - two*kxzFromfcNEQ_SWB - two*kxzFromfcNEQ_SWT + - // eight*vx1_NEB + eight*vx1_NET + eight*vx1_NWB + eight*vx1_NWT + - // eight*vx1_SEB + eight*vx1_SET + eight*vx1_SWB + eight*vx1_SWT + - // two*vx2_NEB + two*vx2_NET - two*vx2_NWB - two*vx2_NWT - - // two*vx2_SEB - two*vx2_SET + two*vx2_SWB + two*vx2_SWT - - // two*vx3_NEB + two*vx3_NET + two*vx3_NWB - two*vx3_NWT - - // two*vx3_SEB + two*vx3_SET + two*vx3_SWB - two*vx3_SWT)*c1o64; - //b0 = (two*kxxMyyFromfcNEQ_NEB + two*kxxMyyFromfcNEQ_NET + two*kxxMyyFromfcNEQ_NWB + two*kxxMyyFromfcNEQ_NWT - - // two*kxxMyyFromfcNEQ_SEB - two*kxxMyyFromfcNEQ_SET - two*kxxMyyFromfcNEQ_SWB - two*kxxMyyFromfcNEQ_SWT - - // kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + - // kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - - // two*kxyFromfcNEQ_NEB - two*kxyFromfcNEQ_NET - two*kxyFromfcNEQ_NWB - two*kxyFromfcNEQ_NWT - - // two*kxyFromfcNEQ_SEB - two*kxyFromfcNEQ_SET - two*kxyFromfcNEQ_SWB - two*kxyFromfcNEQ_SWT - - // two*kyzFromfcNEQ_NEB - two*kyzFromfcNEQ_NET - two*kyzFromfcNEQ_NWB - two*kyzFromfcNEQ_NWT - - // two*kyzFromfcNEQ_SEB - two*kyzFromfcNEQ_SET - two*kyzFromfcNEQ_SWB - two*kyzFromfcNEQ_SWT + - // two*vx1_NEB + two*vx1_NET - two*vx1_NWB - two*vx1_NWT - - // two*vx1_SEB - two*vx1_SET + two*vx1_SWB + two*vx1_SWT + - // eight*vx2_NEB + eight*vx2_NET + eight*vx2_NWB + eight*vx2_NWT + - // eight*vx2_SEB + eight*vx2_SET + eight*vx2_SWB + eight*vx2_SWT - - // two*vx3_NEB + two*vx3_NET - two*vx3_NWB + two*vx3_NWT + - // two*vx3_SEB - two*vx3_SET + two*vx3_SWB - two*vx3_SWT)*c1o64; - //c0 = (kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + - // kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT - - // two*kxxMzzFromfcNEQ_NEB + two*kxxMzzFromfcNEQ_NET - two*kxxMzzFromfcNEQ_NWB + two*kxxMzzFromfcNEQ_NWT - - // two*kxxMzzFromfcNEQ_SEB + two*kxxMzzFromfcNEQ_SET - two*kxxMzzFromfcNEQ_SWB + two*kxxMzzFromfcNEQ_SWT - - // two*kxzFromfcNEQ_NEB - two*kxzFromfcNEQ_NET - two*kxzFromfcNEQ_NWB - two*kxzFromfcNEQ_NWT - - // two*kxzFromfcNEQ_SEB - two*kxzFromfcNEQ_SET - two*kxzFromfcNEQ_SWB - two*kxzFromfcNEQ_SWT - - // two*kyzFromfcNEQ_NEB - two*kyzFromfcNEQ_NET - two*kyzFromfcNEQ_NWB - two*kyzFromfcNEQ_NWT - - // two*kyzFromfcNEQ_SEB - two*kyzFromfcNEQ_SET - two*kyzFromfcNEQ_SWB - two*kyzFromfcNEQ_SWT - - // two*vx1_NEB + two*vx1_NET + two*vx1_NWB - two*vx1_NWT - - // two*vx1_SEB + two*vx1_SET + two*vx1_SWB - two*vx1_SWT - - // two*vx2_NEB + two*vx2_NET - two*vx2_NWB + two*vx2_NWT + - // two*vx2_SEB - two*vx2_SET + two*vx2_SWB - two*vx2_SWT + - // eight*vx3_NEB + eight*vx3_NET + eight*vx3_NWB + eight*vx3_NWT + - // eight*vx3_SEB + eight*vx3_SET + eight*vx3_SWB + eight*vx3_SWT)*c1o64; - //ax = (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT + vx1_SEB + vx1_SET - vx1_SWB - vx1_SWT)/four; - //bx = (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT + vx2_SEB + vx2_SET - vx2_SWB - vx2_SWT)/four; - //cx = (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT + vx3_SEB + vx3_SET - vx3_SWB - vx3_SWT)/four; - //axx= (kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + - // kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT + - // kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + - // kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + - // two*vx2_NEB + two*vx2_NET - two*vx2_NWB - two*vx2_NWT - - // two*vx2_SEB - two*vx2_SET + two*vx2_SWB + two*vx2_SWT - - // two*vx3_NEB + two*vx3_NET + two*vx3_NWB - two*vx3_NWT - - // two*vx3_SEB + two*vx3_SET + two*vx3_SWB - two*vx3_SWT)/sixteen; - //bxx= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET + kxyFromfcNEQ_NWB + kxyFromfcNEQ_NWT + - // kxyFromfcNEQ_SEB + kxyFromfcNEQ_SET + kxyFromfcNEQ_SWB + kxyFromfcNEQ_SWT - - // two*vx1_NEB - two*vx1_NET + two*vx1_NWB + two*vx1_NWT + - // two*vx1_SEB + two*vx1_SET - two*vx1_SWB - two*vx1_SWT)/eight; - //cxx= (kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET + kxzFromfcNEQ_NWB + kxzFromfcNEQ_NWT + - // kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET + kxzFromfcNEQ_SWB + kxzFromfcNEQ_SWT + - // two*vx1_NEB - two*vx1_NET - two*vx1_NWB + two*vx1_NWT + - // two*vx1_SEB - two*vx1_SET - two*vx1_SWB + two*vx1_SWT)*c1o8; - //ay = (vx1_NEB + vx1_NET + vx1_NWB + vx1_NWT - vx1_SEB - vx1_SET - vx1_SWB - vx1_SWT)/four; - //by = (vx2_NEB + vx2_NET + vx2_NWB + vx2_NWT - vx2_SEB - vx2_SET - vx2_SWB - vx2_SWT)/four; - //cy = (vx3_NEB + vx3_NET + vx3_NWB + vx3_NWT - vx3_SEB - vx3_SET - vx3_SWB - vx3_SWT)/four; - //ayy= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET + kxyFromfcNEQ_NWB + kxyFromfcNEQ_NWT + - // kxyFromfcNEQ_SEB + kxyFromfcNEQ_SET + kxyFromfcNEQ_SWB + kxyFromfcNEQ_SWT - - // two*vx2_NEB - two*vx2_NET + two*vx2_NWB + two*vx2_NWT + - // two*vx2_SEB + two*vx2_SET - two*vx2_SWB - two*vx2_SWT)*c1o8; - //byy= (-two*kxxMyyFromfcNEQ_NEB - two*kxxMyyFromfcNEQ_NET - two*kxxMyyFromfcNEQ_NWB - two*kxxMyyFromfcNEQ_NWT + - // two*kxxMyyFromfcNEQ_SEB + two*kxxMyyFromfcNEQ_SET + two*kxxMyyFromfcNEQ_SWB + two*kxxMyyFromfcNEQ_SWT + - // kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - - // kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + - // two*vx1_NEB + two*vx1_NET - two*vx1_NWB - two*vx1_NWT - - // two*vx1_SEB - two*vx1_SET + two*vx1_SWB + two*vx1_SWT - - // two*vx3_NEB + two*vx3_NET - two*vx3_NWB + two*vx3_NWT + - // two*vx3_SEB - two*vx3_SET + two*vx3_SWB - two*vx3_SWT)*c1o16; - //cyy= (kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET + kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT + - // kyzFromfcNEQ_SEB + kyzFromfcNEQ_SET + kyzFromfcNEQ_SWB + kyzFromfcNEQ_SWT + - // two*vx2_NEB - two*vx2_NET + two*vx2_NWB - two*vx2_NWT - - // two*vx2_SEB + two*vx2_SET - two*vx2_SWB + two*vx2_SWT)*c1o8; - //az = (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT - vx1_SEB + vx1_SET - vx1_SWB + vx1_SWT)/four; - //bz = (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT - vx2_SEB + vx2_SET - vx2_SWB + vx2_SWT)/four; - //cz = (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT - vx3_SEB + vx3_SET - vx3_SWB + vx3_SWT)/four; - //azz= (kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET + kxzFromfcNEQ_NWB + kxzFromfcNEQ_NWT + - // kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET + kxzFromfcNEQ_SWB + kxzFromfcNEQ_SWT + - // two*vx3_NEB - two*vx3_NET - two*vx3_NWB + two*vx3_NWT + - // two*vx3_SEB - two*vx3_SET - two*vx3_SWB + two*vx3_SWT)*c1o8; - //bzz= (kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET + kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT + - // kyzFromfcNEQ_SEB + kyzFromfcNEQ_SET + kyzFromfcNEQ_SWB + kyzFromfcNEQ_SWT + - // two*vx3_NEB - two*vx3_NET + two*vx3_NWB - two*vx3_NWT - - // two*vx3_SEB + two*vx3_SET - two*vx3_SWB + two*vx3_SWT)*c1o8; - //czz= (-kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - - // kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT + - // two*kxxMzzFromfcNEQ_NEB - two*kxxMzzFromfcNEQ_NET + two*kxxMzzFromfcNEQ_NWB - two*kxxMzzFromfcNEQ_NWT + - // two*kxxMzzFromfcNEQ_SEB - two*kxxMzzFromfcNEQ_SET + two*kxxMzzFromfcNEQ_SWB - two*kxxMzzFromfcNEQ_SWT - - // two*vx1_NEB + two*vx1_NET + two*vx1_NWB - two*vx1_NWT - - // two*vx1_SEB + two*vx1_SET + two*vx1_SWB - two*vx1_SWT - - // two*vx2_NEB + two*vx2_NET - two*vx2_NWB + two*vx2_NWT + - // two*vx2_SEB - two*vx2_SET + two*vx2_SWB - two*vx2_SWT)*c1o16; - //axy= (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT - - // vx1_SEB - vx1_SET + vx1_SWB + vx1_SWT)/two; - //bxy= (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT - - // vx2_SEB - vx2_SET + vx2_SWB + vx2_SWT)/two; - //cxy= (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT - - // vx3_SEB - vx3_SET + vx3_SWB + vx3_SWT)/two; - //axz= (-vx1_NEB + vx1_NET + vx1_NWB - vx1_NWT - - // vx1_SEB + vx1_SET + vx1_SWB - vx1_SWT)/two; - //bxz= (-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT - - // vx2_SEB + vx2_SET + vx2_SWB - vx2_SWT)/two; - //cxz= (-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT - - // vx3_SEB + vx3_SET + vx3_SWB - vx3_SWT)/two; - //ayz= (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT + - // vx1_SEB - vx1_SET + vx1_SWB - vx1_SWT)/two; - //byz= (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT + - // vx2_SEB - vx2_SET + vx2_SWB - vx2_SWT)/two; - //cyz= (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT + - // vx3_SEB - vx3_SET + vx3_SWB - vx3_SWT)/two; - //axyz=-vx1_NEB + vx1_NET + vx1_NWB - vx1_NWT + - // vx1_SEB - vx1_SET - vx1_SWB + vx1_SWT; - //bxyz=-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT + - // vx2_SEB - vx2_SET - vx2_SWB + vx2_SWT; - //cxyz=-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT + - // vx3_SEB - vx3_SET - vx3_SWB + vx3_SWT; - - ////////////////////////////////////////////////////////////////////////// - //3 - ////////////////////////////////////////////////////////////////////////// - a0 = (-kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT - - kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - - kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - - c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET - c2o1*kxyFromfcNEQ_NWB - c2o1*kxyFromfcNEQ_NWT + - c2o1*kxyFromfcNEQ_SEB + c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + - c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB - c2o1*kxzFromfcNEQ_NWT + - c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB - c2o1*kxzFromfcNEQ_SWT + - c8o1*vx1_NEB + c8o1*vx1_NET + c8o1*vx1_NWB + c8o1*vx1_NWT + c8o1*vx1_SEB + - c8o1*vx1_SET + c8o1*vx1_SWB + c8o1*vx1_SWT + c2o1*vx2_NEB + c2o1*vx2_NET - - c2o1*vx2_NWB - c2o1*vx2_NWT - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + - c2o1*vx2_SWT - c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - - c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)*c1o64; - b0 = (c2o1*kxxMyyFromfcNEQ_NEB + c2o1*kxxMyyFromfcNEQ_NET + c2o1*kxxMyyFromfcNEQ_NWB + c2o1*kxxMyyFromfcNEQ_NWT - - c2o1*kxxMyyFromfcNEQ_SEB - c2o1*kxxMyyFromfcNEQ_SET - c2o1*kxxMyyFromfcNEQ_SWB - c2o1*kxxMyyFromfcNEQ_SWT - - kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - - c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET + c2o1*kxyFromfcNEQ_NWB + c2o1*kxyFromfcNEQ_NWT - - c2o1*kxyFromfcNEQ_SEB - c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + - c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET + c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + - c2o1*kyzFromfcNEQ_SEB - c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB - c2o1*kyzFromfcNEQ_SWT + - c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT + - c8o1*vx2_NEB + c8o1*vx2_NET + c8o1*vx2_NWB + c8o1*vx2_NWT + - c8o1*vx2_SEB + c8o1*vx2_SET + c8o1*vx2_SWB + c8o1*vx2_SWT - - c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + - c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)*c1o64; - c0 = (kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT - - c2o1*kxxMzzFromfcNEQ_NEB + c2o1*kxxMzzFromfcNEQ_NET - c2o1*kxxMzzFromfcNEQ_NWB + c2o1*kxxMzzFromfcNEQ_NWT - - c2o1*kxxMzzFromfcNEQ_SEB + c2o1*kxxMzzFromfcNEQ_SET - c2o1*kxxMzzFromfcNEQ_SWB + c2o1*kxxMzzFromfcNEQ_SWT - - c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB + c2o1*kxzFromfcNEQ_NWT - - c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB + c2o1*kxzFromfcNEQ_SWT - - c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET - c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + - c2o1*kyzFromfcNEQ_SEB + c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB + c2o1*kyzFromfcNEQ_SWT - - c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - - c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT + - c8o1*vx3_NEB + c8o1*vx3_NET + c8o1*vx3_NWB + c8o1*vx3_NWT + - c8o1*vx3_SEB + c8o1*vx3_SET + c8o1*vx3_SWB + c8o1*vx3_SWT)*c1o64; - ax = (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT + vx1_SEB + vx1_SET - vx1_SWB - vx1_SWT)/c4o1; - bx = (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT + vx2_SEB + vx2_SET - vx2_SWB - vx2_SWT)/c4o1; - cx = (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT + vx3_SEB + vx3_SET - vx3_SWB - vx3_SWT)/c4o1; - axx= (kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT + - kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + - c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB - c2o1*vx2_NWT - - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + c2o1*vx2_SWT - - c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - - c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)*c1o16; - bxx= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET - kxyFromfcNEQ_NWB - kxyFromfcNEQ_NWT + - kxyFromfcNEQ_SEB + kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - - c2o1*vx1_NEB - c2o1*vx1_NET + c2o1*vx1_NWB + c2o1*vx1_NWT + - c2o1*vx1_SEB + c2o1*vx1_SET - c2o1*vx1_SWB - c2o1*vx1_SWT)*c1o8; - cxx= (kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB - kxzFromfcNEQ_NWT + - kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB - kxzFromfcNEQ_SWT + - c2o1*vx1_NEB - c2o1*vx1_NET - c2o1*vx1_NWB + c2o1*vx1_NWT + - c2o1*vx1_SEB - c2o1*vx1_SET - c2o1*vx1_SWB + c2o1*vx1_SWT)*c1o8; - ay = (vx1_NEB + vx1_NET + vx1_NWB + vx1_NWT - vx1_SEB - vx1_SET - vx1_SWB - vx1_SWT)/c4o1; - by = (vx2_NEB + vx2_NET + vx2_NWB + vx2_NWT - vx2_SEB - vx2_SET - vx2_SWB - vx2_SWT)/c4o1; - cy = (vx3_NEB + vx3_NET + vx3_NWB + vx3_NWT - vx3_SEB - vx3_SET - vx3_SWB - vx3_SWT)/c4o1; - ayy= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET + kxyFromfcNEQ_NWB + kxyFromfcNEQ_NWT - - kxyFromfcNEQ_SEB - kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - - c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB + c2o1*vx2_NWT + - c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB - c2o1*vx2_SWT)*c1o8; - byy= (-c2o1*kxxMyyFromfcNEQ_NEB - c2o1*kxxMyyFromfcNEQ_NET - c2o1*kxxMyyFromfcNEQ_NWB - c2o1*kxxMyyFromfcNEQ_NWT + - c2o1*kxxMyyFromfcNEQ_SEB + c2o1*kxxMyyFromfcNEQ_SET + c2o1*kxxMyyFromfcNEQ_SWB + c2o1*kxxMyyFromfcNEQ_SWT + - kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - - kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + - c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT - - c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + - c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)*c1o16; - cyy= (kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET + kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - - kyzFromfcNEQ_SEB - kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB - kyzFromfcNEQ_SWT + - c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB - c2o1*vx2_NWT - - c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB + c2o1*vx2_SWT)*c1o8; - az = (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT - vx1_SEB + vx1_SET - vx1_SWB + vx1_SWT)/c4o1; - bz = (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT - vx2_SEB + vx2_SET - vx2_SWB + vx2_SWT)/c4o1; - cz = (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT - vx3_SEB + vx3_SET - vx3_SWB + vx3_SWT)/c4o1; - azz= (-kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB + kxzFromfcNEQ_NWT - - kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB + kxzFromfcNEQ_SWT + - c2o1*vx3_NEB - c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + - c2o1*vx3_SEB - c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)*c1o8; - bzz= (-kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET - kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - - kyzFromfcNEQ_SEB + kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB + kyzFromfcNEQ_SWT + - c2o1*vx3_NEB - c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - - c2o1*vx3_SEB + c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)*c1o8; - czz= (-kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT + - c2o1*kxxMzzFromfcNEQ_NEB - c2o1*kxxMzzFromfcNEQ_NET + c2o1*kxxMzzFromfcNEQ_NWB - c2o1*kxxMzzFromfcNEQ_NWT + - c2o1*kxxMzzFromfcNEQ_SEB - c2o1*kxxMzzFromfcNEQ_SET + c2o1*kxxMzzFromfcNEQ_SWB - c2o1*kxxMzzFromfcNEQ_SWT - - c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - - c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT)*c1o16; - axy= (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT - vx1_SEB - vx1_SET + vx1_SWB + vx1_SWT)/c2o1; - bxy= (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT - vx2_SEB - vx2_SET + vx2_SWB + vx2_SWT)/c2o1; - cxy= (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT - vx3_SEB - vx3_SET + vx3_SWB + vx3_SWT)/c2o1; - axz= (-vx1_NEB + vx1_NET + vx1_NWB - vx1_NWT - vx1_SEB + vx1_SET + vx1_SWB - vx1_SWT)/c2o1; - bxz= (-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT - vx2_SEB + vx2_SET + vx2_SWB - vx2_SWT)/c2o1; - cxz= (-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT - vx3_SEB + vx3_SET + vx3_SWB - vx3_SWT)/c2o1; - ayz= (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT + vx1_SEB - vx1_SET + vx1_SWB - vx1_SWT)/c2o1; - byz= (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT + vx2_SEB - vx2_SET + vx2_SWB - vx2_SWT)/c2o1; - cyz= (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT + vx3_SEB - vx3_SET + vx3_SWB - vx3_SWT)/c2o1; - axyz=-vx1_NEB + vx1_NET + vx1_NWB - vx1_NWT + vx1_SEB - vx1_SET - vx1_SWB + vx1_SWT; - bxyz=-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT + vx2_SEB - vx2_SET - vx2_SWB + vx2_SWT; - cxyz=-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT + vx3_SEB - vx3_SET - vx3_SWB + vx3_SWT; - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - // Bernd das Brot - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - a0 = a0 + xoff * ax + yoff * ay + zoff * az + xoff_sq * axx + yoff_sq * ayy + zoff_sq * azz; - ax = ax + c2o1 * xoff * axx + yoff * axy + zoff * axz; - ay = ay + c2o1 * yoff * ayy + xoff * axy + zoff * ayz; - az = az + c2o1 * zoff * azz + xoff * axz + yoff * ayz; - b0 = b0 + xoff * bx + yoff * by + zoff * bz + xoff_sq * bxx + yoff_sq * byy + zoff_sq * bzz; - bx = bx + c2o1 * xoff * bxx + yoff * bxy + zoff * bxz; - by = by + c2o1 * yoff * byy + xoff * bxy + zoff * byz; - bz = bz + c2o1 * zoff * bzz + xoff * bxz + yoff * byz; - c0 = c0 + xoff * cx + yoff * cy + zoff * cz + xoff_sq * cxx + yoff_sq * cyy + zoff_sq * czz; - cx = cx + c2o1 * xoff * cxx + yoff * cxy + zoff * cxz; - cy = cy + c2o1 * yoff * cyy + xoff * cxy + zoff * cyz; - cz = cz + c2o1 * zoff * czz + xoff * cxz + yoff * cyz; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real x_E, x_N, x_T, x_NE, x_SE, x_BE, x_TE, x_TN, x_BN, x_TNE, x_TNW, x_TSE, x_TSW, x_ZERO; - real y_E, y_N, y_T, y_NE, y_SE, y_BE, y_TE, y_TN, y_BN, y_TNE, y_TNW, y_TSE, y_TSW, y_ZERO; - real z_E, z_N, z_T, z_NE, z_SE, z_BE, z_TE, z_TN, z_BN, z_TNE, z_TNW, z_TSE, z_TSW, z_ZERO; - real xy_E, xy_N, xy_T, xy_NE, xy_SE, xy_BE, xy_TE, xy_TN, xy_BN, xy_TNE, xy_TNW, xy_TSE, xy_TSW/*, xy_ZERO*/; - real xz_E, xz_N, xz_T, xz_NE, xz_SE, xz_BE, xz_TE, xz_TN, xz_BN, xz_TNE, xz_TNW, xz_TSE, xz_TSW/*, xz_ZERO*/; - real yz_E, yz_N, yz_T, yz_NE, yz_SE, yz_BE, yz_TE, yz_TN, yz_BN, yz_TNE, yz_TNW, yz_TSE, yz_TSW/*, yz_ZERO*/; - - - f_E = eps_new*((c2o1*(-c2o1*ax + by + cz))/(c27o1*o)); - f_N = eps_new*((c2o1*(ax - c2o1*by + cz))/(c27o1*o)); - f_T = eps_new*((c2o1*(ax + by - c2o1*cz))/(c27o1*o)); - f_NE = eps_new*(-(ax + c3o1*ay + c3o1*bx + by - c2o1*cz)/(c54o1*o)); - f_SE = eps_new*(-(ax - c3o1*ay - c3o1*bx + by - c2o1*cz)/(c54o1*o)); - f_TE = eps_new*(-(ax + c3o1*az - c2o1*by + c3o1*cx + cz)/(c54o1*o)); - f_BE = eps_new*(-(ax - c3o1*az - c2o1*by - c3o1*cx + cz)/(c54o1*o)); - f_TN = eps_new*(-(-c2o1*ax + by + c3o1*bz + c3o1*cy + cz)/(c54o1*o)); - f_BN = eps_new*(-(-c2o1*ax + by - c3o1*bz - c3o1*cy + cz)/(c54o1*o)); - f_ZERO = c0o1; - f_TNE = eps_new*(-(ay + az + bx + bz + cx + cy)/(c72o1*o)); - f_TSW = eps_new*((-ay + az - bx + bz + cx + cy)/(c72o1*o)); - f_TSE = eps_new*((ay - az + bx + bz - cx + cy)/(c72o1*o)); - f_TNW = eps_new*((ay + az + bx - bz + cx - cy)/(c72o1*o)); - - x_E = c1o4*eps_new*((c2o1*(-c4o1*axx + bxy + cxz))/(c27o1*o)); - x_N = c1o4*eps_new*((c2o1*(c2o1*axx - c2o1*bxy + cxz))/(c27o1*o)); - x_T = c1o4*eps_new*((c2o1*(c2o1*axx + bxy - c2o1*cxz))/(c27o1*o)); - x_NE = c1o4*eps_new*(-((c2o1*axx + c3o1*axy + c6o1*bxx + bxy - c2o1*cxz))/(c54o1*o)); - x_SE = c1o4*eps_new*(-((c2o1*axx - c3o1*axy - c6o1*bxx + bxy - c2o1*cxz))/(c54o1*o)); - x_TE = c1o4*eps_new*(-((c2o1*axx + c3o1*axz - c2o1*bxy + c6o1*cxx + cxz))/(c54o1*o)); - x_BE = c1o4*eps_new*(-((c2o1*axx - c3o1*axz - c2o1*bxy - c6o1*cxx + cxz))/(c54o1*o)); - x_TN = c1o4*eps_new*(-((-c4o1*axx + bxy + c3o1*bxz + c3o1*cxy + cxz))/(c54o1*o)); - x_BN = c1o4*eps_new*(-((-c4o1*axx + bxy - c3o1*bxz - c3o1*cxy + cxz))/(c54o1*o)); - x_ZERO = c0o1; - x_TNE = c1o4*eps_new*(-((axy + axz + c2o1*bxx + bxz + c2o1*cxx + cxy))/(c72o1*o)); - x_TSW = c1o4*eps_new*(((-axy + axz - c2o1*bxx + bxz + c2o1*cxx + cxy))/(c72o1*o)); - x_TSE = c1o4*eps_new*(((axy - axz + c2o1*bxx + bxz - c2o1*cxx + cxy))/(c72o1*o)); - x_TNW = c1o4*eps_new*(((axy + axz + c2o1*bxx - bxz + c2o1*cxx - cxy))/(c72o1*o)); - - y_E = c1o4*eps_new*(c2o1*(-c2o1*axy + c2o1*byy + cyz))/(c27o1*o); - y_N = c1o4*eps_new*(c2o1*(axy - c4o1*byy + cyz))/(c27o1*o); - y_T = c1o4*eps_new*(c2o1*(axy + c2o1*byy - c2o1*cyz))/(c27o1*o); - y_NE = c1o4*eps_new*(-((axy + c6o1*ayy + c3o1*bxy + c2o1*byy - c2o1*cyz))/(c54o1*o)); - y_SE = c1o4*eps_new*(-((axy - c6o1*ayy - c3o1*bxy + c2o1*byy - c2o1*cyz))/(c54o1*o)); - y_TE = c1o4*eps_new*(-((axy + c3o1*ayz - c4o1*byy + c3o1*cxy + cyz))/(c54o1*o)); - y_BE = c1o4*eps_new*(-((axy - c3o1*ayz - c4o1*byy - c3o1*cxy + cyz))/(c54o1*o)); - y_TN = c1o4*eps_new*(-((-c2o1*axy + c2o1*byy + c3o1*byz + c6o1*cyy + cyz))/(c54o1*o)); - y_BN = c1o4*eps_new*(-((-c2o1*axy + c2o1*byy - c3o1*byz - c6o1*cyy + cyz))/(c54o1*o)); - y_ZERO = c0o1; - y_TNE = c1o4*eps_new*(-((c2o1*ayy + ayz + bxy + byz + cxy + c2o1*cyy))/(c72o1*o)); - y_TSW = c1o4*eps_new*(((-c2o1*ayy + ayz - bxy + byz + cxy + c2o1*cyy))/(c72o1*o)); - y_TSE = c1o4*eps_new*(((c2o1*ayy - ayz + bxy + byz - cxy + c2o1*cyy))/(c72o1*o)); - y_TNW = c1o4*eps_new*(((c2o1*ayy + ayz + bxy - byz + cxy - c2o1*cyy))/(c72o1*o)); - - z_E = c1o4*eps_new*((c2o1*(-c2o1*axz + byz + c2o1*czz))/(c27o1*o)); - z_N = c1o4*eps_new*((c2o1*(axz - c2o1*byz + c2o1*czz))/(c27o1*o)); - z_T = c1o4*eps_new*((c2o1*(axz + byz - c4o1*czz))/(c27o1*o)); - z_NE = c1o4*eps_new*(-((axz + c3o1*ayz + c3o1*bxz + byz - c4o1*czz))/(c54o1*o)); - z_SE = c1o4*eps_new*(-((axz - c3o1*ayz - c3o1*bxz + byz - c4o1*czz))/(c54o1*o)); - z_TE = c1o4*eps_new*(-((axz + c6o1*azz - c2o1*byz + c3o1*cxz + c2o1*czz))/(c54o1*o)); - z_BE = c1o4*eps_new*(-((axz - c6o1*azz - c2o1*byz - c3o1*cxz + c2o1*czz))/(c54o1*o)); - z_TN = c1o4*eps_new*(-((-c2o1*axz + byz + c6o1*bzz + c3o1*cyz + c2o1*czz))/(c54o1*o)); - z_BN = c1o4*eps_new*(-((-c2o1*axz + byz - c6o1*bzz - c3o1*cyz + c2o1*czz))/(c54o1*o)); - z_ZERO = c0o1; - z_TNE = c1o4*eps_new*(-((ayz + c2o1*azz + bxz + c2o1*bzz + cxz + cyz))/(c72o1*o)); - z_TSW = c1o4*eps_new*(((-ayz + c2o1*azz - bxz + c2o1*bzz + cxz + cyz))/(c72o1*o)); - z_TSE = c1o4*eps_new*(((ayz - c2o1*azz + bxz + c2o1*bzz - cxz + cyz))/(c72o1*o)); - z_TNW = c1o4*eps_new*(((ayz + c2o1*azz + bxz - c2o1*bzz + cxz - cyz))/(c72o1*o)); - - xy_E = c1o16*eps_new *(( c2o1*cxyz)/(c27o1*o)); - xy_N = c1o16*eps_new *(( c2o1*cxyz)/(c27o1*o)); - xy_T = -(c1o16*eps_new *(( c4o1*cxyz)/(c27o1*o))); - xy_NE = c1o16*eps_new *( cxyz /(c27o1*o)); - xy_SE = c1o16*eps_new *( cxyz /(c27o1*o)); - xy_TE = -(c1o16*eps_new *(( c3o1*axyz + cxyz)/(c54o1*o))); - xy_BE = -(c1o16*eps_new *((-c3o1*axyz + cxyz)/(c54o1*o))); - xy_TN = -(c1o16*eps_new *(( c3o1*bxyz + cxyz)/(c54o1*o))); - xy_BN = -(c1o16*eps_new *(( - c3o1*bxyz + cxyz)/(c54o1*o))); - //xy_ZERO= c1o16*eps_new; - xy_TNE = -(c1o16*eps_new *(( axyz + bxyz )/(c72o1*o))); - xy_TSW = c1o16*eps_new *(( axyz + bxyz )/(c72o1*o)); - xy_TSE = c1o16*eps_new *((- axyz + bxyz )/(c72o1*o)); - xy_TNW = c1o16*eps_new *(( axyz - bxyz )/(c72o1*o)); - - xz_E = c1o16*eps_new *(( c2o1*bxyz )/(c27o1*o)); - xz_N = -(c1o16*eps_new *(( c4o1*bxyz )/(c27o1*o))); - xz_T = c1o16*eps_new *(( c2o1*bxyz )/(c27o1*o)); - xz_NE = -(c1o16*eps_new *(( c3o1*axyz + bxyz )/(c54o1*o))); - xz_SE = -(c1o16*eps_new *((-c3o1*axyz + bxyz )/(c54o1*o))); - xz_TE = c1o16*eps_new *(( bxyz )/(c27o1*o)); - xz_BE = c1o16*eps_new *(( bxyz )/(c27o1*o)); - xz_TN = -(c1o16*eps_new *(( bxyz + c3o1*cxyz)/(c54o1*o))); - xz_BN = -(c1o16*eps_new *(( bxyz - c3o1*cxyz)/(c54o1*o))); - //xz_ZERO= c1o16*eps_new; - xz_TNE = -(c1o16*eps_new *(( axyz + cxyz)/(c72o1*o))); - xz_TSW = c1o16*eps_new *((- axyz + cxyz)/(c72o1*o)); - xz_TSE = c1o16*eps_new *(( axyz + cxyz)/(c72o1*o)); - xz_TNW = c1o16*eps_new *(( axyz - cxyz)/(c72o1*o)); - - yz_E = -(c1o16*eps_new *(( c4o1*axyz )/(c27o1*o))); - yz_N = c1o16*eps_new *(( c2o1*axyz )/(c27o1*o)); - yz_T = c1o16*eps_new *(( c2o1*axyz )/(c27o1*o)); - yz_NE = -(c1o16*eps_new *(( axyz + c3o1*bxyz )/(c54o1*o))); - yz_SE = -(c1o16*eps_new *(( axyz - c3o1*bxyz )/(c54o1*o))); - yz_TE = -(c1o16*eps_new *(( axyz + c3o1*cxyz)/(c54o1*o))); - yz_BE = -(c1o16*eps_new *(( axyz - c3o1*cxyz)/(c54o1*o))); - yz_TN = c1o16*eps_new *(( axyz )/(c27o1*o)); - yz_BN = c1o16*eps_new *(( axyz )/(c27o1*o)); - //yz_ZERO= c1o16*eps_new; - yz_TNE = -(c1o16*eps_new *(( bxyz + cxyz)/(c72o1*o))); - yz_TSW = c1o16*eps_new *(( - bxyz + cxyz)/(c72o1*o)); - yz_TSE = c1o16*eps_new *(( bxyz - cxyz)/(c72o1*o)); - yz_TNW = c1o16*eps_new *(( bxyz + cxyz)/(c72o1*o)); - - //f_E = eps_new *((five*ax*o + five*by*o + five*cz*o - eight*ax*op + four*by*op + four*cz*op)/(fiftyfour*o*op)); - //f_N = f_E + eps_new *((two*(ax - by))/(nine*o)); - //f_T = f_E + eps_new *((two*(ax - cz))/(nine*o)); - //f_NE = eps_new *(-(five*cz*o + three*(ay + bx)*op - two*cz*op + ax*(five*o + op) + by*(five*o + op))/(fiftyfour*o*op)); - //f_SE = f_NE + eps_new *(( ay + bx )/(nine*o)); - //f_TE = eps_new *(-(five*cz*o + by*(five*o - two*op) + three*(az + cx)*op + cz*op + ax*(five*o + op))/(fiftyfour*o*op)); - //f_BE = f_TE + eps_new *(( az + cx )/(nine*o)); - //f_TN = eps_new *(-(five*ax*o + five*by*o + five*cz*o - two*ax*op + by*op + three*bz*op + three*cy*op + cz*op)/(fiftyfour*o*op)); - //f_BN = f_TN + eps_new *(( bz + cy )/(nine*o)); - //f_ZERO = eps_new *((5.f*(ax + by + cz))/(nine*op)); - //f_TNE = eps_new *(-(ay + az + bx + bz + cx + cy)/(seventytwo*o)); - //f_TSW = - eps_new *((ay + bx)/(thirtysix*o)) - f_TNE; - //f_TSE = - eps_new *((az + cx)/(thirtysix*o)) - f_TNE; - //f_TNW = - eps_new *((bz + cy)/(thirtysix*o)) - f_TNE; - - //x_E = zero; - //x_N = zero; - //x_T = zero; - //x_NE = zero; - //x_SE = zero; - //x_TE = zero; - //x_BE = zero; - //x_TN = zero; - //x_BN = zero; - //x_ZERO = zero; - //x_TNE = zero; - //x_TSW = zero; - //x_TSE = zero; - //x_TNW = zero; - - //y_E = zero; - //y_N = zero; - //y_T = zero; - //y_NE = zero; - //y_SE = zero; - //y_TE = zero; - //y_BE = zero; - //y_TN = zero; - //y_BN = zero; - //y_ZERO = zero; - //y_TNE = zero; - //y_TSW = zero; - //y_TSE = zero; - //y_TNW = zero; - - //z_E = zero; - //z_N = zero; - //z_T = zero; - //z_NE = zero; - //z_SE = zero; - //z_TE = zero; - //z_BE = zero; - //z_TN = zero; - //z_BN = zero; - //z_ZERO = zero; - //z_TNE = zero; - //z_TSW = zero; - //z_TSE = zero; - //z_TNW = zero; - - //x_E = c1o4*eps_new *((ten*axx*o + five*bxy*o + five*cxz*o - sixteen*axx*op + four*bxy*op + four*cxz*op)/(fiftyfour*o*op)); - //x_N = x_E + c1o4*eps_new *((four*axx - two*bxy)/(nine*o)); - //x_T = x_E + c1o4*eps_new *((four*axx - two*cxz)/(nine*o)); - //x_NE = c1o4*eps_new *(-( ten*axx*o + five*bxy*o + five*cxz*o + two*axx*op + three*axy*op + six*bxx*op + bxy*op - two*cxz*op )/(fiftyfour*o*op)); - //x_SE = x_NE + c1o4*eps_new *((axy + two*bxx)/(nine*o)); - //x_TE = c1o4*eps_new *(-( ten*axx*o + five*bxy*o + five*cxz*o + two*axx*op + three*axz*op - two*bxy*op + six*cxx*op + cxz*op )/(fiftyfour*o*op)); - //x_BE = x_TE + c1o4*eps_new *((axz + two*cxx)/(nine*o)); - //x_TN = c1o4*eps_new *(-( ten*axx*o + five*bxy*o + five*cxz*o - four*axx*op + bxy*op + three*bxz*op + three*cxy*op + cxz*op )/(fiftyfour*o*op)); - //x_BN = x_TN + c1o4*eps_new *((bxz + cxy)/(nine*o)); - //x_ZERO = c1o4*eps_new *((((two*axx + bxy + cxz)))/(nine*op)); - //x_TNE = c1o4*eps_new *(-( axy + axz + two*bxx + bxz + two*cxx + cxy )/(seventytwof*o)); - //x_TSW = - c1o4*eps_new *(( axy + two*bxx)/(thirtysix*o)) - x_TNE; - //x_TSE = - c1o4*eps_new *(( axz + two*cxx)/(thirtysix*o)) - x_TNE; - //x_TNW = - c1o4*eps_new *(( bxz + cxy)/(thirtysix*o)) - x_TNE; - - //y_E = c1o4*eps_new *((five*axy*o + ten*byy*o + five*cyz*o - eight*axy*op + eight*byy*op + four*cyz*op )/(fiftyfour*o*op)); - //y_N = y_E + c1o4*eps_new *((two*axy - four*byy)/(nine*o)); - //y_T = y_E + c1o4*eps_new *((two*axy - two*cyz)/(nine*o)); - //y_NE = c1o4*eps_new *(-(five*axy*o + ten*byy*o + five*cyz*o + axy*op + six*ayy*op + three*bxy*op + two*byy*op - two*cyz*op)/(fiftyfour*o*op)); - //y_SE = y_NE + c1o4*eps_new *((two*ayy + bxy)/(nine*o)); - //y_TE = c1o4*eps_new *(-(five*axy*o + ten*byy*o + five*cyz*o + axy*op + three*ayz*op - four*byy*op + three*cxy*op + cyz*op)/(fiftyfour*o*op)); - //y_BE = y_TE + c1o4*eps_new *(( ayy + bxy)/(nine*o)); - //y_TN = c1o4*eps_new *(-(five*axy*o + ten*byy*o + five*cyz*o - two*axy*op + two*byy*op + three*byz*op + six*cyy*op + cyz*op)/(fiftyfour*o*op)); - //y_BN = y_TN + c1o4*eps_new *(( byz + two*cyy)/(nine*o)); - //y_ZERO = c1o4*eps_new *(( (axy + two*byy + cyz))/(9.*op)); - //y_TNE = c1o4*eps_new *(-( (two*ayy + ayz + bxy + byz) + cxy + two*cyy)/(seventytwo*o)); - //y_TSW = - c1o4*eps_new *(( two*ayy + bxy)/(thirtysix*o)) - y_TNE; - //y_TSE = - c1o4*eps_new *(( ayz + cxy)/(thirtysix*o)) - y_TNE; - //y_TNW = - c1o4*eps_new *(( byz + two*cyy)/(thirtysix*o)) - y_TNE; - - //z_E = c1o4*eps_new *(((five*(axz + byz + two*czz)*o + four*(-two*axz + byz + two*czz)*op))/(fiftyfour*o*op)); - //z_N = z_E + c1o4*eps_new *((two*axz - two*byz)/(nine*o)); - //z_T = z_E + c1o4*eps_new *((two*axz - four*czz)/(nine*o)); - //z_NE = c1o4*eps_new *(-((five*(axz + byz + two*czz)*o + (axz + three*ayz + three*bxz + byz - four*czz)*op))/(fiftyfour*o*op)); - //z_SE = z_NE + c1o4*eps_new *((ayz + bxz)/(nine*o)); - //z_TE = c1o4*eps_new *(-((five*(axz + byz + two*czz)*o + (axz + six*azz - two*byz + three*cxz + two*czz)*op))/(fiftyfour*o*op)); - //z_BE = z_TE + c1o4*eps_new *((two*azz + cxz)/(nine*o)); - //z_TN = c1o4*eps_new *(-((five*(axz + byz + two*czz)*o + (-two*axz + byz + six*bzz + three*cyz + two*czz)*op))/(fiftyfour*o*op)); - //z_BN = z_TN + c1o4*eps_new *((two*bzz + cyz)/(nine*o)); - //z_ZERO = c1o4*eps_new *(((axz + byz + two*czz))/(nine*op)); - //z_TNE = c1o4*eps_new *(-((ayz + two*azz) + (bxz + two*bzz + cxz + cyz))/(seventytwo*o)); - //z_TSW = - c1o4*eps_new *(( ayz + bxz)/(thirtysix*o)) - z_TNE; - //z_TSE = - c1o4*eps_new *(( two*azz + cxz)/(thirtysix*o)) - z_TNE; - //z_TNW = - c1o4*eps_new *(( two*bzz + cyz)/(thirtysix*o)) - z_TNE; - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //Position SWB -0.25, -0.25, -0.25 - //x = -c1o4; - //y = -c1o4; - //z = -c1o4; - - //drho = c3o64*drho_NEB+c1o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c27o64*drho_SWB+c9o64*drho_SWT; - drho = drho_SWT * (c9o64 + c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + - drho_NWT * (c3o64 + c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - drho_SET * (c3o64 - c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + - drho_NET * (c1o64 - c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + - drho_NEB * (c3o64 - c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + - drho_NWB * (c9o64 + c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + - drho_SEB * (c9o64 - c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - drho_SWB * (c27o64 + c9o16 * xoff + c9o16 * yoff + c9o16 * zoff); - vx1 = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - vx2 = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - vx3 = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - feq_ZERO = c8o27* (drho-cu_sq); - feq_E = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - feq_N = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - feq_T = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - feq_NE = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - feq_SE = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - feq_TE = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - feq_BE = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - feq_TN = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - feq_BN = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - feq_TNE = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - feq_BNE = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - feq_TSE = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - feq_BSE = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - feq_W = feq_E + c2o27* (c6o1*(-vx1 )); - feq_S = feq_N + c2o27* (c6o1*( -vx2 )); - feq_B = feq_T + c2o27* (c6o1*( -vx3)); - feq_SW = feq_NE + c1o54* (c6o1*(-vx1-vx2 )); - feq_NW = feq_SE + c1o54* (c6o1*(-vx1+vx2 )); - feq_BW = feq_TE + c1o54* (c6o1*(-vx1 -vx3)); - feq_TW = feq_BE + c1o54* (c6o1*(-vx1 +vx3)); - feq_BS = feq_TN + c1o54* (c6o1*( -vx2-vx3)); - feq_TS = feq_BN + c1o54* (c6o1*( -vx2+vx3)); - feq_BSW = feq_TNE + c1o216*(c6o1*(-vx1-vx2-vx3)); - feq_TSW = feq_BNE + c1o216*(c6o1*(-vx1-vx2+vx3)); - feq_BNW = feq_TSE + c1o216*(c6o1*(-vx1+vx2-vx3)); - feq_TNW = feq_BSE + c1o216*(c6o1*(-vx1+vx2+vx3)); - - - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= posFSWB[k]; - k0w = neighborFX[k0zero]; - k0s = neighborFY[k0zero]; - k0b = neighborFZ[k0zero]; - k0sw = neighborFY[k0w]; - k0bw = neighborFZ[k0w]; - k0bs = neighborFZ[k0s]; - k0bsw = neighborFZ[k0sw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - feF[kzero] = f_E - x_E - y_E - z_E + xy_E + xz_E + yz_E + feq_E; - fwF[kw] = f_E - x_E - y_E - z_E + xy_E + xz_E + yz_E + feq_W; - fnF[kzero] = f_N - x_N - y_N - z_N + xy_N + xz_N + yz_N + feq_N; - fsF[ks] = f_N - x_N - y_N - z_N + xy_N + xz_N + yz_N + feq_S; - ftF[kzero] = f_T - x_T - y_T - z_T + xy_T + xz_T + yz_T + feq_T; - fbF[kb] = f_T - x_T - y_T - z_T + xy_T + xz_T + yz_T + feq_B; - fneF[kzero] = f_NE - x_NE - y_NE - z_NE + xy_NE + xz_NE + yz_NE + feq_NE; - fswF[ksw] = f_NE - x_NE - y_NE - z_NE + xy_NE + xz_NE + yz_NE + feq_SW; - fseF[ks] = f_SE - x_SE - y_SE - z_SE + xy_SE + xz_SE + yz_SE + feq_SE; - fnwF[kw] = f_SE - x_SE - y_SE - z_SE + xy_SE + xz_SE + yz_SE + feq_NW; - fteF[kzero] = f_TE - x_TE - y_TE - z_TE + xy_TE + xz_TE + yz_TE + feq_TE; - fbwF[kbw] = f_TE - x_TE - y_TE - z_TE + xy_TE + xz_TE + yz_TE + feq_BW; - fbeF[kb] = f_BE - x_BE - y_BE - z_BE + xy_BE + xz_BE + yz_BE + feq_BE; - ftwF[kw] = f_BE - x_BE - y_BE - z_BE + xy_BE + xz_BE + yz_BE + feq_TW; - ftnF[kzero] = f_TN - x_TN - y_TN - z_TN + xy_TN + xz_TN + yz_TN + feq_TN; - fbsF[kbs] = f_TN - x_TN - y_TN - z_TN + xy_TN + xz_TN + yz_TN + feq_BS; - fbnF[kb] = f_BN - x_BN - y_BN - z_BN + xy_BN + xz_BN + yz_BN + feq_BN; - ftsF[ks] = f_BN - x_BN - y_BN - z_BN + xy_BN + xz_BN + yz_BN + feq_TS; - fzeroF[kzero]= f_ZERO - x_ZERO - y_ZERO - z_ZERO + feq_ZERO; - ftneF[kzero] = f_TNE - x_TNE - y_TNE - z_TNE + xy_TNE + xz_TNE + yz_TNE + feq_TNE; - ftswF[ksw] = f_TSW - x_TSW - y_TSW - z_TSW + xy_TSW + xz_TSW + yz_TSW + feq_TSW; - ftseF[ks] = f_TSE - x_TSE - y_TSE - z_TSE + xy_TSE + xz_TSE + yz_TSE + feq_TSE; - ftnwF[kw] = f_TNW - x_TNW - y_TNW - z_TNW + xy_TNW + xz_TNW + yz_TNW + feq_TNW; - fbneF[kb] = f_TSW - x_TSW - y_TSW - z_TSW + xy_TSW + xz_TSW + yz_TSW + feq_BNE; - fbswF[kbsw] = f_TNE - x_TNE - y_TNE - z_TNE + xy_TNE + xz_TNE + yz_TNE + feq_BSW; - fbseF[kbs] = f_TNW - x_TNW - y_TNW - z_TNW + xy_TNW + xz_TNW + yz_TNW + feq_BSE; - fbnwF[kbw] = f_TSE - x_TSE - y_TSE - z_TSE + xy_TSE + xz_TSE + yz_TSE + feq_BNW; - - //Position SWT -0.25, -0.25, 0.25 - //x = -c1o4; - //y = -c1o4; - //z = c1o4; - - //drho = c1o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c27o64*drho_SWT; - drho = drho_SWT * (c27o64 + c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + - drho_NWT * (c9o64 + c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + - drho_SET * (c9o64 - c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - drho_NET * (c3o64 - c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + - drho_NEB * (c1o64 - c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + - drho_NWB * (c3o64 + c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - drho_SEB * (c3o64 - c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + - drho_SWB * (c9o64 + c3o16 * xoff + c3o16 * yoff + c9o16 * zoff); - vx1 = a0 + c1o4*(-ax - ay + az) + c1o16*(axx + axy - axz + ayy - ayz + azz) + c1o64*( axyz); - vx2 = b0 + c1o4*(-bx - by + bz) + c1o16*(bxx + bxy - bxz + byy - byz + bzz) + c1o64*( bxyz); - vx3 = c0 + c1o4*(-cx - cy + cz) + c1o16*(cxx + cxy - cxz + cyy - cyz + czz) + c1o64*( cxyz); - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - feq_ZERO = c8o27* (drho-cu_sq); - feq_E = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - feq_N = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - feq_T = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - feq_NE = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - feq_SE = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - feq_TE = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - feq_BE = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - feq_TN = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - feq_BN = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - feq_TNE = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - feq_BNE = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - feq_TSE = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - feq_BSE = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - feq_W = feq_E + c2o27* (c6o1*(-vx1 )); - feq_S = feq_N + c2o27* (c6o1*( -vx2 )); - feq_B = feq_T + c2o27* (c6o1*( -vx3)); - feq_SW = feq_NE + c1o54* (c6o1*(-vx1-vx2 )); - feq_NW = feq_SE + c1o54* (c6o1*(-vx1+vx2 )); - feq_BW = feq_TE + c1o54* (c6o1*(-vx1 -vx3)); - feq_TW = feq_BE + c1o54* (c6o1*(-vx1 +vx3)); - feq_BS = feq_TN + c1o54* (c6o1*( -vx2-vx3)); - feq_TS = feq_BN + c1o54* (c6o1*( -vx2+vx3)); - feq_BSW = feq_TNE + c1o216*(c6o1*(-vx1-vx2-vx3)); - feq_TSW = feq_BNE + c1o216*(c6o1*(-vx1-vx2+vx3)); - feq_BNW = feq_TSE + c1o216*(c6o1*(-vx1+vx2-vx3)); - feq_TNW = feq_BSE + c1o216*(c6o1*(-vx1+vx2+vx3)); - - //////////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - feF[kzero] = f_E - x_E - y_E + z_E + xy_E - xz_E - yz_E + feq_E; - fwF[kw] = f_E - x_E - y_E + z_E + xy_E - xz_E - yz_E + feq_W; - fnF[kzero] = f_N - x_N - y_N + z_N + xy_N - xz_N - yz_N + feq_N; - fsF[ks] = f_N - x_N - y_N + z_N + xy_N - xz_N - yz_N + feq_S; - ftF[kzero] = f_T - x_T - y_T + z_T + xy_T - xz_T - yz_T + feq_T; - fbF[kb] = f_T - x_T - y_T + z_T + xy_T - xz_T - yz_T + feq_B; - fneF[kzero] = f_NE - x_NE - y_NE + z_NE + xy_NE - xz_NE - yz_NE + feq_NE; - fswF[ksw] = f_NE - x_NE - y_NE + z_NE + xy_NE - xz_NE - yz_NE + feq_SW; - fseF[ks] = f_SE - x_SE - y_SE + z_SE + xy_SE - xz_SE - yz_SE + feq_SE; - fnwF[kw] = f_SE - x_SE - y_SE + z_SE + xy_SE - xz_SE - yz_SE + feq_NW; - fteF[kzero] = f_TE - x_TE - y_TE + z_TE + xy_TE - xz_TE - yz_TE + feq_TE; - fbwF[kbw] = f_TE - x_TE - y_TE + z_TE + xy_TE - xz_TE - yz_TE + feq_BW; - fbeF[kb] = f_BE - x_BE - y_BE + z_BE + xy_BE - xz_BE - yz_BE + feq_BE; - ftwF[kw] = f_BE - x_BE - y_BE + z_BE + xy_BE - xz_BE - yz_BE + feq_TW; - ftnF[kzero] = f_TN - x_TN - y_TN + z_TN + xy_TN - xz_TN - yz_TN + feq_TN; - fbsF[kbs] = f_TN - x_TN - y_TN + z_TN + xy_TN - xz_TN - yz_TN + feq_BS; - fbnF[kb] = f_BN - x_BN - y_BN + z_BN + xy_BN - xz_BN - yz_BN + feq_BN; - ftsF[ks] = f_BN - x_BN - y_BN + z_BN + xy_BN - xz_BN - yz_BN + feq_TS; - fzeroF[kzero]= f_ZERO - x_ZERO - y_ZERO + z_ZERO + feq_ZERO; - ftneF[kzero] = f_TNE - x_TNE - y_TNE + z_TNE + xy_TNE - xz_TNE - yz_TNE + feq_TNE; - ftswF[ksw] = f_TSW - x_TSW - y_TSW + z_TSW + xy_TSW - xz_TSW - yz_TSW + feq_TSW; - ftseF[ks] = f_TSE - x_TSE - y_TSE + z_TSE + xy_TSE - xz_TSE - yz_TSE + feq_TSE; - ftnwF[kw] = f_TNW - x_TNW - y_TNW + z_TNW + xy_TNW - xz_TNW - yz_TNW + feq_TNW; - fbneF[kb] = f_TSW - x_TSW - y_TSW + z_TSW + xy_TSW - xz_TSW - yz_TSW + feq_BNE; - fbswF[kbsw] = f_TNE - x_TNE - y_TNE + z_TNE + xy_TNE - xz_TNE - yz_TNE + feq_BSW; - fbseF[kbs] = f_TNW - x_TNW - y_TNW + z_TNW + xy_TNW - xz_TNW - yz_TNW + feq_BSE; - fbnwF[kbw] = f_TSE - x_TSE - y_TSE + z_TSE + xy_TSE - xz_TSE - yz_TSE + feq_BNW; - - //Position SET 0.25, -0.25, 0.25 - //x = c1o4; - //y = -c1o4; - //z = c1o4; - - //drho =c3o64*drho_NEB+c9o64*drho_NET+c1o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c27o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT; - drho = drho_SET * (c27o64 - c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + - drho_NET * (c9o64 - c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + - drho_SWT * (c9o64 + c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - drho_NWT * (c3o64 + c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + - drho_NWB * (c1o64 + c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + - drho_NEB * (c3o64 - c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - drho_SWB * (c3o64 + c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + - drho_SEB * (c9o64 - c3o16 * xoff + c3o16 * yoff + c9o16 * zoff); - vx1 = a0 + c1o4*( ax - ay + az) + c1o16*(axx - axy + axz + ayy - ayz + azz) + c1o64*(-axyz); - vx2 = b0 + c1o4*( bx - by + bz) + c1o16*(bxx - bxy + bxz + byy - byz + bzz) + c1o64*(-bxyz); - vx3 = c0 + c1o4*( cx - cy + cz) + c1o16*(cxx - cxy + cxz + cyy - cyz + czz) + c1o64*(-cxyz); - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - feq_ZERO = c8o27* (drho-cu_sq); - feq_E = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - feq_N = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - feq_T = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - feq_NE = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - feq_SE = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - feq_TE = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - feq_BE = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - feq_TN = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - feq_BN = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - feq_TNE = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - feq_BNE = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - feq_TSE = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - feq_BSE = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - feq_W = feq_E + c2o27* (c6o1*(-vx1 )); - feq_S = feq_N + c2o27* (c6o1*( -vx2 )); - feq_B = feq_T + c2o27* (c6o1*( -vx3)); - feq_SW = feq_NE + c1o54* (c6o1*(-vx1-vx2 )); - feq_NW = feq_SE + c1o54* (c6o1*(-vx1+vx2 )); - feq_BW = feq_TE + c1o54* (c6o1*(-vx1 -vx3)); - feq_TW = feq_BE + c1o54* (c6o1*(-vx1 +vx3)); - feq_BS = feq_TN + c1o54* (c6o1*( -vx2-vx3)); - feq_TS = feq_BN + c1o54* (c6o1*( -vx2+vx3)); - feq_BSW = feq_TNE + c1o216*(c6o1*(-vx1-vx2-vx3)); - feq_TSW = feq_BNE + c1o216*(c6o1*(-vx1-vx2+vx3)); - feq_BNW = feq_TSE + c1o216*(c6o1*(-vx1+vx2-vx3)); - feq_TNW = feq_BSE + c1o216*(c6o1*(-vx1+vx2+vx3)); - - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - feF[kzero] = f_E + x_E - y_E + z_E - xy_E + xz_E - yz_E + feq_E; - fwF[kw] = f_E + x_E - y_E + z_E - xy_E + xz_E - yz_E + feq_W; - fnF[kzero] = f_N + x_N - y_N + z_N - xy_N + xz_N - yz_N + feq_N; - fsF[ks] = f_N + x_N - y_N + z_N - xy_N + xz_N - yz_N + feq_S; - ftF[kzero] = f_T + x_T - y_T + z_T - xy_T + xz_T - yz_T + feq_T; - fbF[kb] = f_T + x_T - y_T + z_T - xy_T + xz_T - yz_T + feq_B; - fneF[kzero] = f_NE + x_NE - y_NE + z_NE - xy_NE + xz_NE - yz_NE + feq_NE; - fswF[ksw] = f_NE + x_NE - y_NE + z_NE - xy_NE + xz_NE - yz_NE + feq_SW; - fseF[ks] = f_SE + x_SE - y_SE + z_SE - xy_SE + xz_SE - yz_SE + feq_SE; - fnwF[kw] = f_SE + x_SE - y_SE + z_SE - xy_SE + xz_SE - yz_SE + feq_NW; - fteF[kzero] = f_TE + x_TE - y_TE + z_TE - xy_TE + xz_TE - yz_TE + feq_TE; - fbwF[kbw] = f_TE + x_TE - y_TE + z_TE - xy_TE + xz_TE - yz_TE + feq_BW; - fbeF[kb] = f_BE + x_BE - y_BE + z_BE - xy_BE + xz_BE - yz_BE + feq_BE; - ftwF[kw] = f_BE + x_BE - y_BE + z_BE - xy_BE + xz_BE - yz_BE + feq_TW; - ftnF[kzero] = f_TN + x_TN - y_TN + z_TN - xy_TN + xz_TN - yz_TN + feq_TN; - fbsF[kbs] = f_TN + x_TN - y_TN + z_TN - xy_TN + xz_TN - yz_TN + feq_BS; - fbnF[kb] = f_BN + x_BN - y_BN + z_BN - xy_BN + xz_BN - yz_BN + feq_BN; - ftsF[ks] = f_BN + x_BN - y_BN + z_BN - xy_BN + xz_BN - yz_BN + feq_TS; - fzeroF[kzero]= f_ZERO + x_ZERO - y_ZERO + z_ZERO + feq_ZERO; - ftneF[kzero] = f_TNE + x_TNE - y_TNE + z_TNE - xy_TNE + xz_TNE - yz_TNE + feq_TNE; - ftswF[ksw] = f_TSW + x_TSW - y_TSW + z_TSW - xy_TSW + xz_TSW - yz_TSW + feq_TSW; - ftseF[ks] = f_TSE + x_TSE - y_TSE + z_TSE - xy_TSE + xz_TSE - yz_TSE + feq_TSE; - ftnwF[kw] = f_TNW + x_TNW - y_TNW + z_TNW - xy_TNW + xz_TNW - yz_TNW + feq_TNW; - fbneF[kb] = f_TSW + x_TSW - y_TSW + z_TSW - xy_TSW + xz_TSW - yz_TSW + feq_BNE; - fbswF[kbsw] = f_TNE + x_TNE - y_TNE + z_TNE - xy_TNE + xz_TNE - yz_TNE + feq_BSW; - fbseF[kbs] = f_TNW + x_TNW - y_TNW + z_TNW - xy_TNW + xz_TNW - yz_TNW + feq_BSE; - fbnwF[kbw] = f_TSE + x_TSE - y_TSE + z_TSE - xy_TSE + xz_TSE - yz_TSE + feq_BNW; - - //Position SEB 0.25, -0.25, -0.25 - //x = c1o4; - //y = -c1o4; - //z = -c1o4; - - //drho =c9o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c1o64*drho_NWT+c27o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT; - drho = drho_SET * (c9o64 - c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + - drho_NET * (c3o64 - c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - drho_SWT * (c3o64 + c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + - drho_NWT * (c1o64 + c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + - drho_NWB * (c3o64 + c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + - drho_NEB * (c9o64 - c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + - drho_SWB * (c9o64 + c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - drho_SEB * (c27o64 - c9o16 * xoff + c9o16 * yoff + c9o16 * zoff); - vx1 = a0 + c1o4*( ax - ay - az) + c1o16*(axx - axy - axz + ayy + ayz + azz) + c1o64*( axyz); - vx2 = b0 + c1o4*( bx - by - bz) + c1o16*(bxx - bxy - bxz + byy + byz + bzz) + c1o64*( bxyz); - vx3 = c0 + c1o4*( cx - cy - cz) + c1o16*(cxx - cxy - cxz + cyy + cyz + czz) + c1o64*( cxyz); - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - feq_ZERO = c8o27* (drho-cu_sq); - feq_E = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - feq_N = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - feq_T = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - feq_NE = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - feq_SE = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - feq_TE = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - feq_BE = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - feq_TN = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - feq_BN = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - feq_TNE = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - feq_BNE = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - feq_TSE = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - feq_BSE = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - feq_W = feq_E + c2o27* (c6o1*(-vx1 )); - feq_S = feq_N + c2o27* (c6o1*( -vx2 )); - feq_B = feq_T + c2o27* (c6o1*( -vx3)); - feq_SW = feq_NE + c1o54* (c6o1*(-vx1-vx2 )); - feq_NW = feq_SE + c1o54* (c6o1*(-vx1+vx2 )); - feq_BW = feq_TE + c1o54* (c6o1*(-vx1 -vx3)); - feq_TW = feq_BE + c1o54* (c6o1*(-vx1 +vx3)); - feq_BS = feq_TN + c1o54* (c6o1*( -vx2-vx3)); - feq_TS = feq_BN + c1o54* (c6o1*( -vx2+vx3)); - feq_BSW = feq_TNE + c1o216*(c6o1*(-vx1-vx2-vx3)); - feq_TSW = feq_BNE + c1o216*(c6o1*(-vx1-vx2+vx3)); - feq_BNW = feq_TSE + c1o216*(c6o1*(-vx1+vx2-vx3)); - feq_TNW = feq_BSE + c1o216*(c6o1*(-vx1+vx2+vx3)); - - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - feF[kzero] = f_E + x_E - y_E - z_E - xy_E - xz_E + yz_E + feq_E; - fwF[kw] = f_E + x_E - y_E - z_E - xy_E - xz_E + yz_E + feq_W; - fnF[kzero] = f_N + x_N - y_N - z_N - xy_N - xz_N + yz_N + feq_N; - fsF[ks] = f_N + x_N - y_N - z_N - xy_N - xz_N + yz_N + feq_S; - ftF[kzero] = f_T + x_T - y_T - z_T - xy_T - xz_T + yz_T + feq_T; - fbF[kb] = f_T + x_T - y_T - z_T - xy_T - xz_T + yz_T + feq_B; - fneF[kzero] = f_NE + x_NE - y_NE - z_NE - xy_NE - xz_NE + yz_NE + feq_NE; - fswF[ksw] = f_NE + x_NE - y_NE - z_NE - xy_NE - xz_NE + yz_NE + feq_SW; - fseF[ks] = f_SE + x_SE - y_SE - z_SE - xy_SE - xz_SE + yz_SE + feq_SE; - fnwF[kw] = f_SE + x_SE - y_SE - z_SE - xy_SE - xz_SE + yz_SE + feq_NW; - fteF[kzero] = f_TE + x_TE - y_TE - z_TE - xy_TE - xz_TE + yz_TE + feq_TE; - fbwF[kbw] = f_TE + x_TE - y_TE - z_TE - xy_TE - xz_TE + yz_TE + feq_BW; - fbeF[kb] = f_BE + x_BE - y_BE - z_BE - xy_BE - xz_BE + yz_BE + feq_BE; - ftwF[kw] = f_BE + x_BE - y_BE - z_BE - xy_BE - xz_BE + yz_BE + feq_TW; - ftnF[kzero] = f_TN + x_TN - y_TN - z_TN - xy_TN - xz_TN + yz_TN + feq_TN; - fbsF[kbs] = f_TN + x_TN - y_TN - z_TN - xy_TN - xz_TN + yz_TN + feq_BS; - fbnF[kb] = f_BN + x_BN - y_BN - z_BN - xy_BN - xz_BN + yz_BN + feq_BN; - ftsF[ks] = f_BN + x_BN - y_BN - z_BN - xy_BN - xz_BN + yz_BN + feq_TS; - fzeroF[kzero]= f_ZERO + x_ZERO - y_ZERO - z_ZERO + feq_ZERO; - ftneF[kzero] = f_TNE + x_TNE - y_TNE - z_TNE - xy_TNE - xz_TNE + yz_TNE + feq_TNE; - ftswF[ksw] = f_TSW + x_TSW - y_TSW - z_TSW - xy_TSW - xz_TSW + yz_TSW + feq_TSW; - ftseF[ks] = f_TSE + x_TSE - y_TSE - z_TSE - xy_TSE - xz_TSE + yz_TSE + feq_TSE; - ftnwF[kw] = f_TNW + x_TNW - y_TNW - z_TNW - xy_TNW - xz_TNW + yz_TNW + feq_TNW; - fbneF[kb] = f_TSW + x_TSW - y_TSW - z_TSW - xy_TSW - xz_TSW + yz_TSW + feq_BNE; - fbswF[kbsw] = f_TNE + x_TNE - y_TNE - z_TNE - xy_TNE - xz_TNE + yz_TNE + feq_BSW; - fbseF[kbs] = f_TNW + x_TNW - y_TNW - z_TNW - xy_TNW - xz_TNW + yz_TNW + feq_BSE; - fbnwF[kbw] = f_TSE + x_TSE - y_TSE - z_TSE - xy_TSE - xz_TSE + yz_TSE + feq_BNW; - - ////////////////////////////////////////////////////////////////////////// - //Position NWB -0.25, 0.25, -0.25 - //x = -c1o4; - //y = c1o4; - //z = -c1o4; - - //drho = c9o64*drho_NEB+c3o64*drho_NET+c27o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c1o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT; - drho = drho_NWT * (c9o64 + c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + - drho_NET * (c3o64 - c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + - drho_SWT * (c3o64 + c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - drho_SET * (c1o64 - c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + - drho_SEB * (c3o64 - c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + - drho_NEB * (c9o64 - c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - drho_SWB * (c9o64 + c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + - drho_NWB * (c27o64 + c9o16 * xoff - c9o16 * yoff + c9o16 * zoff); - vx1 = a0 + c1o4*(-ax + ay - az) + c1o16*(axx - axy + axz + ayy - ayz + azz) + c1o64*( axyz); - vx2 = b0 + c1o4*(-bx + by - bz) + c1o16*(bxx - bxy + bxz + byy - byz + bzz) + c1o64*( bxyz); - vx3 = c0 + c1o4*(-cx + cy - cz) + c1o16*(cxx - cxy + cxz + cyy - cyz + czz) + c1o64*( cxyz); - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - feq_ZERO = c8o27* (drho-cu_sq); - feq_E = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - feq_N = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - feq_T = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - feq_NE = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - feq_SE = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - feq_TE = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - feq_BE = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - feq_TN = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - feq_BN = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - feq_TNE = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - feq_BNE = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - feq_TSE = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - feq_BSE = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - feq_W = feq_E + c2o27* (c6o1*(-vx1 )); - feq_S = feq_N + c2o27* (c6o1*( -vx2 )); - feq_B = feq_T + c2o27* (c6o1*( -vx3)); - feq_SW = feq_NE + c1o54* (c6o1*(-vx1-vx2 )); - feq_NW = feq_SE + c1o54* (c6o1*(-vx1+vx2 )); - feq_BW = feq_TE + c1o54* (c6o1*(-vx1 -vx3)); - feq_TW = feq_BE + c1o54* (c6o1*(-vx1 +vx3)); - feq_BS = feq_TN + c1o54* (c6o1*( -vx2-vx3)); - feq_TS = feq_BN + c1o54* (c6o1*( -vx2+vx3)); - feq_BSW = feq_TNE + c1o216*(c6o1*(-vx1-vx2-vx3)); - feq_TSW = feq_BNE + c1o216*(c6o1*(-vx1-vx2+vx3)); - feq_BNW = feq_TSE + c1o216*(c6o1*(-vx1+vx2-vx3)); - feq_TNW = feq_BSE + c1o216*(c6o1*(-vx1+vx2+vx3)); - - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= k0s; - k0w = k0sw; - k0s = neighborFY[k0s]; - k0b = k0bs; - k0sw = neighborFY[k0sw]; - k0bw = k0bsw; - k0bs = neighborFY[k0bs]; - k0bsw = neighborFY[k0bsw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - feF[kzero] = f_E - x_E + y_E - z_E - xy_E + xz_E - yz_E + feq_E; - fwF[kw] = f_E - x_E + y_E - z_E - xy_E + xz_E - yz_E + feq_W; - fnF[kzero] = f_N - x_N + y_N - z_N - xy_N + xz_N - yz_N + feq_N; - fsF[ks] = f_N - x_N + y_N - z_N - xy_N + xz_N - yz_N + feq_S; - ftF[kzero] = f_T - x_T + y_T - z_T - xy_T + xz_T - yz_T + feq_T; - fbF[kb] = f_T - x_T + y_T - z_T - xy_T + xz_T - yz_T + feq_B; - fneF[kzero] = f_NE - x_NE + y_NE - z_NE - xy_NE + xz_NE - yz_NE + feq_NE; - fswF[ksw] = f_NE - x_NE + y_NE - z_NE - xy_NE + xz_NE - yz_NE + feq_SW; - fseF[ks] = f_SE - x_SE + y_SE - z_SE - xy_SE + xz_SE - yz_SE + feq_SE; - fnwF[kw] = f_SE - x_SE + y_SE - z_SE - xy_SE + xz_SE - yz_SE + feq_NW; - fteF[kzero] = f_TE - x_TE + y_TE - z_TE - xy_TE + xz_TE - yz_TE + feq_TE; - fbwF[kbw] = f_TE - x_TE + y_TE - z_TE - xy_TE + xz_TE - yz_TE + feq_BW; - fbeF[kb] = f_BE - x_BE + y_BE - z_BE - xy_BE + xz_BE - yz_BE + feq_BE; - ftwF[kw] = f_BE - x_BE + y_BE - z_BE - xy_BE + xz_BE - yz_BE + feq_TW; - ftnF[kzero] = f_TN - x_TN + y_TN - z_TN - xy_TN + xz_TN - yz_TN + feq_TN; - fbsF[kbs] = f_TN - x_TN + y_TN - z_TN - xy_TN + xz_TN - yz_TN + feq_BS; - fbnF[kb] = f_BN - x_BN + y_BN - z_BN - xy_BN + xz_BN - yz_BN + feq_BN; - ftsF[ks] = f_BN - x_BN + y_BN - z_BN - xy_BN + xz_BN - yz_BN + feq_TS; - fzeroF[kzero]= f_ZERO - x_ZERO + y_ZERO - z_ZERO + feq_ZERO; - ftneF[kzero] = f_TNE - x_TNE + y_TNE - z_TNE - xy_TNE + xz_TNE - yz_TNE + feq_TNE; - ftswF[ksw] = f_TSW - x_TSW + y_TSW - z_TSW - xy_TSW + xz_TSW - yz_TSW + feq_TSW; - ftseF[ks] = f_TSE - x_TSE + y_TSE - z_TSE - xy_TSE + xz_TSE - yz_TSE + feq_TSE; - ftnwF[kw] = f_TNW - x_TNW + y_TNW - z_TNW - xy_TNW + xz_TNW - yz_TNW + feq_TNW; - fbneF[kb] = f_TSW - x_TSW + y_TSW - z_TSW - xy_TSW + xz_TSW - yz_TSW + feq_BNE; - fbswF[kbsw] = f_TNE - x_TNE + y_TNE - z_TNE - xy_TNE + xz_TNE - yz_TNE + feq_BSW; - fbseF[kbs] = f_TNW - x_TNW + y_TNW - z_TNW - xy_TNW + xz_TNW - yz_TNW + feq_BSE; - fbnwF[kbw] = f_TSE - x_TSE + y_TSE - z_TSE - xy_TSE + xz_TSE - yz_TSE + feq_BNW; - - - //Position NWT -0.25, 0.25, 0.25 - //x = -c1o4; - //y = c1o4; - //z = c1o4; - - //drho = c3o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c27o64*drho_NWT+c1o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT; - drho = drho_NWT * (c27o64 + c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + - drho_NET * (c9o64 - c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - drho_SWT * (c9o64 + c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + - drho_SET * (c3o64 - c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + - drho_SEB * (c1o64 - c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + - drho_NEB * (c3o64 - c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + - drho_SWB * (c3o64 + c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - drho_NWB * (c9o64 + c3o16 * xoff - c3o16 * yoff + c9o16 * zoff); - vx1 = a0 + c1o4*(-ax + ay + az) + c1o16*(axx - axy - axz + ayy + ayz + azz) + c1o64*(-axyz); - vx2 = b0 + c1o4*(-bx + by + bz) + c1o16*(bxx - bxy - bxz + byy + byz + bzz) + c1o64*(-bxyz); - vx3 = c0 + c1o4*(-cx + cy + cz) + c1o16*(cxx - cxy - cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - feq_ZERO = c8o27* (drho-cu_sq); - feq_E = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - feq_N = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - feq_T = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - feq_NE = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - feq_SE = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - feq_TE = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - feq_BE = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - feq_TN = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - feq_BN = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - feq_TNE = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - feq_BNE = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - feq_TSE = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - feq_BSE = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - feq_W = feq_E + c2o27* (c6o1*(-vx1 )); - feq_S = feq_N + c2o27* (c6o1*( -vx2 )); - feq_B = feq_T + c2o27* (c6o1*( -vx3)); - feq_SW = feq_NE + c1o54* (c6o1*(-vx1-vx2 )); - feq_NW = feq_SE + c1o54* (c6o1*(-vx1+vx2 )); - feq_BW = feq_TE + c1o54* (c6o1*(-vx1 -vx3)); - feq_TW = feq_BE + c1o54* (c6o1*(-vx1 +vx3)); - feq_BS = feq_TN + c1o54* (c6o1*( -vx2-vx3)); - feq_TS = feq_BN + c1o54* (c6o1*( -vx2+vx3)); - feq_BSW = feq_TNE + c1o216*(c6o1*(-vx1-vx2-vx3)); - feq_TSW = feq_BNE + c1o216*(c6o1*(-vx1-vx2+vx3)); - feq_BNW = feq_TSE + c1o216*(c6o1*(-vx1+vx2-vx3)); - feq_TNW = feq_BSE + c1o216*(c6o1*(-vx1+vx2+vx3)); - - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - feF[kzero] = f_E - x_E + y_E + z_E - xy_E - xz_E + yz_E + feq_E; - fwF[kw] = f_E - x_E + y_E + z_E - xy_E - xz_E + yz_E + feq_W; - fnF[kzero] = f_N - x_N + y_N + z_N - xy_N - xz_N + yz_N + feq_N; - fsF[ks] = f_N - x_N + y_N + z_N - xy_N - xz_N + yz_N + feq_S; - ftF[kzero] = f_T - x_T + y_T + z_T - xy_T - xz_T + yz_T + feq_T; - fbF[kb] = f_T - x_T + y_T + z_T - xy_T - xz_T + yz_T + feq_B; - fneF[kzero] = f_NE - x_NE + y_NE + z_NE - xy_NE - xz_NE + yz_NE + feq_NE; - fswF[ksw] = f_NE - x_NE + y_NE + z_NE - xy_NE - xz_NE + yz_NE + feq_SW; - fseF[ks] = f_SE - x_SE + y_SE + z_SE - xy_SE - xz_SE + yz_SE + feq_SE; - fnwF[kw] = f_SE - x_SE + y_SE + z_SE - xy_SE - xz_SE + yz_SE + feq_NW; - fteF[kzero] = f_TE - x_TE + y_TE + z_TE - xy_TE - xz_TE + yz_TE + feq_TE; - fbwF[kbw] = f_TE - x_TE + y_TE + z_TE - xy_TE - xz_TE + yz_TE + feq_BW; - fbeF[kb] = f_BE - x_BE + y_BE + z_BE - xy_BE - xz_BE + yz_BE + feq_BE; - ftwF[kw] = f_BE - x_BE + y_BE + z_BE - xy_BE - xz_BE + yz_BE + feq_TW; - ftnF[kzero] = f_TN - x_TN + y_TN + z_TN - xy_TN - xz_TN + yz_TN + feq_TN; - fbsF[kbs] = f_TN - x_TN + y_TN + z_TN - xy_TN - xz_TN + yz_TN + feq_BS; - fbnF[kb] = f_BN - x_BN + y_BN + z_BN - xy_BN - xz_BN + yz_BN + feq_BN; - ftsF[ks] = f_BN - x_BN + y_BN + z_BN - xy_BN - xz_BN + yz_BN + feq_TS; - fzeroF[kzero]= f_ZERO - x_ZERO + y_ZERO + z_ZERO + feq_ZERO; - ftneF[kzero] = f_TNE - x_TNE + y_TNE + z_TNE - xy_TNE - xz_TNE + yz_TNE + feq_TNE; - ftswF[ksw] = f_TSW - x_TSW + y_TSW + z_TSW - xy_TSW - xz_TSW + yz_TSW + feq_TSW; - ftseF[ks] = f_TSE - x_TSE + y_TSE + z_TSE - xy_TSE - xz_TSE + yz_TSE + feq_TSE; - ftnwF[kw] = f_TNW - x_TNW + y_TNW + z_TNW - xy_TNW - xz_TNW + yz_TNW + feq_TNW; - fbneF[kb] = f_TSW - x_TSW + y_TSW + z_TSW - xy_TSW - xz_TSW + yz_TSW + feq_BNE; - fbswF[kbsw] = f_TNE - x_TNE + y_TNE + z_TNE - xy_TNE - xz_TNE + yz_TNE + feq_BSW; - fbseF[kbs] = f_TNW - x_TNW + y_TNW + z_TNW - xy_TNW - xz_TNW + yz_TNW + feq_BSE; - fbnwF[kbw] = f_TSE - x_TSE + y_TSE + z_TSE - xy_TSE - xz_TSE + yz_TSE + feq_BNW; - - //Position NET 0.25, 0.25, 0.25 - //x = c1o4; - //y = c1o4; - //z = c1o4; - - //drho = c9o64*drho_NEB+c27o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c1o64*drho_SWB+c3o64*drho_SWT; - drho = drho_NET * (c27o64 - c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + - drho_NWT * (c9o64 + c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - drho_SET * (c9o64 - c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + - drho_SWT * (c3o64 + c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + - drho_SWB * (c1o64 + c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + - drho_NWB * (c3o64 + c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + - drho_SEB * (c3o64 - c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - drho_NEB * (c9o64 - c3o16 * xoff - c3o16 * yoff + c9o16 * zoff); - vx1 = a0 + c1o4 *( ax + ay + az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*( axyz); - vx2 = b0 + c1o4 *( bx + by + bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*( bxyz); - vx3 = c0 + c1o4 *( cx + cy + cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*( cxyz); - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - feq_ZERO = c8o27* (drho-cu_sq); - feq_E = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - feq_N = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - feq_T = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - feq_NE = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - feq_SE = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - feq_TE = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - feq_BE = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - feq_TN = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - feq_BN = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - feq_TNE = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - feq_BNE = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - feq_TSE = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - feq_BSE = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - feq_W = feq_E + c2o27* (c6o1*(-vx1 )); - feq_S = feq_N + c2o27* (c6o1*( -vx2 )); - feq_B = feq_T + c2o27* (c6o1*( -vx3)); - feq_SW = feq_NE + c1o54* (c6o1*(-vx1-vx2 )); - feq_NW = feq_SE + c1o54* (c6o1*(-vx1+vx2 )); - feq_BW = feq_TE + c1o54* (c6o1*(-vx1 -vx3)); - feq_TW = feq_BE + c1o54* (c6o1*(-vx1 +vx3)); - feq_BS = feq_TN + c1o54* (c6o1*( -vx2-vx3)); - feq_TS = feq_BN + c1o54* (c6o1*( -vx2+vx3)); - feq_BSW = feq_TNE + c1o216*(c6o1*(-vx1-vx2-vx3)); - feq_TSW = feq_BNE + c1o216*(c6o1*(-vx1-vx2+vx3)); - feq_BNW = feq_TSE + c1o216*(c6o1*(-vx1+vx2-vx3)); - feq_TNW = feq_BSE + c1o216*(c6o1*(-vx1+vx2+vx3)); - - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - feF[kzero] = f_E + x_E + y_E + z_E + xy_E + xz_E + yz_E + feq_E; - fwF[kw] = f_E + x_E + y_E + z_E + xy_E + xz_E + yz_E + feq_W; - fnF[kzero] = f_N + x_N + y_N + z_N + xy_N + xz_N + yz_N + feq_N; - fsF[ks] = f_N + x_N + y_N + z_N + xy_N + xz_N + yz_N + feq_S; - ftF[kzero] = f_T + x_T + y_T + z_T + xy_T + xz_T + yz_T + feq_T; - fbF[kb] = f_T + x_T + y_T + z_T + xy_T + xz_T + yz_T + feq_B; - fneF[kzero] = f_NE + x_NE + y_NE + z_NE + xy_NE + xz_NE + yz_NE + feq_NE; - fswF[ksw] = f_NE + x_NE + y_NE + z_NE + xy_NE + xz_NE + yz_NE + feq_SW; - fseF[ks] = f_SE + x_SE + y_SE + z_SE + xy_SE + xz_SE + yz_SE + feq_SE; - fnwF[kw] = f_SE + x_SE + y_SE + z_SE + xy_SE + xz_SE + yz_SE + feq_NW; - fteF[kzero] = f_TE + x_TE + y_TE + z_TE + xy_TE + xz_TE + yz_TE + feq_TE; - fbwF[kbw] = f_TE + x_TE + y_TE + z_TE + xy_TE + xz_TE + yz_TE + feq_BW; - fbeF[kb] = f_BE + x_BE + y_BE + z_BE + xy_BE + xz_BE + yz_BE + feq_BE; - ftwF[kw] = f_BE + x_BE + y_BE + z_BE + xy_BE + xz_BE + yz_BE + feq_TW; - ftnF[kzero] = f_TN + x_TN + y_TN + z_TN + xy_TN + xz_TN + yz_TN + feq_TN; - fbsF[kbs] = f_TN + x_TN + y_TN + z_TN + xy_TN + xz_TN + yz_TN + feq_BS; - fbnF[kb] = f_BN + x_BN + y_BN + z_BN + xy_BN + xz_BN + yz_BN + feq_BN; - ftsF[ks] = f_BN + x_BN + y_BN + z_BN + xy_BN + xz_BN + yz_BN + feq_TS; - fzeroF[kzero]= f_ZERO + x_ZERO + y_ZERO + z_ZERO + feq_ZERO; - ftneF[kzero] = f_TNE + x_TNE + y_TNE + z_TNE + xy_TNE + xz_TNE + yz_TNE + feq_TNE; - ftswF[ksw] = f_TSW + x_TSW + y_TSW + z_TSW + xy_TSW + xz_TSW + yz_TSW + feq_TSW; - ftseF[ks] = f_TSE + x_TSE + y_TSE + z_TSE + xy_TSE + xz_TSE + yz_TSE + feq_TSE; - ftnwF[kw] = f_TNW + x_TNW + y_TNW + z_TNW + xy_TNW + xz_TNW + yz_TNW + feq_TNW; - fbneF[kb] = f_TSW + x_TSW + y_TSW + z_TSW + xy_TSW + xz_TSW + yz_TSW + feq_BNE; - fbswF[kbsw] = f_TNE + x_TNE + y_TNE + z_TNE + xy_TNE + xz_TNE + yz_TNE + feq_BSW; - fbseF[kbs] = f_TNW + x_TNW + y_TNW + z_TNW + xy_TNW + xz_TNW + yz_TNW + feq_BSE; - fbnwF[kbw] = f_TSE + x_TSE + y_TSE + z_TSE + xy_TSE + xz_TSE + yz_TSE + feq_BNW; - - - //Position NEB 0.25, 0.25, -0.25 - //x = c1o4; - //y = c1o4; - //z = -c1o4; - - //drho = c27o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c1o64*drho_SWT; - drho = drho_NET * (0.140625 - 0.1875 * xoff - 0.1875 * yoff - 0.5625 * zoff) + - drho_NWT * (0.046875 + 0.1875 * xoff - 0.0625 * yoff - 0.1875 * zoff) + - drho_SET * (0.046875 - 0.0625 * xoff + 0.1875 * yoff - 0.1875 * zoff) + - drho_SWT * (0.015625 + 0.0625 * xoff + 0.0625 * yoff - 0.0625 * zoff) + - drho_SWB * (0.046875 + 0.1875 * xoff + 0.1875 * yoff + 0.0625 * zoff) + - drho_NWB * (0.140625 + 0.5625 * xoff - 0.1875 * yoff + 0.1875 * zoff) + - drho_SEB * (0.140625 - 0.1875 * xoff + 0.5625 * yoff + 0.1875 * zoff) + - drho_NEB * (0.421875 - 0.5625 * xoff - 0.5625 * yoff + 0.5625 * zoff); - vx1 = a0 + c1o4*( ax + ay - az) + c1o16*(axx + axy - axz + ayy - ayz + azz) + c1o64*(-axyz); - vx2 = b0 + c1o4*( bx + by - bz) + c1o16*(bxx + bxy - bxz + byy - byz + bzz) + c1o64*(-bxyz); - vx3 = c0 + c1o4*( cx + cy - cz) + c1o16*(cxx + cxy - cxz + cyy - cyz + czz) + c1o64*(-cxyz); - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - feq_ZERO = c8o27* (drho-cu_sq); - feq_E = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - feq_N = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - feq_T = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - feq_NE = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - feq_SE = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - feq_TE = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - feq_BE = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - feq_TN = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - feq_BN = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - feq_TNE = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - feq_BNE = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - feq_TSE = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - feq_BSE = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - feq_W = feq_E + c2o27* (c6o1*(-vx1 )); - feq_S = feq_N + c2o27* (c6o1*( -vx2 )); - feq_B = feq_T + c2o27* (c6o1*( -vx3)); - feq_SW = feq_NE + c1o54* (c6o1*(-vx1-vx2 )); - feq_NW = feq_SE + c1o54* (c6o1*(-vx1+vx2 )); - feq_BW = feq_TE + c1o54* (c6o1*(-vx1 -vx3)); - feq_TW = feq_BE + c1o54* (c6o1*(-vx1 +vx3)); - feq_BS = feq_TN + c1o54* (c6o1*( -vx2-vx3)); - feq_TS = feq_BN + c1o54* (c6o1*( -vx2+vx3)); - feq_BSW = feq_TNE + c1o216*(c6o1*(-vx1-vx2-vx3)); - feq_TSW = feq_BNE + c1o216*(c6o1*(-vx1-vx2+vx3)); - feq_BNW = feq_TSE + c1o216*(c6o1*(-vx1+vx2-vx3)); - feq_TNW = feq_BSE + c1o216*(c6o1*(-vx1+vx2+vx3)); - - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - feF[kzero] = f_E + x_E + y_E - z_E + xy_E - xz_E - yz_E + feq_E; - fwF[kw] = f_E + x_E + y_E - z_E + xy_E - xz_E - yz_E + feq_W; - fnF[kzero] = f_N + x_N + y_N - z_N + xy_N - xz_N - yz_N + feq_N; - fsF[ks] = f_N + x_N + y_N - z_N + xy_N - xz_N - yz_N + feq_S; - ftF[kzero] = f_T + x_T + y_T - z_T + xy_T - xz_T - yz_T + feq_T; - fbF[kb] = f_T + x_T + y_T - z_T + xy_T - xz_T - yz_T + feq_B; - fneF[kzero] = f_NE + x_NE + y_NE - z_NE + xy_NE - xz_NE - yz_NE + feq_NE; - fswF[ksw] = f_NE + x_NE + y_NE - z_NE + xy_NE - xz_NE - yz_NE + feq_SW; - fseF[ks] = f_SE + x_SE + y_SE - z_SE + xy_SE - xz_SE - yz_SE + feq_SE; - fnwF[kw] = f_SE + x_SE + y_SE - z_SE + xy_SE - xz_SE - yz_SE + feq_NW; - fteF[kzero] = f_TE + x_TE + y_TE - z_TE + xy_TE - xz_TE - yz_TE + feq_TE; - fbwF[kbw] = f_TE + x_TE + y_TE - z_TE + xy_TE - xz_TE - yz_TE + feq_BW; - fbeF[kb] = f_BE + x_BE + y_BE - z_BE + xy_BE - xz_BE - yz_BE + feq_BE; - ftwF[kw] = f_BE + x_BE + y_BE - z_BE + xy_BE - xz_BE - yz_BE + feq_TW; - ftnF[kzero] = f_TN + x_TN + y_TN - z_TN + xy_TN - xz_TN - yz_TN + feq_TN; - fbsF[kbs] = f_TN + x_TN + y_TN - z_TN + xy_TN - xz_TN - yz_TN + feq_BS; - fbnF[kb] = f_BN + x_BN + y_BN - z_BN + xy_BN - xz_BN - yz_BN + feq_BN; - ftsF[ks] = f_BN + x_BN + y_BN - z_BN + xy_BN - xz_BN - yz_BN + feq_TS; - fzeroF[kzero]= f_ZERO + x_ZERO + y_ZERO - z_ZERO + feq_ZERO; - ftneF[kzero] = f_TNE + x_TNE + y_TNE - z_TNE + xy_TNE - xz_TNE - yz_TNE + feq_TNE; - ftswF[ksw] = f_TSW + x_TSW + y_TSW - z_TSW + xy_TSW - xz_TSW - yz_TSW + feq_TSW; - ftseF[ks] = f_TSE + x_TSE + y_TSE - z_TSE + xy_TSE - xz_TSE - yz_TSE + feq_TSE; - ftnwF[kw] = f_TNW + x_TNW + y_TNW - z_TNW + xy_TNW - xz_TNW - yz_TNW + feq_TNW; - fbneF[kb] = f_TSW + x_TSW + y_TSW - z_TSW + xy_TSW - xz_TSW - yz_TSW + feq_BNE; - fbswF[kbsw] = f_TNE + x_TNE + y_TNE - z_TNE + xy_TNE - xz_TNE - yz_TNE + feq_BSW; - fbseF[kbs] = f_TNW + x_TNW + y_TNW - z_TNW + xy_TNW - xz_TNW - yz_TNW + feq_BSE; - fbnwF[kbw] = f_TSE + x_TSE + y_TSE - z_TSE + xy_TSE - xz_TSE - yz_TSE + feq_BNW; - } -} -////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -////////////////////////////////////////////////////////////////////////// -__global__ void scaleCFThSMG7( real* DC, - real* DF, - real* DD7C, - real* DD7F, - unsigned int* neighborCX, - unsigned int* neighborCY, - unsigned int* neighborCZ, - unsigned int* neighborFX, - unsigned int* neighborFY, - unsigned int* neighborFZ, - unsigned long long numberOfLBnodesCoarse, - unsigned long long numberOfLBnodesFine, - bool isEvenTimestep, - unsigned int* posCSWB, - unsigned int* posFSWB, - unsigned int kCF, - real nu, - real diffusivity_fine, - ICellNeigh offCF) -{ - real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, /**fzeroF,*/ *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - - feF = &DF[dP00 * numberOfLBnodesFine]; - fwF = &DF[dM00 * numberOfLBnodesFine]; - fnF = &DF[d0P0 * numberOfLBnodesFine]; - fsF = &DF[d0M0 * numberOfLBnodesFine]; - ftF = &DF[d00P * numberOfLBnodesFine]; - fbF = &DF[d00M * numberOfLBnodesFine]; - fneF = &DF[dPP0 * numberOfLBnodesFine]; - fswF = &DF[dMM0 * numberOfLBnodesFine]; - fseF = &DF[dPM0 * numberOfLBnodesFine]; - fnwF = &DF[dMP0 * numberOfLBnodesFine]; - fteF = &DF[dP0P * numberOfLBnodesFine]; - fbwF = &DF[dM0M * numberOfLBnodesFine]; - fbeF = &DF[dP0M * numberOfLBnodesFine]; - ftwF = &DF[dM0P * numberOfLBnodesFine]; - ftnF = &DF[d0PP * numberOfLBnodesFine]; - fbsF = &DF[d0MM * numberOfLBnodesFine]; - fbnF = &DF[d0PM * numberOfLBnodesFine]; - ftsF = &DF[d0MP * numberOfLBnodesFine]; - //fzeroF = &DF[d000 * size_MatF]; - ftneF = &DF[dPPP * numberOfLBnodesFine]; - ftswF = &DF[dMMP * numberOfLBnodesFine]; - ftseF = &DF[dPMP * numberOfLBnodesFine]; - ftnwF = &DF[dMPP * numberOfLBnodesFine]; - fbneF = &DF[dPPM * numberOfLBnodesFine]; - fbswF = &DF[dMMM * numberOfLBnodesFine]; - fbseF = &DF[dPMM * numberOfLBnodesFine]; - fbnwF = &DF[dMPM * numberOfLBnodesFine]; - - real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, //*fzeroC, - *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; - - if (isEvenTimestep==true) - { - feC = &DC[dP00 * numberOfLBnodesCoarse]; - fwC = &DC[dM00 * numberOfLBnodesCoarse]; - fnC = &DC[d0P0 * numberOfLBnodesCoarse]; - fsC = &DC[d0M0 * numberOfLBnodesCoarse]; - ftC = &DC[d00P * numberOfLBnodesCoarse]; - fbC = &DC[d00M * numberOfLBnodesCoarse]; - fneC = &DC[dPP0 * numberOfLBnodesCoarse]; - fswC = &DC[dMM0 * numberOfLBnodesCoarse]; - fseC = &DC[dPM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dMP0 * numberOfLBnodesCoarse]; - fteC = &DC[dP0P * numberOfLBnodesCoarse]; - fbwC = &DC[dM0M * numberOfLBnodesCoarse]; - fbeC = &DC[dP0M * numberOfLBnodesCoarse]; - ftwC = &DC[dM0P * numberOfLBnodesCoarse]; - ftnC = &DC[d0PP * numberOfLBnodesCoarse]; - fbsC = &DC[d0MM * numberOfLBnodesCoarse]; - fbnC = &DC[d0PM * numberOfLBnodesCoarse]; - ftsC = &DC[d0MP * numberOfLBnodesCoarse]; - //fzeroC = &DC[d000 * size_MatC]; - ftneC = &DC[dPPP * numberOfLBnodesCoarse]; - ftswC = &DC[dMMP * numberOfLBnodesCoarse]; - ftseC = &DC[dPMP * numberOfLBnodesCoarse]; - ftnwC = &DC[dMPP * numberOfLBnodesCoarse]; - fbneC = &DC[dPPM * numberOfLBnodesCoarse]; - fbswC = &DC[dMMM * numberOfLBnodesCoarse]; - fbseC = &DC[dPMM * numberOfLBnodesCoarse]; - fbnwC = &DC[dMPM * numberOfLBnodesCoarse]; - } - else - { - fwC = &DC[dP00 * numberOfLBnodesCoarse]; - feC = &DC[dM00 * numberOfLBnodesCoarse]; - fsC = &DC[d0P0 * numberOfLBnodesCoarse]; - fnC = &DC[d0M0 * numberOfLBnodesCoarse]; - fbC = &DC[d00P * numberOfLBnodesCoarse]; - ftC = &DC[d00M * numberOfLBnodesCoarse]; - fswC = &DC[dPP0 * numberOfLBnodesCoarse]; - fneC = &DC[dMM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dPM0 * numberOfLBnodesCoarse]; - fseC = &DC[dMP0 * numberOfLBnodesCoarse]; - fbwC = &DC[dP0P * numberOfLBnodesCoarse]; - fteC = &DC[dM0M * numberOfLBnodesCoarse]; - ftwC = &DC[dP0M * numberOfLBnodesCoarse]; - fbeC = &DC[dM0P * numberOfLBnodesCoarse]; - fbsC = &DC[d0PP * numberOfLBnodesCoarse]; - ftnC = &DC[d0MM * numberOfLBnodesCoarse]; - ftsC = &DC[d0PM * numberOfLBnodesCoarse]; - fbnC = &DC[d0MP * numberOfLBnodesCoarse]; - //fzeroC = &DC[d000 * size_MatC]; - fbswC = &DC[dPPP * numberOfLBnodesCoarse]; - fbneC = &DC[dMMP * numberOfLBnodesCoarse]; - fbnwC = &DC[dPMP * numberOfLBnodesCoarse]; - fbseC = &DC[dMPP * numberOfLBnodesCoarse]; - ftswC = &DC[dPPM * numberOfLBnodesCoarse]; - ftneC = &DC[dMMM * numberOfLBnodesCoarse]; - ftnwC = &DC[dPMM * numberOfLBnodesCoarse]; - ftseC = &DC[dMPM * numberOfLBnodesCoarse]; - } - - - Distributions7 D7F; - D7F.f[0] = &DD7F[0*numberOfLBnodesFine]; - D7F.f[1] = &DD7F[1*numberOfLBnodesFine]; - D7F.f[2] = &DD7F[2*numberOfLBnodesFine]; - D7F.f[3] = &DD7F[3*numberOfLBnodesFine]; - D7F.f[4] = &DD7F[4*numberOfLBnodesFine]; - D7F.f[5] = &DD7F[5*numberOfLBnodesFine]; - D7F.f[6] = &DD7F[6*numberOfLBnodesFine]; - - Distributions7 D7C; - if (isEvenTimestep==true) - { - D7C.f[0] = &DD7C[0*numberOfLBnodesCoarse]; - D7C.f[1] = &DD7C[1*numberOfLBnodesCoarse]; - D7C.f[2] = &DD7C[2*numberOfLBnodesCoarse]; - D7C.f[3] = &DD7C[3*numberOfLBnodesCoarse]; - D7C.f[4] = &DD7C[4*numberOfLBnodesCoarse]; - D7C.f[5] = &DD7C[5*numberOfLBnodesCoarse]; - D7C.f[6] = &DD7C[6*numberOfLBnodesCoarse]; - } - else - { - D7C.f[0] = &DD7C[0*numberOfLBnodesCoarse]; - D7C.f[2] = &DD7C[1*numberOfLBnodesCoarse]; - D7C.f[1] = &DD7C[2*numberOfLBnodesCoarse]; - D7C.f[4] = &DD7C[3*numberOfLBnodesCoarse]; - D7C.f[3] = &DD7C[4*numberOfLBnodesCoarse]; - D7C.f[6] = &DD7C[5*numberOfLBnodesCoarse]; - D7C.f[5] = &DD7C[6*numberOfLBnodesCoarse]; - } - - //////////////////////////////////////////////////////////////////////////////// - const unsigned ix = threadIdx.x; // Globaler x-Index - const unsigned iy = blockIdx.x; // Globaler y-Index - const unsigned iz = blockIdx.y; // Globaler z-Index - - const unsigned nx = blockDim.x; - const unsigned ny = gridDim.x; - - const unsigned k = nx*(ny*iz + iy) + ix; - ////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////// - - real /*drho,*/vx1,vx2,vx3; - real f_E,f_W,f_N,f_S,f_T,f_B,f_NE,f_SW,f_SE,f_NW,f_TE,f_BW,f_BE,f_TW,f_TN,f_BS,f_BN,f_TS/*,f_ZERO*/,f_TNE, f_TSW, f_TSE, f_TNW, f_BNE, f_BSW, f_BSE, f_BNW; - real a0, ax, ay, az, axx, ayy, azz, axy, axz, ayz, axyz; - - - real x,y,z; - real /*f7_ZERO,*/f7_E,f7_W,f7_N,f7_S,f7_T,f7_B; - real Mx,My,Mz,Mxx,Myy,Mzz,M0; - real Conc_C_SWB, Conc_C_SWT, Conc_C_SET, Conc_C_SEB, Conc_C_NWB, Conc_C_NWT, Conc_C_NET, Conc_C_NEB; - real Conc_F; - real Diff_Conc_X_F, Diff_Conc_Y_F, Diff_Conc_Z_F; - - //real omegaD_C = two / (six * diffusivity_fine/two + one); - //real omegaD_F = two / (six * diffusivity_fine + one); - real omegaD_C = c3o1 - sqrt(c3o1); //Quick and D�rrrty - real omegaD_F = c3o1 - sqrt(c3o1); //Quick and D�rrrty - real Lam = -(c1o2-c1o1/omegaD_C); - real nue_d = Lam/c3o1; - //real ae = zero; - //real ae_C = zero; - real ae = diffusivity_fine/nue_d - c1o1; - real ae_C = (diffusivity_fine/c2o1)/nue_d - c1o1; - - - if(k<kCF) - { - ////////////////////////////////////////////////////////////////////////// - real xoff = offCF.x[k]; - real yoff = offCF.y[k]; - real zoff = offCF.z[k]; - real xoff_sq = xoff * xoff; - real yoff_sq = yoff * yoff; - real zoff_sq = zoff * zoff; - ////////////////////////////////////////////////////////////////////////// - //SWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - unsigned int k0zero= posCSWB[k]; - unsigned int k0w = neighborCX[k0zero]; - unsigned int k0s = neighborCY[k0zero]; - unsigned int k0b = neighborCZ[k0zero]; - unsigned int k0sw = neighborCY[k0w]; - unsigned int k0bw = neighborCZ[k0w]; - unsigned int k0bs = neighborCZ[k0s]; - unsigned int k0bsw = neighborCZ[k0sw]; - ////////////////////////////////////////////////////////////////////////// - //index - unsigned int kzero= k0zero; - unsigned int kw = k0w; - unsigned int ks = k0s; - unsigned int kb = k0b; - unsigned int ksw = k0sw; - unsigned int kbw = k0bw; - unsigned int kbs = k0bs; - unsigned int kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - //f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - ////////////////////////////////////////////////////////////////////////////////// - //f7_ZERO = (D7C.f[0])[kzero]; - f7_E = (D7C.f[1])[kzero]; - f7_W = (D7C.f[2])[kw]; - f7_N = (D7C.f[3])[kzero]; - f7_S = (D7C.f[4])[ks]; - f7_T = (D7C.f[5])[kzero]; - f7_B = (D7C.f[6])[kb]; - - Conc_C_SWB = (D7C.f[0])[kzero]+(D7C.f[1])[kzero]+(D7C.f[2])[kw]+(D7C.f[3])[kzero]+(D7C.f[4])[ks]+(D7C.f[5])[kzero]+(D7C.f[6])[kb]; - - vx1 =f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2 =f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3 =f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - Mx =f7_E-f7_W; - My =f7_N-f7_S; - Mz =f7_T-f7_B; - - real Diff_Conc_X_CSWB = (Conc_C_SWB * vx1 - Mx) * (c3o1*omegaD_C) / (c1o1 + ae_C); - real Diff_Conc_Y_CSWB = (Conc_C_SWB * vx2 - My) * (c3o1*omegaD_C) / (c1o1 + ae_C); - real Diff_Conc_Z_CSWB = (Conc_C_SWB * vx3 - Mz) * (c3o1*omegaD_C) / (c1o1 + ae_C); - - - - - ////////////////////////////////////////////////////////////////////////// - //SWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborCZ[kb]; - ksw = kbsw; - kbw = neighborCZ[kbw]; - kbs = neighborCZ[kbs]; - kbsw = neighborCZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - //f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - ////////////////////////////////////////////////////////////////////////////////// - //f7_ZERO = (D7C.f[0])[kzero]; - f7_E = (D7C.f[1])[kzero]; - f7_W = (D7C.f[2])[kw]; - f7_N = (D7C.f[3])[kzero]; - f7_S = (D7C.f[4])[ks]; - f7_T = (D7C.f[5])[kzero]; - f7_B = (D7C.f[6])[kb]; - - Conc_C_SWT = (D7C.f[0])[kzero]+(D7C.f[1])[kzero]+(D7C.f[2])[kw]+(D7C.f[3])[kzero]+(D7C.f[4])[ks]+(D7C.f[5])[kzero]+(D7C.f[6])[kb]; - - vx1 =f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2 =f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3 =f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - Mx =f7_E-f7_W; - My =f7_N-f7_S; - Mz =f7_T-f7_B; - - real Diff_Conc_X_CSWT = (Conc_C_SWT * vx1 - Mx) * (c3o1*omegaD_C) / (c1o1 + ae_C); - real Diff_Conc_Y_CSWT = (Conc_C_SWT * vx2 - My) * (c3o1*omegaD_C) / (c1o1 + ae_C); - real Diff_Conc_Z_CSWT = (Conc_C_SWT * vx3 - Mz) * (c3o1*omegaD_C) / (c1o1 + ae_C); - - - - - ////////////////////////////////////////////////////////////////////////// - //SET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborCX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborCX[ksw]; - kbw = neighborCX[kbw]; - kbs = kbsw; - kbsw = neighborCX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - //f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - ////////////////////////////////////////////////////////////////////////////////// - //f7_ZERO = (D7C.f[0])[kzero]; - f7_E = (D7C.f[1])[kzero]; - f7_W = (D7C.f[2])[kw]; - f7_N = (D7C.f[3])[kzero]; - f7_S = (D7C.f[4])[ks]; - f7_T = (D7C.f[5])[kzero]; - f7_B = (D7C.f[6])[kb]; - - Conc_C_SET = (D7C.f[0])[kzero]+(D7C.f[1])[kzero]+(D7C.f[2])[kw]+(D7C.f[3])[kzero]+(D7C.f[4])[ks]+(D7C.f[5])[kzero]+(D7C.f[6])[kb]; - - vx1 =f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2 =f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3 =f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - Mx =f7_E-f7_W; - My =f7_N-f7_S; - Mz =f7_T-f7_B; - - real Diff_Conc_X_CSET = (Conc_C_SET * vx1 - Mx) * (c3o1*omegaD_C) / (c1o1 + ae_C); - real Diff_Conc_Y_CSET = (Conc_C_SET * vx2 - My) * (c3o1*omegaD_C) / (c1o1 + ae_C); - real Diff_Conc_Z_CSET = (Conc_C_SET * vx3 - Mz) * (c3o1*omegaD_C) / (c1o1 + ae_C); - - - - - ////////////////////////////////////////////////////////////////////////// - //SEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborCX[k0w]; - ks = k0sw; - ksw = neighborCX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - //f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - ////////////////////////////////////////////////////////////////////////////////// - //f7_ZERO = (D7C.f[0])[kzero]; - f7_E = (D7C.f[1])[kzero]; - f7_W = (D7C.f[2])[kw]; - f7_N = (D7C.f[3])[kzero]; - f7_S = (D7C.f[4])[ks]; - f7_T = (D7C.f[5])[kzero]; - f7_B = (D7C.f[6])[kb]; - - Conc_C_SEB = (D7C.f[0])[kzero]+(D7C.f[1])[kzero]+(D7C.f[2])[kw]+(D7C.f[3])[kzero]+(D7C.f[4])[ks]+(D7C.f[5])[kzero]+(D7C.f[6])[kb]; - - vx1 =f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2 =f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3 =f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - Mx =f7_E-f7_W; - My =f7_N-f7_S; - Mz =f7_T-f7_B; - - real Diff_Conc_X_CSEB = (Conc_C_SEB * vx1 - Mx) * (c3o1*omegaD_C) / (c1o1 + ae_C); - real Diff_Conc_Y_CSEB = (Conc_C_SEB * vx2 - My) * (c3o1*omegaD_C) / (c1o1 + ae_C); - real Diff_Conc_Z_CSEB = (Conc_C_SEB * vx3 - Mz) * (c3o1*omegaD_C) / (c1o1 + ae_C); - - - - - ////////////////////////////////////////////////////////////////////////// - //NWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= k0s; - k0w = k0sw; - k0s = neighborCY[k0s]; - k0b = k0bs; - k0sw = neighborCY[k0sw]; - k0bw = k0bsw; - k0bs = neighborCY[k0bs]; - k0bsw = neighborCY[k0bsw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - //f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - ////////////////////////////////////////////////////////////////////////////////// - //f7_ZERO = (D7C.f[0])[kzero]; - f7_E = (D7C.f[1])[kzero]; - f7_W = (D7C.f[2])[kw]; - f7_N = (D7C.f[3])[kzero]; - f7_S = (D7C.f[4])[ks]; - f7_T = (D7C.f[5])[kzero]; - f7_B = (D7C.f[6])[kb]; - - Conc_C_NWB = (D7C.f[0])[kzero]+(D7C.f[1])[kzero]+(D7C.f[2])[kw]+(D7C.f[3])[kzero]+(D7C.f[4])[ks]+(D7C.f[5])[kzero]+(D7C.f[6])[kb]; - - vx1 =f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2 =f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3 =f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - Mx =f7_E-f7_W; - My =f7_N-f7_S; - Mz =f7_T-f7_B; - - real Diff_Conc_X_CNWB = (Conc_C_NWB * vx1 - Mx) * (c3o1*omegaD_C) / (c1o1 + ae_C); - real Diff_Conc_Y_CNWB = (Conc_C_NWB * vx2 - My) * (c3o1*omegaD_C) / (c1o1 + ae_C); - real Diff_Conc_Z_CNWB = (Conc_C_NWB * vx3 - Mz) * (c3o1*omegaD_C) / (c1o1 + ae_C); - - - - - ////////////////////////////////////////////////////////////////////////// - //NWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborCZ[kb]; - ksw = kbsw; - kbw = neighborCZ[kbw]; - kbs = neighborCZ[kbs]; - kbsw = neighborCZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - //f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - ////////////////////////////////////////////////////////////////////////////////// - //f7_ZERO = (D7C.f[0])[kzero]; - f7_E = (D7C.f[1])[kzero]; - f7_W = (D7C.f[2])[kw]; - f7_N = (D7C.f[3])[kzero]; - f7_S = (D7C.f[4])[ks]; - f7_T = (D7C.f[5])[kzero]; - f7_B = (D7C.f[6])[kb]; - - Conc_C_NWT = (D7C.f[0])[kzero]+(D7C.f[1])[kzero]+(D7C.f[2])[kw]+(D7C.f[3])[kzero]+(D7C.f[4])[ks]+(D7C.f[5])[kzero]+(D7C.f[6])[kb]; - - vx1 =f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2 =f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3 =f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - Mx =f7_E-f7_W; - My =f7_N-f7_S; - Mz =f7_T-f7_B; - - real Diff_Conc_X_CNWT = (Conc_C_NWT * vx1 - Mx) * (c3o1*omegaD_C) / (c1o1 + ae_C); - real Diff_Conc_Y_CNWT = (Conc_C_NWT * vx2 - My) * (c3o1*omegaD_C) / (c1o1 + ae_C); - real Diff_Conc_Z_CNWT = (Conc_C_NWT * vx3 - Mz) * (c3o1*omegaD_C) / (c1o1 + ae_C); - - - - - ////////////////////////////////////////////////////////////////////////// - //NET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborCX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborCX[ksw]; - kbw = neighborCX[kbw]; - kbs = kbsw; - kbsw = neighborCX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - //f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - ////////////////////////////////////////////////////////////////////////////////// - //f7_ZERO = (D7C.f[0])[kzero]; - f7_E = (D7C.f[1])[kzero]; - f7_W = (D7C.f[2])[kw]; - f7_N = (D7C.f[3])[kzero]; - f7_S = (D7C.f[4])[ks]; - f7_T = (D7C.f[5])[kzero]; - f7_B = (D7C.f[6])[kb]; - - Conc_C_NET = (D7C.f[0])[kzero]+(D7C.f[1])[kzero]+(D7C.f[2])[kw]+(D7C.f[3])[kzero]+(D7C.f[4])[ks]+(D7C.f[5])[kzero]+(D7C.f[6])[kb]; - - vx1 =f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2 =f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3 =f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - Mx =f7_E-f7_W; - My =f7_N-f7_S; - Mz =f7_T-f7_B; - - real Diff_Conc_X_CNET = (Conc_C_NET * vx1 - Mx) * (c3o1*omegaD_C) / (c1o1 + ae_C); - real Diff_Conc_Y_CNET = (Conc_C_NET * vx2 - My) * (c3o1*omegaD_C) / (c1o1 + ae_C); - real Diff_Conc_Z_CNET = (Conc_C_NET * vx3 - Mz) * (c3o1*omegaD_C) / (c1o1 + ae_C); - - - - - ////////////////////////////////////////////////////////////////////////// - //NEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborCX[k0w]; - ks = k0sw; - ksw = neighborCX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - //f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - //////////////////////////////////////////////////////////////////////////////// - //f7_ZERO = (D7C.f[0])[kzero]; - f7_E = (D7C.f[1])[kzero]; - f7_W = (D7C.f[2])[kw]; - f7_N = (D7C.f[3])[kzero]; - f7_S = (D7C.f[4])[ks]; - f7_T = (D7C.f[5])[kzero]; - f7_B = (D7C.f[6])[kb]; - - Conc_C_NEB = (D7C.f[0])[kzero]+(D7C.f[1])[kzero]+(D7C.f[2])[kw]+(D7C.f[3])[kzero]+(D7C.f[4])[ks]+(D7C.f[5])[kzero]+(D7C.f[6])[kb]; - - vx1 =f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2 =f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3 =f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - Mx =f7_E-f7_W; - My =f7_N-f7_S; - Mz =f7_T-f7_B; - - real Diff_Conc_X_CNEB = (Conc_C_NEB * vx1 - Mx) * (c3o1*omegaD_C) / (c1o1 + ae_C); - real Diff_Conc_Y_CNEB = (Conc_C_NEB * vx2 - My) * (c3o1*omegaD_C) / (c1o1 + ae_C); - real Diff_Conc_Z_CNEB = (Conc_C_NEB * vx3 - Mz) * (c3o1*omegaD_C) / (c1o1 + ae_C); - - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - - - //linear - //real Diff_Conc_XX = zero; - //real Diff_Conc_YY = zero; - //real Diff_Conc_ZZ = zero; - - - - //quadratic - //real Diff_Conc_XX = ((Diff_Conc_X_CNEB + Diff_Conc_X_CSEB + Diff_Conc_X_CNET + Diff_Conc_X_CSET) - (Diff_Conc_X_CNWB + Diff_Conc_X_CSWB + Diff_Conc_X_CNWT + Diff_Conc_X_CSWT)) * c1o4; - //real Diff_Conc_YY = ((Diff_Conc_Y_CNEB + Diff_Conc_Y_CNWB + Diff_Conc_Y_CNET + Diff_Conc_Y_CNWT) - (Diff_Conc_Y_CSEB + Diff_Conc_Y_CSWB + Diff_Conc_Y_CSET + Diff_Conc_Y_CSWT)) * c1o4; - //real Diff_Conc_ZZ = ((Diff_Conc_Z_CSET + Diff_Conc_Z_CSWT + Diff_Conc_Z_CNET + Diff_Conc_Z_CNWT) - (Diff_Conc_Z_CSEB + Diff_Conc_Z_CSWB + Diff_Conc_Z_CNEB + Diff_Conc_Z_CNWB)) * c1o4; - - - - - axx = ((Diff_Conc_X_CNEB + Diff_Conc_X_CSEB + Diff_Conc_X_CNET + Diff_Conc_X_CSET) - (Diff_Conc_X_CNWB + Diff_Conc_X_CSWB + Diff_Conc_X_CNWT + Diff_Conc_X_CSWT)) * c1o8; - ayy = ((Diff_Conc_Y_CNEB + Diff_Conc_Y_CNWB + Diff_Conc_Y_CNET + Diff_Conc_Y_CNWT) - (Diff_Conc_Y_CSEB + Diff_Conc_Y_CSWB + Diff_Conc_Y_CSET + Diff_Conc_Y_CSWT)) * c1o8; - azz = ((Diff_Conc_Z_CSET + Diff_Conc_Z_CSWT + Diff_Conc_Z_CNET + Diff_Conc_Z_CNWT) - (Diff_Conc_Z_CSEB + Diff_Conc_Z_CSWB + Diff_Conc_Z_CNEB + Diff_Conc_Z_CNWB)) * c1o8; - - - - //falsch - //a0=(-2.f*(axx+ayy+azz) + Conc_C_NEB + Conc_C_NET + Conc_C_NWB + Conc_C_NWT + Conc_C_SEB + Conc_C_SET + Conc_C_SWB + Conc_C_SWT)/8.f; - //ax=(Conc_C_NEB + Conc_C_NET + Conc_C_NWB + Conc_C_NWT - Conc_C_SEB - Conc_C_SET - Conc_C_SWB - Conc_C_SWT)/4.f; - //ay=(Conc_C_NEB + Conc_C_NET - Conc_C_NWB - Conc_C_NWT + Conc_C_SEB + Conc_C_SET - Conc_C_SWB - Conc_C_SWT)/4.f; - //az=(-Conc_C_NEB + Conc_C_NET - Conc_C_NWB + Conc_C_NWT - Conc_C_SEB + Conc_C_SET - Conc_C_SWB + Conc_C_SWT)/4.f; - //axy=(Conc_C_NEB + Conc_C_NET - Conc_C_NWB - Conc_C_NWT - Conc_C_SEB - Conc_C_SET + Conc_C_SWB + Conc_C_SWT)/2.f; - //axz=(-Conc_C_NEB + Conc_C_NET - Conc_C_NWB + Conc_C_NWT + Conc_C_SEB - Conc_C_SET + Conc_C_SWB - Conc_C_SWT)/2.f; - //ayz=(-Conc_C_NEB + Conc_C_NET + Conc_C_NWB - Conc_C_NWT - Conc_C_SEB + Conc_C_SET + Conc_C_SWB - Conc_C_SWT)/2.f; - //axyz=-Conc_C_NEB + Conc_C_NET + Conc_C_NWB - Conc_C_NWT + Conc_C_SEB - Conc_C_SET - Conc_C_SWB + Conc_C_SWT; - - - - //besser - a0=(-c2o1*axx - c2o1*ayy - c2o1*azz + Conc_C_NEB + Conc_C_NET + Conc_C_NWB + Conc_C_NWT + Conc_C_SEB + Conc_C_SET + Conc_C_SWB + Conc_C_SWT)*c1o8; - ax=(Conc_C_NEB + Conc_C_NET - Conc_C_NWB - Conc_C_NWT + Conc_C_SEB + Conc_C_SET - Conc_C_SWB - Conc_C_SWT)*c1o4; - ay=(Conc_C_NEB + Conc_C_NET + Conc_C_NWB + Conc_C_NWT - Conc_C_SEB - Conc_C_SET - Conc_C_SWB - Conc_C_SWT)*c1o4; - az=(-Conc_C_NEB + Conc_C_NET - Conc_C_NWB + Conc_C_NWT - Conc_C_SEB + Conc_C_SET - Conc_C_SWB + Conc_C_SWT)*c1o4; - axy=(Conc_C_NEB + Conc_C_NET - Conc_C_NWB - Conc_C_NWT - Conc_C_SEB - Conc_C_SET + Conc_C_SWB + Conc_C_SWT)*c1o2; - axz=(-Conc_C_NEB + Conc_C_NET + Conc_C_NWB - Conc_C_NWT - Conc_C_SEB + Conc_C_SET + Conc_C_SWB - Conc_C_SWT)*c1o2; - ayz=(-Conc_C_NEB + Conc_C_NET - Conc_C_NWB + Conc_C_NWT + Conc_C_SEB - Conc_C_SET + Conc_C_SWB - Conc_C_SWT)*c1o2; - axyz=-Conc_C_NEB + Conc_C_NET + Conc_C_NWB - Conc_C_NWT + Conc_C_SEB - Conc_C_SET - Conc_C_SWB + Conc_C_SWT; - - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - // Bernd das Brot - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - a0 = a0 + xoff * ax + yoff * ay + zoff * az + xoff_sq * axx + yoff_sq * ayy + zoff_sq * azz; - ax = ax + c2o1 * xoff * axx + yoff * axy + zoff * axz; - ay = ay + c2o1 * yoff * ayy + xoff * axy + zoff * ayz; - az = az + c2o1 * zoff * azz + xoff * axz + yoff * ayz; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //Position SWB -0.25, -0.25, -0.25 - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = -c1o4; - y = -c1o4; - z = -c1o4; - - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= posFSWB[k]; - k0w = neighborFX[k0zero]; - k0s = neighborFY[k0zero]; - k0b = neighborFZ[k0zero]; - k0sw = neighborFY[k0w]; - k0bw = neighborFZ[k0w]; - k0bs = neighborFZ[k0s]; - k0bsw = neighborFZ[k0sw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - vx1=feF[kzero]+fneF[kzero]+fseF[ks]+fteF[kzero]+fbeF[kb]-fwF[kw]-fnwF[kw]-fswF[ksw]-ftwF[kw]-fbwF[kbw]+ftneF[kzero]-ftswF[ksw]+ftseF[ks]-ftnwF[kw]+fbneF[kb]-fbswF[kbsw]+fbseF[kbs]-fbnwF[kbw]; - vx2=fnF[kzero]+fneF[kzero]+fnwF[kw]+ftnF[kzero]+fbnF[kb]-fsF[ks]-fseF[ks]-fswF[ksw]-ftsF[ks]-fbsF[kbs]+ftneF[kzero]-ftswF[ksw]-ftseF[ks]+ftnwF[kw]+fbneF[kb]-fbswF[kbsw]-fbseF[kbs]+fbnwF[kbw]; - vx3=ftF[kzero]+fteF[kzero]+ftwF[kw]+ftnF[kzero]+ftsF[ks]-fbF[kb]-fbeF[kb]-fbwF[kbw]-fbnF[kb]-fbsF[kbs]+ftneF[kzero]+ftswF[ksw]+ftseF[ks]+ftnwF[kw]-fbneF[kb]-fbswF[kbsw]-fbseF[kbs]-fbnwF[kbw]; - - Conc_F = a0+ax*x+ay*y+az*z+axx*x*x+ayy*y*y+azz*z*z+axy*x*y+axz*x*z+ayz*y*z+axyz*x*y*z; - - Diff_Conc_X_F = ax + c2o1*axx*x + axy*y + axz*z + axyz*y*z; - Diff_Conc_Y_F = ay + axy*x + c2o1*ayy*y + ayz*z + axyz*x*z; - Diff_Conc_Z_F = az + axz*x + ayz*y + axyz*x*y + c2o1*azz*z; - - Mx = Conc_F*vx1-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_X_F; - My = Conc_F*vx2-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Y_F; - Mz = Conc_F*vx3-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Z_F; - Mxx= Conc_F*((c1o1+ae)/c3o1+(vx1*vx1)); - Myy= Conc_F*((c1o1+ae)/c3o1+(vx2*vx2)); - Mzz= Conc_F*((c1o1+ae)/c3o1+(vx3*vx3)); - M0 = Conc_F; - - (D7F.f[0])[kzero] = M0-Mzz-Mxx-Myy; - (D7F.f[1])[kzero] = c1o2*Mx +c1o2*Mxx; - (D7F.f[2])[kw ] = c1o2*Mxx-c1o2*Mx; - (D7F.f[3])[kzero] = c1o2*My +c1o2*Myy; - (D7F.f[4])[ks ] = c1o2*Myy-c1o2*My; - (D7F.f[5])[kzero] = c1o2*Mzz+c1o2*Mz; - (D7F.f[6])[kb ] = -c1o2*Mz +c1o2*Mzz; - - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //Position SWT -0.25, -0.25, 0.25 - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = -c1o4; - y = -c1o4; - z = c1o4; - //////////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - vx1=feF[kzero]+fneF[kzero]+fseF[ks]+fteF[kzero]+fbeF[kb]-fwF[kw]-fnwF[kw]-fswF[ksw]-ftwF[kw]-fbwF[kbw]+ftneF[kzero]-ftswF[ksw]+ftseF[ks]-ftnwF[kw]+fbneF[kb]-fbswF[kbsw]+fbseF[kbs]-fbnwF[kbw]; - vx2=fnF[kzero]+fneF[kzero]+fnwF[kw]+ftnF[kzero]+fbnF[kb]-fsF[ks]-fseF[ks]-fswF[ksw]-ftsF[ks]-fbsF[kbs]+ftneF[kzero]-ftswF[ksw]-ftseF[ks]+ftnwF[kw]+fbneF[kb]-fbswF[kbsw]-fbseF[kbs]+fbnwF[kbw]; - vx3=ftF[kzero]+fteF[kzero]+ftwF[kw]+ftnF[kzero]+ftsF[ks]-fbF[kb]-fbeF[kb]-fbwF[kbw]-fbnF[kb]-fbsF[kbs]+ftneF[kzero]+ftswF[ksw]+ftseF[ks]+ftnwF[kw]-fbneF[kb]-fbswF[kbsw]-fbseF[kbs]-fbnwF[kbw]; - - Conc_F = a0+ax*x+ay*y+az*z+axx*x*x+ayy*y*y+azz*z*z+axy*x*y+axz*x*z+ayz*y*z+axyz*x*y*z; - - Diff_Conc_X_F = ax + c2o1*axx*x + axy*y + axz*z + axyz*y*z; - Diff_Conc_Y_F = ay + axy*x + c2o1*ayy*y + ayz*z + axyz*x*z; - Diff_Conc_Z_F = az + axz*x + ayz*y + axyz*x*y + c2o1*azz*z; - - Mx = Conc_F*vx1-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_X_F; - My = Conc_F*vx2-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Y_F; - Mz = Conc_F*vx3-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Z_F; - Mxx= Conc_F*((c1o1+ae)/c3o1+(vx1*vx1)); - Myy= Conc_F*((c1o1+ae)/c3o1+(vx2*vx2)); - Mzz= Conc_F*((c1o1+ae)/c3o1+(vx3*vx3)); - M0 = Conc_F; - - (D7F.f[0])[kzero] = M0-Mzz-Mxx-Myy; - (D7F.f[1])[kzero] = c1o2*Mx +c1o2*Mxx; - (D7F.f[2])[kw ] = c1o2*Mxx-c1o2*Mx; - (D7F.f[3])[kzero] = c1o2*My +c1o2*Myy; - (D7F.f[4])[ks ] = c1o2*Myy-c1o2*My; - (D7F.f[5])[kzero] = c1o2*Mzz+c1o2*Mz; - (D7F.f[6])[kb ] = -c1o2*Mz +c1o2*Mzz; - - - - - ////////////////////////////////////////////////////////////////////////// - //Position SET 0.25, -0.25, 0.25 - ////////////////////////////////////////////////////////////////////////// - x = c1o4; - y = -c1o4; - z = c1o4; - - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - vx1=feF[kzero]+fneF[kzero]+fseF[ks]+fteF[kzero]+fbeF[kb]-fwF[kw]-fnwF[kw]-fswF[ksw]-ftwF[kw]-fbwF[kbw]+ftneF[kzero]-ftswF[ksw]+ftseF[ks]-ftnwF[kw]+fbneF[kb]-fbswF[kbsw]+fbseF[kbs]-fbnwF[kbw]; - vx2=fnF[kzero]+fneF[kzero]+fnwF[kw]+ftnF[kzero]+fbnF[kb]-fsF[ks]-fseF[ks]-fswF[ksw]-ftsF[ks]-fbsF[kbs]+ftneF[kzero]-ftswF[ksw]-ftseF[ks]+ftnwF[kw]+fbneF[kb]-fbswF[kbsw]-fbseF[kbs]+fbnwF[kbw]; - vx3=ftF[kzero]+fteF[kzero]+ftwF[kw]+ftnF[kzero]+ftsF[ks]-fbF[kb]-fbeF[kb]-fbwF[kbw]-fbnF[kb]-fbsF[kbs]+ftneF[kzero]+ftswF[ksw]+ftseF[ks]+ftnwF[kw]-fbneF[kb]-fbswF[kbsw]-fbseF[kbs]-fbnwF[kbw]; - - Conc_F = a0+ax*x+ay*y+az*z+axx*x*x+ayy*y*y+azz*z*z+axy*x*y+axz*x*z+ayz*y*z+axyz*x*y*z; - - Diff_Conc_X_F = ax + c2o1*axx*x + axy*y + axz*z + axyz*y*z; - Diff_Conc_Y_F = ay + axy*x + c2o1*ayy*y + ayz*z + axyz*x*z; - Diff_Conc_Z_F = az + axz*x + ayz*y + axyz*x*y + c2o1*azz*z; - - Mx = Conc_F*vx1-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_X_F; - My = Conc_F*vx2-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Y_F; - Mz = Conc_F*vx3-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Z_F; - Mxx= Conc_F*((c1o1+ae)/c3o1+(vx1*vx1)); - Myy= Conc_F*((c1o1+ae)/c3o1+(vx2*vx2)); - Mzz= Conc_F*((c1o1+ae)/c3o1+(vx3*vx3)); - M0 = Conc_F; - - (D7F.f[0])[kzero] = M0-Mzz-Mxx-Myy; - (D7F.f[1])[kzero] = c1o2*Mx +c1o2*Mxx; - (D7F.f[2])[kw ] = c1o2*Mxx-c1o2*Mx; - (D7F.f[3])[kzero] = c1o2*My +c1o2*Myy; - (D7F.f[4])[ks ] = c1o2*Myy-c1o2*My; - (D7F.f[5])[kzero] = c1o2*Mzz+c1o2*Mz; - (D7F.f[6])[kb ] = -c1o2*Mz +c1o2*Mzz; - - - - - ////////////////////////////////////////////////////////////////////////// - //Position SEB 0.25, -0.25, -0.25 - ////////////////////////////////////////////////////////////////////////// - x = c1o4; - y = -c1o4; - z = -c1o4; - - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - vx1=feF[kzero]+fneF[kzero]+fseF[ks]+fteF[kzero]+fbeF[kb]-fwF[kw]-fnwF[kw]-fswF[ksw]-ftwF[kw]-fbwF[kbw]+ftneF[kzero]-ftswF[ksw]+ftseF[ks]-ftnwF[kw]+fbneF[kb]-fbswF[kbsw]+fbseF[kbs]-fbnwF[kbw]; - vx2=fnF[kzero]+fneF[kzero]+fnwF[kw]+ftnF[kzero]+fbnF[kb]-fsF[ks]-fseF[ks]-fswF[ksw]-ftsF[ks]-fbsF[kbs]+ftneF[kzero]-ftswF[ksw]-ftseF[ks]+ftnwF[kw]+fbneF[kb]-fbswF[kbsw]-fbseF[kbs]+fbnwF[kbw]; - vx3=ftF[kzero]+fteF[kzero]+ftwF[kw]+ftnF[kzero]+ftsF[ks]-fbF[kb]-fbeF[kb]-fbwF[kbw]-fbnF[kb]-fbsF[kbs]+ftneF[kzero]+ftswF[ksw]+ftseF[ks]+ftnwF[kw]-fbneF[kb]-fbswF[kbsw]-fbseF[kbs]-fbnwF[kbw]; - - Conc_F = a0+ax*x+ay*y+az*z+axx*x*x+ayy*y*y+azz*z*z+axy*x*y+axz*x*z+ayz*y*z+axyz*x*y*z; - - Diff_Conc_X_F = ax + c2o1*axx*x + axy*y + axz*z + axyz*y*z; - Diff_Conc_Y_F = ay + axy*x + c2o1*ayy*y + ayz*z + axyz*x*z; - Diff_Conc_Z_F = az + axz*x + ayz*y + axyz*x*y + c2o1*azz*z; - - Mx = Conc_F*vx1-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_X_F; - My = Conc_F*vx2-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Y_F; - Mz = Conc_F*vx3-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Z_F; - Mxx= Conc_F*((c1o1+ae)/c3o1+(vx1*vx1)); - Myy= Conc_F*((c1o1+ae)/c3o1+(vx2*vx2)); - Mzz= Conc_F*((c1o1+ae)/c3o1+(vx3*vx3)); - M0 = Conc_F; - - (D7F.f[0])[kzero] = M0-Mzz-Mxx-Myy; - (D7F.f[1])[kzero] = c1o2*Mx +c1o2*Mxx; - (D7F.f[2])[kw ] = c1o2*Mxx-c1o2*Mx; - (D7F.f[3])[kzero] = c1o2*My +c1o2*Myy; - (D7F.f[4])[ks ] = c1o2*Myy-c1o2*My; - (D7F.f[5])[kzero] = c1o2*Mzz+c1o2*Mz; - (D7F.f[6])[kb ] = -c1o2*Mz +c1o2*Mzz; - - - - - ////////////////////////////////////////////////////////////////////////// - //Position NWB -0.25, 0.25, -0.25 - ////////////////////////////////////////////////////////////////////////// - x = -c1o4; - y = c1o4; - z = -c1o4; - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= k0s; - k0w = k0sw; - k0s = neighborFY[k0s]; - k0b = k0bs; - k0sw = neighborFY[k0sw]; - k0bw = k0bsw; - k0bs = neighborFY[k0bs]; - k0bsw = neighborFY[k0bsw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - vx1=feF[kzero]+fneF[kzero]+fseF[ks]+fteF[kzero]+fbeF[kb]-fwF[kw]-fnwF[kw]-fswF[ksw]-ftwF[kw]-fbwF[kbw]+ftneF[kzero]-ftswF[ksw]+ftseF[ks]-ftnwF[kw]+fbneF[kb]-fbswF[kbsw]+fbseF[kbs]-fbnwF[kbw]; - vx2=fnF[kzero]+fneF[kzero]+fnwF[kw]+ftnF[kzero]+fbnF[kb]-fsF[ks]-fseF[ks]-fswF[ksw]-ftsF[ks]-fbsF[kbs]+ftneF[kzero]-ftswF[ksw]-ftseF[ks]+ftnwF[kw]+fbneF[kb]-fbswF[kbsw]-fbseF[kbs]+fbnwF[kbw]; - vx3=ftF[kzero]+fteF[kzero]+ftwF[kw]+ftnF[kzero]+ftsF[ks]-fbF[kb]-fbeF[kb]-fbwF[kbw]-fbnF[kb]-fbsF[kbs]+ftneF[kzero]+ftswF[ksw]+ftseF[ks]+ftnwF[kw]-fbneF[kb]-fbswF[kbsw]-fbseF[kbs]-fbnwF[kbw]; - - Conc_F = a0+ax*x+ay*y+az*z+axx*x*x+ayy*y*y+azz*z*z+axy*x*y+axz*x*z+ayz*y*z+axyz*x*y*z; - - Diff_Conc_X_F = ax + c2o1*axx*x + axy*y + axz*z + axyz*y*z; - Diff_Conc_Y_F = ay + axy*x + c2o1*ayy*y + ayz*z + axyz*x*z; - Diff_Conc_Z_F = az + axz*x + ayz*y + axyz*x*y + c2o1*azz*z; - - Mx = Conc_F*vx1-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_X_F; - My = Conc_F*vx2-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Y_F; - Mz = Conc_F*vx3-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Z_F; - Mxx= Conc_F*((c1o1+ae)/c3o1+(vx1*vx1)); - Myy= Conc_F*((c1o1+ae)/c3o1+(vx2*vx2)); - Mzz= Conc_F*((c1o1+ae)/c3o1+(vx3*vx3)); - M0 = Conc_F; - - (D7F.f[0])[kzero] = M0-Mzz-Mxx-Myy; - (D7F.f[1])[kzero] = c1o2*Mx +c1o2*Mxx; - (D7F.f[2])[kw ] = c1o2*Mxx-c1o2*Mx; - (D7F.f[3])[kzero] = c1o2*My +c1o2*Myy; - (D7F.f[4])[ks ] = c1o2*Myy-c1o2*My; - (D7F.f[5])[kzero] = c1o2*Mzz+c1o2*Mz; - (D7F.f[6])[kb ] = -c1o2*Mz +c1o2*Mzz; - - - - - ////////////////////////////////////////////////////////////////////////// - //Position NWT -0.25, 0.25, 0.25 - ////////////////////////////////////////////////////////////////////////// - x = -c1o4; - y = c1o4; - z = c1o4; - - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - vx1=feF[kzero]+fneF[kzero]+fseF[ks]+fteF[kzero]+fbeF[kb]-fwF[kw]-fnwF[kw]-fswF[ksw]-ftwF[kw]-fbwF[kbw]+ftneF[kzero]-ftswF[ksw]+ftseF[ks]-ftnwF[kw]+fbneF[kb]-fbswF[kbsw]+fbseF[kbs]-fbnwF[kbw]; - vx2=fnF[kzero]+fneF[kzero]+fnwF[kw]+ftnF[kzero]+fbnF[kb]-fsF[ks]-fseF[ks]-fswF[ksw]-ftsF[ks]-fbsF[kbs]+ftneF[kzero]-ftswF[ksw]-ftseF[ks]+ftnwF[kw]+fbneF[kb]-fbswF[kbsw]-fbseF[kbs]+fbnwF[kbw]; - vx3=ftF[kzero]+fteF[kzero]+ftwF[kw]+ftnF[kzero]+ftsF[ks]-fbF[kb]-fbeF[kb]-fbwF[kbw]-fbnF[kb]-fbsF[kbs]+ftneF[kzero]+ftswF[ksw]+ftseF[ks]+ftnwF[kw]-fbneF[kb]-fbswF[kbsw]-fbseF[kbs]-fbnwF[kbw]; - - Conc_F = a0+ax*x+ay*y+az*z+axx*x*x+ayy*y*y+azz*z*z+axy*x*y+axz*x*z+ayz*y*z+axyz*x*y*z; - - Diff_Conc_X_F = ax + c2o1*axx*x + axy*y + axz*z + axyz*y*z; - Diff_Conc_Y_F = ay + axy*x + c2o1*ayy*y + ayz*z + axyz*x*z; - Diff_Conc_Z_F = az + axz*x + ayz*y + axyz*x*y + c2o1*azz*z; - - Mx = Conc_F*vx1-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_X_F; - My = Conc_F*vx2-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Y_F; - Mz = Conc_F*vx3-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Z_F; - Mxx= Conc_F*((c1o1+ae)/c3o1+(vx1*vx1)); - Myy= Conc_F*((c1o1+ae)/c3o1+(vx2*vx2)); - Mzz= Conc_F*((c1o1+ae)/c3o1+(vx3*vx3)); - M0 = Conc_F; - - (D7F.f[0])[kzero] = M0-Mzz-Mxx-Myy; - (D7F.f[1])[kzero] = c1o2*Mx +c1o2*Mxx; - (D7F.f[2])[kw ] = c1o2*Mxx-c1o2*Mx; - (D7F.f[3])[kzero] = c1o2*My +c1o2*Myy; - (D7F.f[4])[ks ] = c1o2*Myy-c1o2*My; - (D7F.f[5])[kzero] = c1o2*Mzz+c1o2*Mz; - (D7F.f[6])[kb ] = -c1o2*Mz +c1o2*Mzz; - - - - - //////////////////////////////////////////////////////////////////////////////// - //Position NET 0.25, 0.25, 0.25 - //////////////////////////////////////////////////////////////////////////////// - x = c1o4; - y = c1o4; - z = c1o4; - - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - vx1=feF[kzero]+fneF[kzero]+fseF[ks]+fteF[kzero]+fbeF[kb]-fwF[kw]-fnwF[kw]-fswF[ksw]-ftwF[kw]-fbwF[kbw]+ftneF[kzero]-ftswF[ksw]+ftseF[ks]-ftnwF[kw]+fbneF[kb]-fbswF[kbsw]+fbseF[kbs]-fbnwF[kbw]; - vx2=fnF[kzero]+fneF[kzero]+fnwF[kw]+ftnF[kzero]+fbnF[kb]-fsF[ks]-fseF[ks]-fswF[ksw]-ftsF[ks]-fbsF[kbs]+ftneF[kzero]-ftswF[ksw]-ftseF[ks]+ftnwF[kw]+fbneF[kb]-fbswF[kbsw]-fbseF[kbs]+fbnwF[kbw]; - vx3=ftF[kzero]+fteF[kzero]+ftwF[kw]+ftnF[kzero]+ftsF[ks]-fbF[kb]-fbeF[kb]-fbwF[kbw]-fbnF[kb]-fbsF[kbs]+ftneF[kzero]+ftswF[ksw]+ftseF[ks]+ftnwF[kw]-fbneF[kb]-fbswF[kbsw]-fbseF[kbs]-fbnwF[kbw]; - - Conc_F = a0+ax*x+ay*y+az*z+axx*x*x+ayy*y*y+azz*z*z+axy*x*y+axz*x*z+ayz*y*z+axyz*x*y*z; - - Diff_Conc_X_F = ax + c2o1*axx*x + axy*y + axz*z + axyz*y*z; - Diff_Conc_Y_F = ay + axy*x + c2o1*ayy*y + ayz*z + axyz*x*z; - Diff_Conc_Z_F = az + axz*x + ayz*y + axyz*x*y + c2o1*azz*z; - - Mx = Conc_F*vx1-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_X_F; - My = Conc_F*vx2-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Y_F; - Mz = Conc_F*vx3-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Z_F; - Mxx= Conc_F*((c1o1+ae)/c3o1+(vx1*vx1)); - Myy= Conc_F*((c1o1+ae)/c3o1+(vx2*vx2)); - Mzz= Conc_F*((c1o1+ae)/c3o1+(vx3*vx3)); - M0 = Conc_F; - - (D7F.f[0])[kzero] = M0-Mzz-Mxx-Myy; - (D7F.f[1])[kzero] = c1o2*Mx +c1o2*Mxx; - (D7F.f[2])[kw ] = c1o2*Mxx-c1o2*Mx; - (D7F.f[3])[kzero] = c1o2*My +c1o2*Myy; - (D7F.f[4])[ks ] = c1o2*Myy-c1o2*My; - (D7F.f[5])[kzero] = c1o2*Mzz+c1o2*Mz; - (D7F.f[6])[kb ] = -c1o2*Mz +c1o2*Mzz; - - - - //////////////////////////////////////////////////////////////////////////////// - //Position NEB 0.25, 0.25, -0.25 - //////////////////////////////////////////////////////////////////////////////// - x = c1o4; - y = c1o4; - z = -c1o4; - - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - vx1=feF[kzero]+fneF[kzero]+fseF[ks]+fteF[kzero]+fbeF[kb]-fwF[kw]-fnwF[kw]-fswF[ksw]-ftwF[kw]-fbwF[kbw]+ftneF[kzero]-ftswF[ksw]+ftseF[ks]-ftnwF[kw]+fbneF[kb]-fbswF[kbsw]+fbseF[kbs]-fbnwF[kbw]; - vx2=fnF[kzero]+fneF[kzero]+fnwF[kw]+ftnF[kzero]+fbnF[kb]-fsF[ks]-fseF[ks]-fswF[ksw]-ftsF[ks]-fbsF[kbs]+ftneF[kzero]-ftswF[ksw]-ftseF[ks]+ftnwF[kw]+fbneF[kb]-fbswF[kbsw]-fbseF[kbs]+fbnwF[kbw]; - vx3=ftF[kzero]+fteF[kzero]+ftwF[kw]+ftnF[kzero]+ftsF[ks]-fbF[kb]-fbeF[kb]-fbwF[kbw]-fbnF[kb]-fbsF[kbs]+ftneF[kzero]+ftswF[ksw]+ftseF[ks]+ftnwF[kw]-fbneF[kb]-fbswF[kbsw]-fbseF[kbs]-fbnwF[kbw]; - - Conc_F = a0+ax*x+ay*y+az*z+axx*x*x+ayy*y*y+azz*z*z+axy*x*y+axz*x*z+ayz*y*z+axyz*x*y*z; - - Diff_Conc_X_F = ax + c2o1*axx*x + axy*y + axz*z + axyz*y*z; - Diff_Conc_Y_F = ay + axy*x + c2o1*ayy*y + ayz*z + axyz*x*z; - Diff_Conc_Z_F = az + axz*x + ayz*y + axyz*x*y + c2o1*azz*z; - - Mx = Conc_F*vx1-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_X_F; - My = Conc_F*vx2-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Y_F; - Mz = Conc_F*vx3-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Z_F; - Mxx= Conc_F*((c1o1+ae)/c3o1+(vx1*vx1)); - Myy= Conc_F*((c1o1+ae)/c3o1+(vx2*vx2)); - Mzz= Conc_F*((c1o1+ae)/c3o1+(vx3*vx3)); - M0 = Conc_F; - - (D7F.f[0])[kzero] = M0-Mzz-Mxx-Myy; - (D7F.f[1])[kzero] = c1o2*Mx +c1o2*Mxx; - (D7F.f[2])[kw ] = c1o2*Mxx-c1o2*Mx; - (D7F.f[3])[kzero] = c1o2*My +c1o2*Myy; - (D7F.f[4])[ks ] = c1o2*Myy-c1o2*My; - (D7F.f[5])[kzero] = c1o2*Mzz+c1o2*Mz; - (D7F.f[6])[kb ] = -c1o2*Mz +c1o2*Mzz; - } -} -////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -////////////////////////////////////////////////////////////////////////// -__global__ void scaleCFThS7( real* DC, - real* DF, - real* DD7C, - real* DD7F, - unsigned int* neighborCX, - unsigned int* neighborCY, - unsigned int* neighborCZ, - unsigned int* neighborFX, - unsigned int* neighborFY, - unsigned int* neighborFZ, - unsigned long long numberOfLBnodesCoarse, - unsigned long long numberOfLBnodesFine, - bool isEvenTimestep, - unsigned int* posCSWB, - unsigned int* posFSWB, - unsigned int kCF, - real nu, - real diffusivity_fine) -{ - real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, /**fzeroF,*/ *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - - feF = &DF[dP00 * numberOfLBnodesFine]; - fwF = &DF[dM00 * numberOfLBnodesFine]; - fnF = &DF[d0P0 * numberOfLBnodesFine]; - fsF = &DF[d0M0 * numberOfLBnodesFine]; - ftF = &DF[d00P * numberOfLBnodesFine]; - fbF = &DF[d00M * numberOfLBnodesFine]; - fneF = &DF[dPP0 * numberOfLBnodesFine]; - fswF = &DF[dMM0 * numberOfLBnodesFine]; - fseF = &DF[dPM0 * numberOfLBnodesFine]; - fnwF = &DF[dMP0 * numberOfLBnodesFine]; - fteF = &DF[dP0P * numberOfLBnodesFine]; - fbwF = &DF[dM0M * numberOfLBnodesFine]; - fbeF = &DF[dP0M * numberOfLBnodesFine]; - ftwF = &DF[dM0P * numberOfLBnodesFine]; - ftnF = &DF[d0PP * numberOfLBnodesFine]; - fbsF = &DF[d0MM * numberOfLBnodesFine]; - fbnF = &DF[d0PM * numberOfLBnodesFine]; - ftsF = &DF[d0MP * numberOfLBnodesFine]; - //fzeroF = &DF[d000 * size_MatF]; - ftneF = &DF[dPPP * numberOfLBnodesFine]; - ftswF = &DF[dMMP * numberOfLBnodesFine]; - ftseF = &DF[dPMP * numberOfLBnodesFine]; - ftnwF = &DF[dMPP * numberOfLBnodesFine]; - fbneF = &DF[dPPM * numberOfLBnodesFine]; - fbswF = &DF[dMMM * numberOfLBnodesFine]; - fbseF = &DF[dPMM * numberOfLBnodesFine]; - fbnwF = &DF[dMPM * numberOfLBnodesFine]; - - real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, //*fzeroC, - *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; - - if (isEvenTimestep==true) - { - feC = &DC[dP00 * numberOfLBnodesCoarse]; - fwC = &DC[dM00 * numberOfLBnodesCoarse]; - fnC = &DC[d0P0 * numberOfLBnodesCoarse]; - fsC = &DC[d0M0 * numberOfLBnodesCoarse]; - ftC = &DC[d00P * numberOfLBnodesCoarse]; - fbC = &DC[d00M * numberOfLBnodesCoarse]; - fneC = &DC[dPP0 * numberOfLBnodesCoarse]; - fswC = &DC[dMM0 * numberOfLBnodesCoarse]; - fseC = &DC[dPM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dMP0 * numberOfLBnodesCoarse]; - fteC = &DC[dP0P * numberOfLBnodesCoarse]; - fbwC = &DC[dM0M * numberOfLBnodesCoarse]; - fbeC = &DC[dP0M * numberOfLBnodesCoarse]; - ftwC = &DC[dM0P * numberOfLBnodesCoarse]; - ftnC = &DC[d0PP * numberOfLBnodesCoarse]; - fbsC = &DC[d0MM * numberOfLBnodesCoarse]; - fbnC = &DC[d0PM * numberOfLBnodesCoarse]; - ftsC = &DC[d0MP * numberOfLBnodesCoarse]; - //fzeroC = &DC[d000 * size_MatC]; - ftneC = &DC[dPPP * numberOfLBnodesCoarse]; - ftswC = &DC[dMMP * numberOfLBnodesCoarse]; - ftseC = &DC[dPMP * numberOfLBnodesCoarse]; - ftnwC = &DC[dMPP * numberOfLBnodesCoarse]; - fbneC = &DC[dPPM * numberOfLBnodesCoarse]; - fbswC = &DC[dMMM * numberOfLBnodesCoarse]; - fbseC = &DC[dPMM * numberOfLBnodesCoarse]; - fbnwC = &DC[dMPM * numberOfLBnodesCoarse]; - } - else - { - fwC = &DC[dP00 * numberOfLBnodesCoarse]; - feC = &DC[dM00 * numberOfLBnodesCoarse]; - fsC = &DC[d0P0 * numberOfLBnodesCoarse]; - fnC = &DC[d0M0 * numberOfLBnodesCoarse]; - fbC = &DC[d00P * numberOfLBnodesCoarse]; - ftC = &DC[d00M * numberOfLBnodesCoarse]; - fswC = &DC[dPP0 * numberOfLBnodesCoarse]; - fneC = &DC[dMM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dPM0 * numberOfLBnodesCoarse]; - fseC = &DC[dMP0 * numberOfLBnodesCoarse]; - fbwC = &DC[dP0P * numberOfLBnodesCoarse]; - fteC = &DC[dM0M * numberOfLBnodesCoarse]; - ftwC = &DC[dP0M * numberOfLBnodesCoarse]; - fbeC = &DC[dM0P * numberOfLBnodesCoarse]; - fbsC = &DC[d0PP * numberOfLBnodesCoarse]; - ftnC = &DC[d0MM * numberOfLBnodesCoarse]; - ftsC = &DC[d0PM * numberOfLBnodesCoarse]; - fbnC = &DC[d0MP * numberOfLBnodesCoarse]; - //fzeroC = &DC[d000 * size_MatC]; - fbswC = &DC[dPPP * numberOfLBnodesCoarse]; - fbneC = &DC[dMMP * numberOfLBnodesCoarse]; - fbnwC = &DC[dPMP * numberOfLBnodesCoarse]; - fbseC = &DC[dMPP * numberOfLBnodesCoarse]; - ftswC = &DC[dPPM * numberOfLBnodesCoarse]; - ftneC = &DC[dMMM * numberOfLBnodesCoarse]; - ftnwC = &DC[dPMM * numberOfLBnodesCoarse]; - ftseC = &DC[dMPM * numberOfLBnodesCoarse]; - } - - - Distributions7 D7F; - D7F.f[0] = &DD7F[0*numberOfLBnodesFine]; - D7F.f[1] = &DD7F[1*numberOfLBnodesFine]; - D7F.f[2] = &DD7F[2*numberOfLBnodesFine]; - D7F.f[3] = &DD7F[3*numberOfLBnodesFine]; - D7F.f[4] = &DD7F[4*numberOfLBnodesFine]; - D7F.f[5] = &DD7F[5*numberOfLBnodesFine]; - D7F.f[6] = &DD7F[6*numberOfLBnodesFine]; - - Distributions7 D7C; - if (isEvenTimestep==true) - { - D7C.f[0] = &DD7C[0*numberOfLBnodesCoarse]; - D7C.f[1] = &DD7C[1*numberOfLBnodesCoarse]; - D7C.f[2] = &DD7C[2*numberOfLBnodesCoarse]; - D7C.f[3] = &DD7C[3*numberOfLBnodesCoarse]; - D7C.f[4] = &DD7C[4*numberOfLBnodesCoarse]; - D7C.f[5] = &DD7C[5*numberOfLBnodesCoarse]; - D7C.f[6] = &DD7C[6*numberOfLBnodesCoarse]; - } - else - { - D7C.f[0] = &DD7C[0*numberOfLBnodesCoarse]; - D7C.f[2] = &DD7C[1*numberOfLBnodesCoarse]; - D7C.f[1] = &DD7C[2*numberOfLBnodesCoarse]; - D7C.f[4] = &DD7C[3*numberOfLBnodesCoarse]; - D7C.f[3] = &DD7C[4*numberOfLBnodesCoarse]; - D7C.f[6] = &DD7C[5*numberOfLBnodesCoarse]; - D7C.f[5] = &DD7C[6*numberOfLBnodesCoarse]; - } - - //////////////////////////////////////////////////////////////////////////////// - const unsigned ix = threadIdx.x; // Globaler x-Index - const unsigned iy = blockIdx.x; // Globaler y-Index - const unsigned iz = blockIdx.y; // Globaler z-Index - - const unsigned nx = blockDim.x; - const unsigned ny = gridDim.x; - - const unsigned k = nx*(ny*iz + iy) + ix; - ////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////// - real /*drho,*/vx1,vx2,vx3; - real f_E,f_W,f_N,f_S,f_T,f_B,f_NE,f_SW,f_SE,f_NW,f_TE,f_BW,f_BE,f_TW,f_TN,f_BS,f_BN,f_TS/*,f_ZERO*/,f_TNE, f_TSW, f_TSE, f_TNW, f_BNE, f_BSW, f_BSE, f_BNW; - - //real x,y,z; - real /*f7_ZERO,*/f7_E,f7_W,f7_N,f7_S,f7_T,f7_B; - real Mx,My,Mz,Mxx,Myy,Mzz,M0; - real Conc_C_SWB, Conc_C_SWT, Conc_C_SET, Conc_C_SEB, Conc_C_NWB, Conc_C_NWT, Conc_C_NET, Conc_C_NEB; - real Conc_F_SWB, Conc_F_SWT, Conc_F_SET, Conc_F_SEB, Conc_F_NWB, Conc_F_NWT, Conc_F_NET, Conc_F_NEB; - - //real omegaD_C = two / (six * diffusivity_fine/two + one); - //real omegaD_F = two / (six * diffusivity_fine + one); - real omegaD_C = c3o1 - sqrt(c3o1); //Quick and D�rrrty - real omegaD_F = c3o1 - sqrt(c3o1); //Quick and D�rrrty - real Lam = -(c1o2-c1o1/omegaD_C); - real nue_d = Lam/c3o1; - //real ae = zero; - //real ae_C = zero; - real ae = diffusivity_fine/nue_d - c1o1; - real ae_C = (diffusivity_fine/c2o1)/nue_d - c1o1; - - //real ux_sq, uy_sq, uz_sq; - - - if(k<kCF) - { - ////////////////////////////////////////////////////////////////////////// - //SWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - unsigned int k0zero= posCSWB[k]; - unsigned int k0w = neighborCX[k0zero]; - unsigned int k0s = neighborCY[k0zero]; - unsigned int k0b = neighborCZ[k0zero]; - unsigned int k0sw = neighborCY[k0w]; - unsigned int k0bw = neighborCZ[k0w]; - unsigned int k0bs = neighborCZ[k0s]; - unsigned int k0bsw = neighborCZ[k0sw]; - ////////////////////////////////////////////////////////////////////////// - //index - unsigned int kzero= k0zero; - unsigned int kw = k0w; - unsigned int ks = k0s; - unsigned int kb = k0b; - unsigned int ksw = k0sw; - unsigned int kbw = k0bw; - unsigned int kbs = k0bs; - unsigned int kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - //f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - ////////////////////////////////////////////////////////////////////////////////// - //f7_ZERO = (D7C.f[0])[kzero]; - f7_E = (D7C.f[1])[kzero]; - f7_W = (D7C.f[2])[kw]; - f7_N = (D7C.f[3])[kzero]; - f7_S = (D7C.f[4])[ks]; - f7_T = (D7C.f[5])[kzero]; - f7_B = (D7C.f[6])[kb]; - - Conc_C_SWB = (D7C.f[0])[kzero]+(D7C.f[1])[kzero]+(D7C.f[2])[kw]+(D7C.f[3])[kzero]+(D7C.f[4])[ks]+(D7C.f[5])[kzero]+(D7C.f[6])[kb]; - - vx1 =f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2 =f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3 =f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - Mx =f7_E-f7_W; - My =f7_N-f7_S; - Mz =f7_T-f7_B; - - real Diff_Conc_X_CSWB = (Conc_C_SWB * vx1 - Mx) * (c3o1*omegaD_C) / (c1o1 + ae_C); - real Diff_Conc_Y_CSWB = (Conc_C_SWB * vx2 - My) * (c3o1*omegaD_C) / (c1o1 + ae_C); - real Diff_Conc_Z_CSWB = (Conc_C_SWB * vx3 - Mz) * (c3o1*omegaD_C) / (c1o1 + ae_C); - - - ////////////////////////////////////////////////////////////////////////// - //SWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborCZ[kb]; - ksw = kbsw; - kbw = neighborCZ[kbw]; - kbs = neighborCZ[kbs]; - kbsw = neighborCZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - //f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - ////////////////////////////////////////////////////////////////////////////////// - //f7_ZERO = (D7C.f[0])[kzero]; - f7_E = (D7C.f[1])[kzero]; - f7_W = (D7C.f[2])[kw]; - f7_N = (D7C.f[3])[kzero]; - f7_S = (D7C.f[4])[ks]; - f7_T = (D7C.f[5])[kzero]; - f7_B = (D7C.f[6])[kb]; - - Conc_C_SWT = (D7C.f[0])[kzero]+(D7C.f[1])[kzero]+(D7C.f[2])[kw]+(D7C.f[3])[kzero]+(D7C.f[4])[ks]+(D7C.f[5])[kzero]+(D7C.f[6])[kb]; - - vx1 =f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2 =f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3 =f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - Mx =f7_E-f7_W; - My =f7_N-f7_S; - Mz =f7_T-f7_B; - - real Diff_Conc_X_CSWT = (Conc_C_SWT * vx1 - Mx) * (c3o1*omegaD_C) / (c1o1 + ae_C); - real Diff_Conc_Y_CSWT = (Conc_C_SWT * vx2 - My) * (c3o1*omegaD_C) / (c1o1 + ae_C); - real Diff_Conc_Z_CSWT = (Conc_C_SWT * vx3 - Mz) * (c3o1*omegaD_C) / (c1o1 + ae_C); - - ////////////////////////////////////////////////////////////////////////// - //SET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborCX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborCX[ksw]; - kbw = neighborCX[kbw]; - kbs = kbsw; - kbsw = neighborCX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - //f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - ////////////////////////////////////////////////////////////////////////////////// - //f7_ZERO = (D7C.f[0])[kzero]; - f7_E = (D7C.f[1])[kzero]; - f7_W = (D7C.f[2])[kw]; - f7_N = (D7C.f[3])[kzero]; - f7_S = (D7C.f[4])[ks]; - f7_T = (D7C.f[5])[kzero]; - f7_B = (D7C.f[6])[kb]; - - Conc_C_SET = (D7C.f[0])[kzero]+(D7C.f[1])[kzero]+(D7C.f[2])[kw]+(D7C.f[3])[kzero]+(D7C.f[4])[ks]+(D7C.f[5])[kzero]+(D7C.f[6])[kb]; - - vx1 =f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2 =f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3 =f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - Mx =f7_E-f7_W; - My =f7_N-f7_S; - Mz =f7_T-f7_B; - - real Diff_Conc_X_CSET = (Conc_C_SET * vx1 - Mx) * (c3o1*omegaD_C) / (c1o1 + ae_C); - real Diff_Conc_Y_CSET = (Conc_C_SET * vx2 - My) * (c3o1*omegaD_C) / (c1o1 + ae_C); - real Diff_Conc_Z_CSET = (Conc_C_SET * vx3 - Mz) * (c3o1*omegaD_C) / (c1o1 + ae_C); - - ////////////////////////////////////////////////////////////////////////// - //SEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborCX[k0w]; - ks = k0sw; - ksw = neighborCX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - //f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - ////////////////////////////////////////////////////////////////////////////////// - //f7_ZERO = (D7C.f[0])[kzero]; - f7_E = (D7C.f[1])[kzero]; - f7_W = (D7C.f[2])[kw]; - f7_N = (D7C.f[3])[kzero]; - f7_S = (D7C.f[4])[ks]; - f7_T = (D7C.f[5])[kzero]; - f7_B = (D7C.f[6])[kb]; - - Conc_C_SEB = (D7C.f[0])[kzero]+(D7C.f[1])[kzero]+(D7C.f[2])[kw]+(D7C.f[3])[kzero]+(D7C.f[4])[ks]+(D7C.f[5])[kzero]+(D7C.f[6])[kb]; - - vx1 =f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2 =f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3 =f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - Mx =f7_E-f7_W; - My =f7_N-f7_S; - Mz =f7_T-f7_B; - - real Diff_Conc_X_CSEB = (Conc_C_SEB * vx1 - Mx) * (c3o1*omegaD_C) / (c1o1 + ae_C); - real Diff_Conc_Y_CSEB = (Conc_C_SEB * vx2 - My) * (c3o1*omegaD_C) / (c1o1 + ae_C); - real Diff_Conc_Z_CSEB = (Conc_C_SEB * vx3 - Mz) * (c3o1*omegaD_C) / (c1o1 + ae_C); - - ////////////////////////////////////////////////////////////////////////// - //NWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= k0s; - k0w = k0sw; - k0s = neighborCY[k0s]; - k0b = k0bs; - k0sw = neighborCY[k0sw]; - k0bw = k0bsw; - k0bs = neighborCY[k0bs]; - k0bsw = neighborCY[k0bsw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - //f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - ////////////////////////////////////////////////////////////////////////////////// - //f7_ZERO = (D7C.f[0])[kzero]; - f7_E = (D7C.f[1])[kzero]; - f7_W = (D7C.f[2])[kw]; - f7_N = (D7C.f[3])[kzero]; - f7_S = (D7C.f[4])[ks]; - f7_T = (D7C.f[5])[kzero]; - f7_B = (D7C.f[6])[kb]; - - Conc_C_NWB = (D7C.f[0])[kzero]+(D7C.f[1])[kzero]+(D7C.f[2])[kw]+(D7C.f[3])[kzero]+(D7C.f[4])[ks]+(D7C.f[5])[kzero]+(D7C.f[6])[kb]; - - vx1 =f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2 =f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3 =f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - Mx =f7_E-f7_W; - My =f7_N-f7_S; - Mz =f7_T-f7_B; - - real Diff_Conc_X_CNWB = (Conc_C_NWB * vx1 - Mx) * (c3o1*omegaD_C) / (c1o1 + ae_C); - real Diff_Conc_Y_CNWB = (Conc_C_NWB * vx2 - My) * (c3o1*omegaD_C) / (c1o1 + ae_C); - real Diff_Conc_Z_CNWB = (Conc_C_NWB * vx3 - Mz) * (c3o1*omegaD_C) / (c1o1 + ae_C); - - ////////////////////////////////////////////////////////////////////////// - //NWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborCZ[kb]; - ksw = kbsw; - kbw = neighborCZ[kbw]; - kbs = neighborCZ[kbs]; - kbsw = neighborCZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - //f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - ////////////////////////////////////////////////////////////////////////////////// - //f7_ZERO = (D7C.f[0])[kzero]; - f7_E = (D7C.f[1])[kzero]; - f7_W = (D7C.f[2])[kw]; - f7_N = (D7C.f[3])[kzero]; - f7_S = (D7C.f[4])[ks]; - f7_T = (D7C.f[5])[kzero]; - f7_B = (D7C.f[6])[kb]; - - Conc_C_NWT = (D7C.f[0])[kzero]+(D7C.f[1])[kzero]+(D7C.f[2])[kw]+(D7C.f[3])[kzero]+(D7C.f[4])[ks]+(D7C.f[5])[kzero]+(D7C.f[6])[kb]; - - vx1 =f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2 =f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3 =f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - Mx =f7_E-f7_W; - My =f7_N-f7_S; - Mz =f7_T-f7_B; - - real Diff_Conc_X_CNWT = (Conc_C_NWT * vx1 - Mx) * (c3o1*omegaD_C) / (c1o1 + ae_C); - real Diff_Conc_Y_CNWT = (Conc_C_NWT * vx2 - My) * (c3o1*omegaD_C) / (c1o1 + ae_C); - real Diff_Conc_Z_CNWT = (Conc_C_NWT * vx3 - Mz) * (c3o1*omegaD_C) / (c1o1 + ae_C); - - ////////////////////////////////////////////////////////////////////////// - //NET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborCX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborCX[ksw]; - kbw = neighborCX[kbw]; - kbs = kbsw; - kbsw = neighborCX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - //f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - ////////////////////////////////////////////////////////////////////////////////// - //f7_ZERO = (D7C.f[0])[kzero]; - f7_E = (D7C.f[1])[kzero]; - f7_W = (D7C.f[2])[kw]; - f7_N = (D7C.f[3])[kzero]; - f7_S = (D7C.f[4])[ks]; - f7_T = (D7C.f[5])[kzero]; - f7_B = (D7C.f[6])[kb]; - - Conc_C_NET = (D7C.f[0])[kzero]+(D7C.f[1])[kzero]+(D7C.f[2])[kw]+(D7C.f[3])[kzero]+(D7C.f[4])[ks]+(D7C.f[5])[kzero]+(D7C.f[6])[kb]; - - vx1 =f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2 =f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3 =f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - Mx =f7_E-f7_W; - My =f7_N-f7_S; - Mz =f7_T-f7_B; - - real Diff_Conc_X_CNET = (Conc_C_NET * vx1 - Mx) * (c3o1*omegaD_C) / (c1o1 + ae_C); - real Diff_Conc_Y_CNET = (Conc_C_NET * vx2 - My) * (c3o1*omegaD_C) / (c1o1 + ae_C); - real Diff_Conc_Z_CNET = (Conc_C_NET * vx3 - Mz) * (c3o1*omegaD_C) / (c1o1 + ae_C); - - ////////////////////////////////////////////////////////////////////////// - //NEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborCX[k0w]; - ks = k0sw; - ksw = neighborCX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - //f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - //////////////////////////////////////////////////////////////////////////////// - //f7_ZERO = (D7C.f[0])[kzero]; - f7_E = (D7C.f[1])[kzero]; - f7_W = (D7C.f[2])[kw]; - f7_N = (D7C.f[3])[kzero]; - f7_S = (D7C.f[4])[ks]; - f7_T = (D7C.f[5])[kzero]; - f7_B = (D7C.f[6])[kb]; - - Conc_C_NEB = (D7C.f[0])[kzero]+(D7C.f[1])[kzero]+(D7C.f[2])[kw]+(D7C.f[3])[kzero]+(D7C.f[4])[ks]+(D7C.f[5])[kzero]+(D7C.f[6])[kb]; - - vx1 =f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2 =f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3 =f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - Mx =f7_E-f7_W; - My =f7_N-f7_S; - Mz =f7_T-f7_B; - - real Diff_Conc_X_CNEB = (Conc_C_NEB * vx1 - Mx) * (c3o1*omegaD_C) / (c1o1 + ae_C); - real Diff_Conc_Y_CNEB = (Conc_C_NEB * vx2 - My) * (c3o1*omegaD_C) / (c1o1 + ae_C); - real Diff_Conc_Z_CNEB = (Conc_C_NEB * vx3 - Mz) * (c3o1*omegaD_C) / (c1o1 + ae_C); - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - //linear - //real Diff_Conc_XX = zero; - //real Diff_Conc_YY = zero; - //real Diff_Conc_ZZ = zero; - - //quadratic - real Diff_Conc_XX = ((Diff_Conc_X_CNEB + Diff_Conc_X_CSEB + Diff_Conc_X_CNET + Diff_Conc_X_CSET) - (Diff_Conc_X_CNWB + Diff_Conc_X_CSWB + Diff_Conc_X_CNWT + Diff_Conc_X_CSWT)) * 0.25f; - real Diff_Conc_YY = ((Diff_Conc_Y_CNEB + Diff_Conc_Y_CNWB + Diff_Conc_Y_CNET + Diff_Conc_Y_CNWT) - (Diff_Conc_Y_CSEB + Diff_Conc_Y_CSWB + Diff_Conc_Y_CSET + Diff_Conc_Y_CSWT)) * 0.25f; - real Diff_Conc_ZZ = ((Diff_Conc_Z_CSET + Diff_Conc_Z_CSWT + Diff_Conc_Z_CNET + Diff_Conc_Z_CNWT) - (Diff_Conc_Z_CSEB + Diff_Conc_Z_CSWB + Diff_Conc_Z_CNEB + Diff_Conc_Z_CNWB)) * 0.25f; - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //Position SWB -0.25, -0.25, -0.25 - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //x = -c1o4; - //y = -c1o4; - //z = -c1o4; - - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= posFSWB[k]; - k0w = neighborFX[k0zero]; - k0s = neighborFY[k0zero]; - k0b = neighborFZ[k0zero]; - k0sw = neighborFY[k0w]; - k0bw = neighborFZ[k0w]; - k0bs = neighborFZ[k0s]; - k0bsw = neighborFZ[k0sw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - vx1=feF[kzero]+fneF[kzero]+fseF[ks]+fteF[kzero]+fbeF[kb]-fwF[kw]-fnwF[kw]-fswF[ksw]-ftwF[kw]-fbwF[kbw]+ftneF[kzero]-ftswF[ksw]+ftseF[ks]-ftnwF[kw]+fbneF[kb]-fbswF[kbsw]+fbseF[kbs]-fbnwF[kbw]; - vx2=fnF[kzero]+fneF[kzero]+fnwF[kw]+ftnF[kzero]+fbnF[kb]-fsF[ks]-fseF[ks]-fswF[ksw]-ftsF[ks]-fbsF[kbs]+ftneF[kzero]-ftswF[ksw]-ftseF[ks]+ftnwF[kw]+fbneF[kb]-fbswF[kbsw]-fbseF[kbs]+fbnwF[kbw]; - vx3=ftF[kzero]+fteF[kzero]+ftwF[kw]+ftnF[kzero]+ftsF[ks]-fbF[kb]-fbeF[kb]-fbwF[kbw]-fbnF[kb]-fbsF[kbs]+ftneF[kzero]+ftswF[ksw]+ftseF[ks]+ftnwF[kw]-fbneF[kb]-fbswF[kbsw]-fbseF[kbs]-fbnwF[kbw]; - - Conc_F_SWB = c27o64 * Conc_C_SWB + c9o64 * (Conc_C_SWT+Conc_C_SEB+Conc_C_NWB) + c3o64 * (Conc_C_SET+Conc_C_NWT+Conc_C_NEB) + c1o64 * Conc_C_NET - c3o32 * (Diff_Conc_XX + Diff_Conc_YY + Diff_Conc_ZZ); - - real Diff_Conc_X_FSWB = c1o16 * (c9o1 * Conc_C_SEB - c9o1 * Conc_C_SWB + c3o1 * Conc_C_SET - c3o1 * Conc_C_SWT + c3o1 * Conc_C_NEB - c3o1 * Conc_C_NWB + c1o1 * Conc_C_NET - c1o1 * Conc_C_NWT) - c1o4 * Diff_Conc_XX; - real Diff_Conc_Y_FSWB = c1o16 * (c9o1 * Conc_C_NWB - c9o1 * Conc_C_SWB + c3o1 * Conc_C_NWT - c3o1 * Conc_C_SWT + c3o1 * Conc_C_NEB - c3o1 * Conc_C_SEB + c1o1 * Conc_C_NET - c1o1 * Conc_C_SET) - c1o4 * Diff_Conc_YY; - real Diff_Conc_Z_FSWB = c1o16 * (c9o1 * Conc_C_SWT - c9o1 * Conc_C_SWB + c3o1 * Conc_C_SET - c3o1 * Conc_C_SEB + c3o1 * Conc_C_NWT - c3o1 * Conc_C_NWB + c1o1 * Conc_C_NET - c1o1 * Conc_C_NEB) - c1o4 * Diff_Conc_ZZ; - - Mx = Conc_F_SWB*vx1-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_X_FSWB; - My = Conc_F_SWB*vx2-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Y_FSWB; - Mz = Conc_F_SWB*vx3-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Z_FSWB; - Mxx= Conc_F_SWB*((c1o1+ae)/c3o1+(vx1*vx1)); - Myy= Conc_F_SWB*((c1o1+ae)/c3o1+(vx2*vx2)); - Mzz= Conc_F_SWB*((c1o1+ae)/c3o1+(vx3*vx3)); - M0 = Conc_F_SWB; - - (D7F.f[0])[kzero] = M0-Mzz-Mxx-Myy; - (D7F.f[1])[kzero] = c1o2*Mx +c1o2*Mxx; - (D7F.f[2])[kw ] = c1o2*Mxx-c1o2*Mx; - (D7F.f[3])[kzero] = c1o2*My +c1o2*Myy; - (D7F.f[4])[ks ] = c1o2*Myy-c1o2*My; - (D7F.f[5])[kzero] = c1o2*Mzz+c1o2*Mz; - (D7F.f[6])[kb ] = -c1o2*Mz +c1o2*Mzz; - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //Position SWT -0.25, -0.25, 0.25 - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //x = -c1o4; - //y = -c1o4; - //z = c1o4; - //////////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - vx1=feF[kzero]+fneF[kzero]+fseF[ks]+fteF[kzero]+fbeF[kb]-fwF[kw]-fnwF[kw]-fswF[ksw]-ftwF[kw]-fbwF[kbw]+ftneF[kzero]-ftswF[ksw]+ftseF[ks]-ftnwF[kw]+fbneF[kb]-fbswF[kbsw]+fbseF[kbs]-fbnwF[kbw]; - vx2=fnF[kzero]+fneF[kzero]+fnwF[kw]+ftnF[kzero]+fbnF[kb]-fsF[ks]-fseF[ks]-fswF[ksw]-ftsF[ks]-fbsF[kbs]+ftneF[kzero]-ftswF[ksw]-ftseF[ks]+ftnwF[kw]+fbneF[kb]-fbswF[kbsw]-fbseF[kbs]+fbnwF[kbw]; - vx3=ftF[kzero]+fteF[kzero]+ftwF[kw]+ftnF[kzero]+ftsF[ks]-fbF[kb]-fbeF[kb]-fbwF[kbw]-fbnF[kb]-fbsF[kbs]+ftneF[kzero]+ftswF[ksw]+ftseF[ks]+ftnwF[kw]-fbneF[kb]-fbswF[kbsw]-fbseF[kbs]-fbnwF[kbw]; - - Conc_F_SWT = c27o64 * Conc_C_SWT + c9o64 * (Conc_C_SWB+Conc_C_SET+Conc_C_NWT) + c3o64 * (Conc_C_SEB+Conc_C_NWB+Conc_C_NET) + c1o64 * Conc_C_NEB - c3o32 * (Diff_Conc_XX + Diff_Conc_YY + Diff_Conc_ZZ); - - real Diff_Conc_X_FSWT = c1o16 * (c9o1 * Conc_C_SET - c9o1 * Conc_C_SWT + c3o1 * Conc_C_SEB - c3o1 * Conc_C_SWB + c3o1 * Conc_C_NET - c3o1 * Conc_C_NWT + c1o1 * Conc_C_NEB - c1o1 * Conc_C_NWB) - c1o4 * Diff_Conc_XX; - real Diff_Conc_Y_FSWT = c1o16 * (c9o1 * Conc_C_NWT - c9o1 * Conc_C_SWT + c3o1 * Conc_C_NWB - c3o1 * Conc_C_SWB + c3o1 * Conc_C_NET - c3o1 * Conc_C_SET + c1o1 * Conc_C_NEB - c1o1 * Conc_C_SEB) - c1o4 * Diff_Conc_YY; - real Diff_Conc_Z_FSWT = c1o16 * (c9o1 * Conc_C_SWT - c9o1 * Conc_C_SWB + c3o1 * Conc_C_SET - c3o1 * Conc_C_SEB + c3o1 * Conc_C_NWT - c3o1 * Conc_C_NWB + c1o1 * Conc_C_NET - c1o1 * Conc_C_NEB) + c1o4 * Diff_Conc_ZZ; - - Mx = Conc_F_SWT*vx1-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_X_FSWT; - My = Conc_F_SWT*vx2-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Y_FSWT; - Mz = Conc_F_SWT*vx3-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Z_FSWT; - Mxx= Conc_F_SWT*((c1o1+ae)/c3o1+(vx1*vx1)); - Myy= Conc_F_SWT*((c1o1+ae)/c3o1+(vx2*vx2)); - Mzz= Conc_F_SWT*((c1o1+ae)/c3o1+(vx3*vx3)); - M0 = Conc_F_SWT; - - (D7F.f[0])[kzero] = M0-Mzz-Mxx-Myy; - (D7F.f[1])[kzero] = c1o2*Mx +c1o2*Mxx; - (D7F.f[2])[kw ] = c1o2*Mxx-c1o2*Mx; - (D7F.f[3])[kzero] = c1o2*My +c1o2*Myy; - (D7F.f[4])[ks ] = c1o2*Myy-c1o2*My; - (D7F.f[5])[kzero] = c1o2*Mzz+c1o2*Mz; - (D7F.f[6])[kb ] = -c1o2*Mz +c1o2*Mzz; - - ////////////////////////////////////////////////////////////////////////// - //Position SET 0.25, -0.25, 0.25 - ////////////////////////////////////////////////////////////////////////// - //x = c1o4; - //y = -c1o4; - //z = c1o4; - - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - vx1=feF[kzero]+fneF[kzero]+fseF[ks]+fteF[kzero]+fbeF[kb]-fwF[kw]-fnwF[kw]-fswF[ksw]-ftwF[kw]-fbwF[kbw]+ftneF[kzero]-ftswF[ksw]+ftseF[ks]-ftnwF[kw]+fbneF[kb]-fbswF[kbsw]+fbseF[kbs]-fbnwF[kbw]; - vx2=fnF[kzero]+fneF[kzero]+fnwF[kw]+ftnF[kzero]+fbnF[kb]-fsF[ks]-fseF[ks]-fswF[ksw]-ftsF[ks]-fbsF[kbs]+ftneF[kzero]-ftswF[ksw]-ftseF[ks]+ftnwF[kw]+fbneF[kb]-fbswF[kbsw]-fbseF[kbs]+fbnwF[kbw]; - vx3=ftF[kzero]+fteF[kzero]+ftwF[kw]+ftnF[kzero]+ftsF[ks]-fbF[kb]-fbeF[kb]-fbwF[kbw]-fbnF[kb]-fbsF[kbs]+ftneF[kzero]+ftswF[ksw]+ftseF[ks]+ftnwF[kw]-fbneF[kb]-fbswF[kbsw]-fbseF[kbs]-fbnwF[kbw]; - - Conc_F_SET = c27o64 * Conc_C_SET + c9o64 * (Conc_C_SEB+Conc_C_SWT+Conc_C_NET) + c3o64 * (Conc_C_SWB+Conc_C_NEB+Conc_C_NWT) + c1o64 * Conc_C_NWB - c3o32 * (Diff_Conc_XX + Diff_Conc_YY + Diff_Conc_ZZ); - - real Diff_Conc_X_FSET = c1o16 * (c9o1 * Conc_C_SET - c9o1 * Conc_C_SWT + c3o1 * Conc_C_SEB - c3o1 * Conc_C_SWB + c3o1 * Conc_C_NET - c3o1 * Conc_C_NWT + c1o1 * Conc_C_NEB - c1o1 * Conc_C_NWB) + c1o4 * Diff_Conc_XX; - real Diff_Conc_Y_FSET = c1o16 * (c9o1 * Conc_C_NET - c9o1 * Conc_C_SET + c3o1 * Conc_C_NEB - c3o1 * Conc_C_SEB + c3o1 * Conc_C_NWT - c3o1 * Conc_C_SWT + c1o1 * Conc_C_NWB - c1o1 * Conc_C_SWB) - c1o4 * Diff_Conc_YY; - real Diff_Conc_Z_FSET = c1o16 * (c9o1 * Conc_C_SET - c9o1 * Conc_C_SEB + c3o1 * Conc_C_SWT - c3o1 * Conc_C_SWB + c3o1 * Conc_C_NET - c3o1 * Conc_C_NEB + c1o1 * Conc_C_NWT - c1o1 * Conc_C_NWB) + c1o4 * Diff_Conc_ZZ; - - Mx = Conc_F_SET*vx1-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_X_FSET; - My = Conc_F_SET*vx2-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Y_FSET; - Mz = Conc_F_SET*vx3-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Z_FSET; - Mxx= Conc_F_SET*((c1o1+ae)/c3o1+(vx1*vx1)); - Myy= Conc_F_SET*((c1o1+ae)/c3o1+(vx2*vx2)); - Mzz= Conc_F_SET*((c1o1+ae)/c3o1+(vx3*vx3)); - M0 = Conc_F_SET; - - (D7F.f[0])[kzero] = M0-Mzz-Mxx-Myy; - (D7F.f[1])[kzero] = c1o2*Mx +c1o2*Mxx; - (D7F.f[2])[kw ] = c1o2*Mxx-c1o2*Mx; - (D7F.f[3])[kzero] = c1o2*My +c1o2*Myy; - (D7F.f[4])[ks ] = c1o2*Myy-c1o2*My; - (D7F.f[5])[kzero] = c1o2*Mzz+c1o2*Mz; - (D7F.f[6])[kb ] = -c1o2*Mz +c1o2*Mzz; - - ////////////////////////////////////////////////////////////////////////// - //Position SEB 0.25, -0.25, -0.25 - ////////////////////////////////////////////////////////////////////////// - //x = c1o4; - //y = -c1o4; - //z = -c1o4; - - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - vx1=feF[kzero]+fneF[kzero]+fseF[ks]+fteF[kzero]+fbeF[kb]-fwF[kw]-fnwF[kw]-fswF[ksw]-ftwF[kw]-fbwF[kbw]+ftneF[kzero]-ftswF[ksw]+ftseF[ks]-ftnwF[kw]+fbneF[kb]-fbswF[kbsw]+fbseF[kbs]-fbnwF[kbw]; - vx2=fnF[kzero]+fneF[kzero]+fnwF[kw]+ftnF[kzero]+fbnF[kb]-fsF[ks]-fseF[ks]-fswF[ksw]-ftsF[ks]-fbsF[kbs]+ftneF[kzero]-ftswF[ksw]-ftseF[ks]+ftnwF[kw]+fbneF[kb]-fbswF[kbsw]-fbseF[kbs]+fbnwF[kbw]; - vx3=ftF[kzero]+fteF[kzero]+ftwF[kw]+ftnF[kzero]+ftsF[ks]-fbF[kb]-fbeF[kb]-fbwF[kbw]-fbnF[kb]-fbsF[kbs]+ftneF[kzero]+ftswF[ksw]+ftseF[ks]+ftnwF[kw]-fbneF[kb]-fbswF[kbsw]-fbseF[kbs]-fbnwF[kbw]; - - Conc_F_SEB = c27o64 * Conc_C_SEB + c9o64 * (Conc_C_SET+Conc_C_SWB+Conc_C_NEB) + c3o64 * (Conc_C_SWT+Conc_C_NET+Conc_C_NWB) + c1o64 * Conc_C_NWT - c3o32 * (Diff_Conc_XX + Diff_Conc_YY + Diff_Conc_ZZ); - - real Diff_Conc_X_FSEB = c1o16 * (c9o1 * Conc_C_SEB - c9o1 * Conc_C_SWB + c3o1 * Conc_C_SET - c3o1 * Conc_C_SWT + c3o1 * Conc_C_NEB - c3o1 * Conc_C_NWB + c1o1 * Conc_C_NET - c1o1 * Conc_C_NWT) + c1o4 * Diff_Conc_XX; - real Diff_Conc_Y_FSEB = c1o16 * (c9o1 * Conc_C_NEB - c9o1 * Conc_C_SEB + c3o1 * Conc_C_NET - c3o1 * Conc_C_SET + c3o1 * Conc_C_NWB - c3o1 * Conc_C_SWB + c1o1 * Conc_C_NWT - c1o1 * Conc_C_SWT) - c1o4 * Diff_Conc_YY; - real Diff_Conc_Z_FSEB = c1o16 * (c9o1 * Conc_C_SET - c9o1 * Conc_C_SEB + c3o1 * Conc_C_SWT - c3o1 * Conc_C_SWB + c3o1 * Conc_C_NET - c3o1 * Conc_C_NEB + c1o1 * Conc_C_NWT - c1o1 * Conc_C_NWB) - c1o4 * Diff_Conc_ZZ; - - Mx = Conc_F_SEB*vx1-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_X_FSEB; - My = Conc_F_SEB*vx2-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Y_FSEB; - Mz = Conc_F_SEB*vx3-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Z_FSEB; - Mxx= Conc_F_SEB*((c1o1+ae)/c3o1+(vx1*vx1)); - Myy= Conc_F_SEB*((c1o1+ae)/c3o1+(vx2*vx2)); - Mzz= Conc_F_SEB*((c1o1+ae)/c3o1+(vx3*vx3)); - M0 = Conc_F_SEB; - - (D7F.f[0])[kzero] = M0-Mzz-Mxx-Myy; - (D7F.f[1])[kzero] = c1o2*Mx +c1o2*Mxx; - (D7F.f[2])[kw ] = c1o2*Mxx-c1o2*Mx; - (D7F.f[3])[kzero] = c1o2*My +c1o2*Myy; - (D7F.f[4])[ks ] = c1o2*Myy-c1o2*My; - (D7F.f[5])[kzero] = c1o2*Mzz+c1o2*Mz; - (D7F.f[6])[kb ] = -c1o2*Mz +c1o2*Mzz; - - ////////////////////////////////////////////////////////////////////////// - //Position NWB -0.25, 0.25, -0.25 - ////////////////////////////////////////////////////////////////////////// - //x = -c1o4; - //y = c1o4; - //z = -c1o4; - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= k0s; - k0w = k0sw; - k0s = neighborFY[k0s]; - k0b = k0bs; - k0sw = neighborFY[k0sw]; - k0bw = k0bsw; - k0bs = neighborFY[k0bs]; - k0bsw = neighborFY[k0bsw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - vx1=feF[kzero]+fneF[kzero]+fseF[ks]+fteF[kzero]+fbeF[kb]-fwF[kw]-fnwF[kw]-fswF[ksw]-ftwF[kw]-fbwF[kbw]+ftneF[kzero]-ftswF[ksw]+ftseF[ks]-ftnwF[kw]+fbneF[kb]-fbswF[kbsw]+fbseF[kbs]-fbnwF[kbw]; - vx2=fnF[kzero]+fneF[kzero]+fnwF[kw]+ftnF[kzero]+fbnF[kb]-fsF[ks]-fseF[ks]-fswF[ksw]-ftsF[ks]-fbsF[kbs]+ftneF[kzero]-ftswF[ksw]-ftseF[ks]+ftnwF[kw]+fbneF[kb]-fbswF[kbsw]-fbseF[kbs]+fbnwF[kbw]; - vx3=ftF[kzero]+fteF[kzero]+ftwF[kw]+ftnF[kzero]+ftsF[ks]-fbF[kb]-fbeF[kb]-fbwF[kbw]-fbnF[kb]-fbsF[kbs]+ftneF[kzero]+ftswF[ksw]+ftseF[ks]+ftnwF[kw]-fbneF[kb]-fbswF[kbsw]-fbseF[kbs]-fbnwF[kbw]; - - Conc_F_NWB = c27o64 * Conc_C_NWB + c9o64 * (Conc_C_NWT+Conc_C_NEB+Conc_C_SWB) + c3o64 * (Conc_C_NET+Conc_C_SWT+Conc_C_SEB) + c1o64 * Conc_C_SET - c3o32 * (Diff_Conc_XX + Diff_Conc_YY + Diff_Conc_ZZ); - - real Diff_Conc_X_FNWB = c1o16 * (c9o1 * Conc_C_NEB - c9o1 * Conc_C_NWB + c3o1 * Conc_C_NET - c3o1 * Conc_C_NWT + c3o1 * Conc_C_SEB - c3o1 * Conc_C_SWB + c1o1 * Conc_C_SET - c1o1 * Conc_C_SWT) - c1o4 * Diff_Conc_XX; - real Diff_Conc_Y_FNWB = c1o16 * (c9o1 * Conc_C_NWB - c9o1 * Conc_C_SWB + c3o1 * Conc_C_NWT - c3o1 * Conc_C_SWT + c3o1 * Conc_C_NEB - c3o1 * Conc_C_SEB + c1o1 * Conc_C_NET - c1o1 * Conc_C_SET) + c1o4 * Diff_Conc_YY; - real Diff_Conc_Z_FNWB = c1o16 * (c9o1 * Conc_C_NWT - c9o1 * Conc_C_NWB + c3o1 * Conc_C_NET - c3o1 * Conc_C_NEB + c3o1 * Conc_C_SWT - c3o1 * Conc_C_SWB + c1o1 * Conc_C_SET - c1o1 * Conc_C_SEB) - c1o4 * Diff_Conc_ZZ; - - Mx = Conc_F_NWB*vx1-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_X_FNWB; - My = Conc_F_NWB*vx2-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Y_FNWB; - Mz = Conc_F_NWB*vx3-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Z_FNWB; - Mxx= Conc_F_NWB*((c1o1+ae)/c3o1+(vx1*vx1)); - Myy= Conc_F_NWB*((c1o1+ae)/c3o1+(vx2*vx2)); - Mzz= Conc_F_NWB*((c1o1+ae)/c3o1+(vx3*vx3)); - M0 = Conc_F_NWB; - - (D7F.f[0])[kzero] = M0-Mzz-Mxx-Myy; - (D7F.f[1])[kzero] = c1o2*Mx +c1o2*Mxx; - (D7F.f[2])[kw ] = c1o2*Mxx-c1o2*Mx; - (D7F.f[3])[kzero] = c1o2*My +c1o2*Myy; - (D7F.f[4])[ks ] = c1o2*Myy-c1o2*My; - (D7F.f[5])[kzero] = c1o2*Mzz+c1o2*Mz; - (D7F.f[6])[kb ] = -c1o2*Mz +c1o2*Mzz; - - ////////////////////////////////////////////////////////////////////////// - //Position NWT -0.25, 0.25, 0.25 - ////////////////////////////////////////////////////////////////////////// - //x = -c1o4; - //y = c1o4; - //z = c1o4; - - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - vx1=feF[kzero]+fneF[kzero]+fseF[ks]+fteF[kzero]+fbeF[kb]-fwF[kw]-fnwF[kw]-fswF[ksw]-ftwF[kw]-fbwF[kbw]+ftneF[kzero]-ftswF[ksw]+ftseF[ks]-ftnwF[kw]+fbneF[kb]-fbswF[kbsw]+fbseF[kbs]-fbnwF[kbw]; - vx2=fnF[kzero]+fneF[kzero]+fnwF[kw]+ftnF[kzero]+fbnF[kb]-fsF[ks]-fseF[ks]-fswF[ksw]-ftsF[ks]-fbsF[kbs]+ftneF[kzero]-ftswF[ksw]-ftseF[ks]+ftnwF[kw]+fbneF[kb]-fbswF[kbsw]-fbseF[kbs]+fbnwF[kbw]; - vx3=ftF[kzero]+fteF[kzero]+ftwF[kw]+ftnF[kzero]+ftsF[ks]-fbF[kb]-fbeF[kb]-fbwF[kbw]-fbnF[kb]-fbsF[kbs]+ftneF[kzero]+ftswF[ksw]+ftseF[ks]+ftnwF[kw]-fbneF[kb]-fbswF[kbsw]-fbseF[kbs]-fbnwF[kbw]; - - Conc_F_NWT = c27o64 * Conc_C_NWT + c9o64 * (Conc_C_NWB+Conc_C_NET+Conc_C_SWT) + c3o64 * (Conc_C_NEB+Conc_C_SWB+Conc_C_SET) + c1o64 * Conc_C_SEB - c3o32 * (Diff_Conc_XX + Diff_Conc_YY + Diff_Conc_ZZ); - - real Diff_Conc_X_FNWT = c1o16 * (c9o1 * Conc_C_NET - c9o1 * Conc_C_NWT + c3o1 * Conc_C_NEB - c3o1 * Conc_C_NWB + c3o1 * Conc_C_SET - c3o1 * Conc_C_SWT + c1o1 * Conc_C_SEB - c1o1 * Conc_C_SWB) - c1o4 * Diff_Conc_XX; - real Diff_Conc_Y_FNWT = c1o16 * (c9o1 * Conc_C_NWT - c9o1 * Conc_C_SWT + c3o1 * Conc_C_NWB - c3o1 * Conc_C_SWB + c3o1 * Conc_C_NET - c3o1 * Conc_C_SET + c1o1 * Conc_C_NEB - c1o1 * Conc_C_SEB) + c1o4 * Diff_Conc_YY; - real Diff_Conc_Z_FNWT = c1o16 * (c9o1 * Conc_C_NWT - c9o1 * Conc_C_NWB + c3o1 * Conc_C_NET - c3o1 * Conc_C_NEB + c3o1 * Conc_C_SWT - c3o1 * Conc_C_SWB + c1o1 * Conc_C_SET - c1o1 * Conc_C_SEB) + c1o4 * Diff_Conc_ZZ; - - Mx = Conc_F_NWT*vx1-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_X_FNWT; - My = Conc_F_NWT*vx2-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Y_FNWT; - Mz = Conc_F_NWT*vx3-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Z_FNWT; - Mxx= Conc_F_NWT*((c1o1+ae)/c3o1+(vx1*vx1)); - Myy= Conc_F_NWT*((c1o1+ae)/c3o1+(vx2*vx2)); - Mzz= Conc_F_NWT*((c1o1+ae)/c3o1+(vx3*vx3)); - M0 = Conc_F_NWT; - - (D7F.f[0])[kzero] = M0-Mzz-Mxx-Myy; - (D7F.f[1])[kzero] = c1o2*Mx +c1o2*Mxx; - (D7F.f[2])[kw ] = c1o2*Mxx-c1o2*Mx; - (D7F.f[3])[kzero] = c1o2*My +c1o2*Myy; - (D7F.f[4])[ks ] = c1o2*Myy-c1o2*My; - (D7F.f[5])[kzero] = c1o2*Mzz+c1o2*Mz; - (D7F.f[6])[kb ] = -c1o2*Mz +c1o2*Mzz; - - //////////////////////////////////////////////////////////////////////////////// - //Position NET 0.25, 0.25, 0.25 - //////////////////////////////////////////////////////////////////////////////// - //x = c1o4; - //y = c1o4; - //z = c1o4; - - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - vx1=feF[kzero]+fneF[kzero]+fseF[ks]+fteF[kzero]+fbeF[kb]-fwF[kw]-fnwF[kw]-fswF[ksw]-ftwF[kw]-fbwF[kbw]+ftneF[kzero]-ftswF[ksw]+ftseF[ks]-ftnwF[kw]+fbneF[kb]-fbswF[kbsw]+fbseF[kbs]-fbnwF[kbw]; - vx2=fnF[kzero]+fneF[kzero]+fnwF[kw]+ftnF[kzero]+fbnF[kb]-fsF[ks]-fseF[ks]-fswF[ksw]-ftsF[ks]-fbsF[kbs]+ftneF[kzero]-ftswF[ksw]-ftseF[ks]+ftnwF[kw]+fbneF[kb]-fbswF[kbsw]-fbseF[kbs]+fbnwF[kbw]; - vx3=ftF[kzero]+fteF[kzero]+ftwF[kw]+ftnF[kzero]+ftsF[ks]-fbF[kb]-fbeF[kb]-fbwF[kbw]-fbnF[kb]-fbsF[kbs]+ftneF[kzero]+ftswF[ksw]+ftseF[ks]+ftnwF[kw]-fbneF[kb]-fbswF[kbsw]-fbseF[kbs]-fbnwF[kbw]; - - Conc_F_NET = c27o64 * Conc_C_NET + c9o64 * (Conc_C_NEB+Conc_C_NWT+Conc_C_SET) + c3o64 * (Conc_C_NWB+Conc_C_SEB+Conc_C_SWT) + c1o64 * Conc_C_SWB - c3o32 * (Diff_Conc_XX + Diff_Conc_YY + Diff_Conc_ZZ); - - real Diff_Conc_X_FNET = c1o16 * (c9o1 * Conc_C_NET - c9o1 * Conc_C_NWT + c3o1 * Conc_C_NEB - c3o1 * Conc_C_NWB + c3o1 * Conc_C_SET - c3o1 * Conc_C_SWT + c1o1 * Conc_C_SEB - c1o1 * Conc_C_SWB) + c1o4 * Diff_Conc_XX; - real Diff_Conc_Y_FNET = c1o16 * (c9o1 * Conc_C_NET - c9o1 * Conc_C_SET + c3o1 * Conc_C_NEB - c3o1 * Conc_C_SEB + c3o1 * Conc_C_NWT - c3o1 * Conc_C_SWT + c1o1 * Conc_C_NWB - c1o1 * Conc_C_SWB) + c1o4 * Diff_Conc_YY; - real Diff_Conc_Z_FNET = c1o16 * (c9o1 * Conc_C_NET - c9o1 * Conc_C_NEB + c3o1 * Conc_C_NWT - c3o1 * Conc_C_NWB + c3o1 * Conc_C_SET - c3o1 * Conc_C_SEB + c1o1 * Conc_C_SWT - c1o1 * Conc_C_SWB) + c1o4 * Diff_Conc_ZZ; - - Mx = Conc_F_NET*vx1-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_X_FNET; - My = Conc_F_NET*vx2-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Y_FNET; - Mz = Conc_F_NET*vx3-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Z_FNET; - Mxx= Conc_F_NET*((c1o1+ae)/c3o1+(vx1*vx1)); - Myy= Conc_F_NET*((c1o1+ae)/c3o1+(vx2*vx2)); - Mzz= Conc_F_NET*((c1o1+ae)/c3o1+(vx3*vx3)); - M0 = Conc_F_NET; - - (D7F.f[0])[kzero] = M0-Mzz-Mxx-Myy; - (D7F.f[1])[kzero] = c1o2*Mx +c1o2*Mxx; - (D7F.f[2])[kw ] = c1o2*Mxx-c1o2*Mx; - (D7F.f[3])[kzero] = c1o2*My +c1o2*Myy; - (D7F.f[4])[ks ] = c1o2*Myy-c1o2*My; - (D7F.f[5])[kzero] = c1o2*Mzz+c1o2*Mz; - (D7F.f[6])[kb ] = -c1o2*Mz +c1o2*Mzz; - - //////////////////////////////////////////////////////////////////////////////// - //Position NEB 0.25, 0.25, -0.25 - //////////////////////////////////////////////////////////////////////////////// - //x = c1o4; - //y = c1o4; - //z = -c1o4; - - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - vx1=feF[kzero]+fneF[kzero]+fseF[ks]+fteF[kzero]+fbeF[kb]-fwF[kw]-fnwF[kw]-fswF[ksw]-ftwF[kw]-fbwF[kbw]+ftneF[kzero]-ftswF[ksw]+ftseF[ks]-ftnwF[kw]+fbneF[kb]-fbswF[kbsw]+fbseF[kbs]-fbnwF[kbw]; - vx2=fnF[kzero]+fneF[kzero]+fnwF[kw]+ftnF[kzero]+fbnF[kb]-fsF[ks]-fseF[ks]-fswF[ksw]-ftsF[ks]-fbsF[kbs]+ftneF[kzero]-ftswF[ksw]-ftseF[ks]+ftnwF[kw]+fbneF[kb]-fbswF[kbsw]-fbseF[kbs]+fbnwF[kbw]; - vx3=ftF[kzero]+fteF[kzero]+ftwF[kw]+ftnF[kzero]+ftsF[ks]-fbF[kb]-fbeF[kb]-fbwF[kbw]-fbnF[kb]-fbsF[kbs]+ftneF[kzero]+ftswF[ksw]+ftseF[ks]+ftnwF[kw]-fbneF[kb]-fbswF[kbsw]-fbseF[kbs]-fbnwF[kbw]; - - Conc_F_NEB = c27o64 * Conc_C_NEB + c9o64 * (Conc_C_NET+Conc_C_NWB+Conc_C_SEB) + c3o64 * (Conc_C_NWT+Conc_C_SET+Conc_C_SWB) + c1o64 * Conc_C_SWT - c3o32 * (Diff_Conc_XX + Diff_Conc_YY + Diff_Conc_ZZ); - - real Diff_Conc_X_FNEB = c1o16 * (c9o1 * Conc_C_NEB - c9o1 * Conc_C_NWB + c3o1 * Conc_C_NET - c3o1 * Conc_C_NWT + c3o1 * Conc_C_SEB - c3o1 * Conc_C_SWB + c1o1 * Conc_C_SET - c1o1 * Conc_C_SWT) + c1o4 * Diff_Conc_XX; - real Diff_Conc_Y_FNEB = c1o16 * (c9o1 * Conc_C_NEB - c9o1 * Conc_C_SEB + c3o1 * Conc_C_NET - c3o1 * Conc_C_SET + c3o1 * Conc_C_NWB - c3o1 * Conc_C_SWB + c1o1 * Conc_C_NWT - c1o1 * Conc_C_SWT) + c1o4 * Diff_Conc_YY; - real Diff_Conc_Z_FNEB = c1o16 * (c9o1 * Conc_C_NET - c9o1 * Conc_C_NEB + c3o1 * Conc_C_NWT - c3o1 * Conc_C_NWB + c3o1 * Conc_C_SET - c3o1 * Conc_C_SEB + c1o1 * Conc_C_SWT - c1o1 * Conc_C_SWB) - c1o4 * Diff_Conc_ZZ; - - Mx = Conc_F_NEB*vx1-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_X_FNEB; - My = Conc_F_NEB*vx2-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Y_FNEB; - Mz = Conc_F_NEB*vx3-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Z_FNEB; - Mxx= Conc_F_NEB*((c1o1+ae)/c3o1+(vx1*vx1)); - Myy= Conc_F_NEB*((c1o1+ae)/c3o1+(vx2*vx2)); - Mzz= Conc_F_NEB*((c1o1+ae)/c3o1+(vx3*vx3)); - M0 = Conc_F_NEB; - - (D7F.f[0])[kzero] = M0-Mzz-Mxx-Myy; - (D7F.f[1])[kzero] = c1o2*Mx +c1o2*Mxx; - (D7F.f[2])[kw ] = c1o2*Mxx-c1o2*Mx; - (D7F.f[3])[kzero] = c1o2*My +c1o2*Myy; - (D7F.f[4])[ks ] = c1o2*Myy-c1o2*My; - (D7F.f[5])[kzero] = c1o2*Mzz+c1o2*Mz; - (D7F.f[6])[kb ] = -c1o2*Mz +c1o2*Mzz; - - } -} -////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -////////////////////////////////////////////////////////////////////////// -__global__ void scaleCFThS27( real* DC, - real* DF, - real* DD27C, - real* DD27F, - unsigned int* neighborCX, - unsigned int* neighborCY, - unsigned int* neighborCZ, - unsigned int* neighborFX, - unsigned int* neighborFY, - unsigned int* neighborFZ, - unsigned long long numberOfLBnodesCoarse, - unsigned long long numberOfLBnodesFine, - bool isEvenTimestep, - unsigned int* posCSWB, - unsigned int* posFSWB, - unsigned int kCF, - real nu, - real diffusivity_fine, - ICellNeigh offCF) -{ - real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, /**fzeroF,*/ *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - - feF = &DF[dP00 * numberOfLBnodesFine]; - fwF = &DF[dM00 * numberOfLBnodesFine]; - fnF = &DF[d0P0 * numberOfLBnodesFine]; - fsF = &DF[d0M0 * numberOfLBnodesFine]; - ftF = &DF[d00P * numberOfLBnodesFine]; - fbF = &DF[d00M * numberOfLBnodesFine]; - fneF = &DF[dPP0 * numberOfLBnodesFine]; - fswF = &DF[dMM0 * numberOfLBnodesFine]; - fseF = &DF[dPM0 * numberOfLBnodesFine]; - fnwF = &DF[dMP0 * numberOfLBnodesFine]; - fteF = &DF[dP0P * numberOfLBnodesFine]; - fbwF = &DF[dM0M * numberOfLBnodesFine]; - fbeF = &DF[dP0M * numberOfLBnodesFine]; - ftwF = &DF[dM0P * numberOfLBnodesFine]; - ftnF = &DF[d0PP * numberOfLBnodesFine]; - fbsF = &DF[d0MM * numberOfLBnodesFine]; - fbnF = &DF[d0PM * numberOfLBnodesFine]; - ftsF = &DF[d0MP * numberOfLBnodesFine]; - //fzeroF = &DF[d000 * size_MatF]; - ftneF = &DF[dPPP * numberOfLBnodesFine]; - ftswF = &DF[dMMP * numberOfLBnodesFine]; - ftseF = &DF[dPMP * numberOfLBnodesFine]; - ftnwF = &DF[dMPP * numberOfLBnodesFine]; - fbneF = &DF[dPPM * numberOfLBnodesFine]; - fbswF = &DF[dMMM * numberOfLBnodesFine]; - fbseF = &DF[dPMM * numberOfLBnodesFine]; - fbnwF = &DF[dMPM * numberOfLBnodesFine]; - - real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, //*fzeroC, - *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; - - if (isEvenTimestep==true) - { - feC = &DC[dP00 * numberOfLBnodesCoarse]; - fwC = &DC[dM00 * numberOfLBnodesCoarse]; - fnC = &DC[d0P0 * numberOfLBnodesCoarse]; - fsC = &DC[d0M0 * numberOfLBnodesCoarse]; - ftC = &DC[d00P * numberOfLBnodesCoarse]; - fbC = &DC[d00M * numberOfLBnodesCoarse]; - fneC = &DC[dPP0 * numberOfLBnodesCoarse]; - fswC = &DC[dMM0 * numberOfLBnodesCoarse]; - fseC = &DC[dPM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dMP0 * numberOfLBnodesCoarse]; - fteC = &DC[dP0P * numberOfLBnodesCoarse]; - fbwC = &DC[dM0M * numberOfLBnodesCoarse]; - fbeC = &DC[dP0M * numberOfLBnodesCoarse]; - ftwC = &DC[dM0P * numberOfLBnodesCoarse]; - ftnC = &DC[d0PP * numberOfLBnodesCoarse]; - fbsC = &DC[d0MM * numberOfLBnodesCoarse]; - fbnC = &DC[d0PM * numberOfLBnodesCoarse]; - ftsC = &DC[d0MP * numberOfLBnodesCoarse]; - //fzeroC = &DC[d000 * size_MatC]; - ftneC = &DC[dPPP * numberOfLBnodesCoarse]; - ftswC = &DC[dMMP * numberOfLBnodesCoarse]; - ftseC = &DC[dPMP * numberOfLBnodesCoarse]; - ftnwC = &DC[dMPP * numberOfLBnodesCoarse]; - fbneC = &DC[dPPM * numberOfLBnodesCoarse]; - fbswC = &DC[dMMM * numberOfLBnodesCoarse]; - fbseC = &DC[dPMM * numberOfLBnodesCoarse]; - fbnwC = &DC[dMPM * numberOfLBnodesCoarse]; - } - else - { - fwC = &DC[dP00 * numberOfLBnodesCoarse]; - feC = &DC[dM00 * numberOfLBnodesCoarse]; - fsC = &DC[d0P0 * numberOfLBnodesCoarse]; - fnC = &DC[d0M0 * numberOfLBnodesCoarse]; - fbC = &DC[d00P * numberOfLBnodesCoarse]; - ftC = &DC[d00M * numberOfLBnodesCoarse]; - fswC = &DC[dPP0 * numberOfLBnodesCoarse]; - fneC = &DC[dMM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dPM0 * numberOfLBnodesCoarse]; - fseC = &DC[dMP0 * numberOfLBnodesCoarse]; - fbwC = &DC[dP0P * numberOfLBnodesCoarse]; - fteC = &DC[dM0M * numberOfLBnodesCoarse]; - ftwC = &DC[dP0M * numberOfLBnodesCoarse]; - fbeC = &DC[dM0P * numberOfLBnodesCoarse]; - fbsC = &DC[d0PP * numberOfLBnodesCoarse]; - ftnC = &DC[d0MM * numberOfLBnodesCoarse]; - ftsC = &DC[d0PM * numberOfLBnodesCoarse]; - fbnC = &DC[d0MP * numberOfLBnodesCoarse]; - //fzeroC = &DC[d000 * size_MatC]; - fbswC = &DC[dPPP * numberOfLBnodesCoarse]; - fbneC = &DC[dMMP * numberOfLBnodesCoarse]; - fbnwC = &DC[dPMP * numberOfLBnodesCoarse]; - fbseC = &DC[dMPP * numberOfLBnodesCoarse]; - ftswC = &DC[dPPM * numberOfLBnodesCoarse]; - ftneC = &DC[dMMM * numberOfLBnodesCoarse]; - ftnwC = &DC[dPMM * numberOfLBnodesCoarse]; - ftseC = &DC[dMPM * numberOfLBnodesCoarse]; - } - - - Distributions27 D27F; - D27F.f[dP00] = &DD27F[dP00 * numberOfLBnodesFine]; - D27F.f[dM00] = &DD27F[dM00 * numberOfLBnodesFine]; - D27F.f[d0P0] = &DD27F[d0P0 * numberOfLBnodesFine]; - D27F.f[d0M0] = &DD27F[d0M0 * numberOfLBnodesFine]; - D27F.f[d00P] = &DD27F[d00P * numberOfLBnodesFine]; - D27F.f[d00M] = &DD27F[d00M * numberOfLBnodesFine]; - D27F.f[dPP0] = &DD27F[dPP0 * numberOfLBnodesFine]; - D27F.f[dMM0] = &DD27F[dMM0 * numberOfLBnodesFine]; - D27F.f[dPM0] = &DD27F[dPM0 * numberOfLBnodesFine]; - D27F.f[dMP0] = &DD27F[dMP0 * numberOfLBnodesFine]; - D27F.f[dP0P] = &DD27F[dP0P * numberOfLBnodesFine]; - D27F.f[dM0M] = &DD27F[dM0M * numberOfLBnodesFine]; - D27F.f[dP0M] = &DD27F[dP0M * numberOfLBnodesFine]; - D27F.f[dM0P] = &DD27F[dM0P * numberOfLBnodesFine]; - D27F.f[d0PP] = &DD27F[d0PP * numberOfLBnodesFine]; - D27F.f[d0MM] = &DD27F[d0MM * numberOfLBnodesFine]; - D27F.f[d0PM] = &DD27F[d0PM * numberOfLBnodesFine]; - D27F.f[d0MP] = &DD27F[d0MP * numberOfLBnodesFine]; - D27F.f[d000] = &DD27F[d000 * numberOfLBnodesFine]; - D27F.f[dPPP] = &DD27F[dPPP * numberOfLBnodesFine]; - D27F.f[dMMP] = &DD27F[dMMP * numberOfLBnodesFine]; - D27F.f[dPMP] = &DD27F[dPMP * numberOfLBnodesFine]; - D27F.f[dMPP] = &DD27F[dMPP * numberOfLBnodesFine]; - D27F.f[dPPM] = &DD27F[dPPM * numberOfLBnodesFine]; - D27F.f[dMMM] = &DD27F[dMMM * numberOfLBnodesFine]; - D27F.f[dPMM] = &DD27F[dPMM * numberOfLBnodesFine]; - D27F.f[dMPM] = &DD27F[dMPM * numberOfLBnodesFine]; - - Distributions27 D27C; - if (isEvenTimestep==true) - { - D27C.f[dP00] = &DD27C[dP00 * numberOfLBnodesCoarse]; - D27C.f[dM00] = &DD27C[dM00 * numberOfLBnodesCoarse]; - D27C.f[d0P0] = &DD27C[d0P0 * numberOfLBnodesCoarse]; - D27C.f[d0M0] = &DD27C[d0M0 * numberOfLBnodesCoarse]; - D27C.f[d00P] = &DD27C[d00P * numberOfLBnodesCoarse]; - D27C.f[d00M] = &DD27C[d00M * numberOfLBnodesCoarse]; - D27C.f[dPP0] = &DD27C[dPP0 * numberOfLBnodesCoarse]; - D27C.f[dMM0] = &DD27C[dMM0 * numberOfLBnodesCoarse]; - D27C.f[dPM0] = &DD27C[dPM0 * numberOfLBnodesCoarse]; - D27C.f[dMP0] = &DD27C[dMP0 * numberOfLBnodesCoarse]; - D27C.f[dP0P] = &DD27C[dP0P * numberOfLBnodesCoarse]; - D27C.f[dM0M] = &DD27C[dM0M * numberOfLBnodesCoarse]; - D27C.f[dP0M] = &DD27C[dP0M * numberOfLBnodesCoarse]; - D27C.f[dM0P] = &DD27C[dM0P * numberOfLBnodesCoarse]; - D27C.f[d0PP] = &DD27C[d0PP * numberOfLBnodesCoarse]; - D27C.f[d0MM] = &DD27C[d0MM * numberOfLBnodesCoarse]; - D27C.f[d0PM] = &DD27C[d0PM * numberOfLBnodesCoarse]; - D27C.f[d0MP] = &DD27C[d0MP * numberOfLBnodesCoarse]; - D27C.f[d000] = &DD27C[d000 * numberOfLBnodesCoarse]; - D27C.f[dPPP] = &DD27C[dPPP * numberOfLBnodesCoarse]; - D27C.f[dMMP] = &DD27C[dMMP * numberOfLBnodesCoarse]; - D27C.f[dPMP] = &DD27C[dPMP * numberOfLBnodesCoarse]; - D27C.f[dMPP] = &DD27C[dMPP * numberOfLBnodesCoarse]; - D27C.f[dPPM] = &DD27C[dPPM * numberOfLBnodesCoarse]; - D27C.f[dMMM] = &DD27C[dMMM * numberOfLBnodesCoarse]; - D27C.f[dPMM] = &DD27C[dPMM * numberOfLBnodesCoarse]; - D27C.f[dMPM] = &DD27C[dMPM * numberOfLBnodesCoarse]; - } - else - { - D27C.f[dM00] = &DD27C[dP00 * numberOfLBnodesCoarse]; - D27C.f[dP00] = &DD27C[dM00 * numberOfLBnodesCoarse]; - D27C.f[d0M0] = &DD27C[d0P0 * numberOfLBnodesCoarse]; - D27C.f[d0P0] = &DD27C[d0M0 * numberOfLBnodesCoarse]; - D27C.f[d00M] = &DD27C[d00P * numberOfLBnodesCoarse]; - D27C.f[d00P] = &DD27C[d00M * numberOfLBnodesCoarse]; - D27C.f[dMM0] = &DD27C[dPP0 * numberOfLBnodesCoarse]; - D27C.f[dPP0] = &DD27C[dMM0 * numberOfLBnodesCoarse]; - D27C.f[dMP0] = &DD27C[dPM0 * numberOfLBnodesCoarse]; - D27C.f[dPM0] = &DD27C[dMP0 * numberOfLBnodesCoarse]; - D27C.f[dM0M] = &DD27C[dP0P * numberOfLBnodesCoarse]; - D27C.f[dP0P] = &DD27C[dM0M * numberOfLBnodesCoarse]; - D27C.f[dM0P] = &DD27C[dP0M * numberOfLBnodesCoarse]; - D27C.f[dP0M] = &DD27C[dM0P * numberOfLBnodesCoarse]; - D27C.f[d0MM] = &DD27C[d0PP * numberOfLBnodesCoarse]; - D27C.f[d0PP] = &DD27C[d0MM * numberOfLBnodesCoarse]; - D27C.f[d0MP] = &DD27C[d0PM * numberOfLBnodesCoarse]; - D27C.f[d0PM] = &DD27C[d0MP * numberOfLBnodesCoarse]; - D27C.f[d000] = &DD27C[d000 * numberOfLBnodesCoarse]; - D27C.f[dMMM] = &DD27C[dPPP * numberOfLBnodesCoarse]; - D27C.f[dPPM] = &DD27C[dMMP * numberOfLBnodesCoarse]; - D27C.f[dMPM] = &DD27C[dPMP * numberOfLBnodesCoarse]; - D27C.f[dPMM] = &DD27C[dMPP * numberOfLBnodesCoarse]; - D27C.f[dMMP] = &DD27C[dPPM * numberOfLBnodesCoarse]; - D27C.f[dPPP] = &DD27C[dMMM * numberOfLBnodesCoarse]; - D27C.f[dMPP] = &DD27C[dPMM * numberOfLBnodesCoarse]; - D27C.f[dPMP] = &DD27C[dMPM * numberOfLBnodesCoarse]; - } - - //////////////////////////////////////////////////////////////////////////////// - const unsigned ix = threadIdx.x; // Globaler x-Index - const unsigned iy = blockIdx.x; // Globaler y-Index - const unsigned iz = blockIdx.y; // Globaler z-Index - - const unsigned nx = blockDim.x; - const unsigned ny = gridDim.x; - - const unsigned k = nx*(ny*iz + iy) + ix; - ////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////// - real /*drho,*/vx1,vx2,vx3, cu_sq; - real f_E,f_W,f_N,f_S,f_T,f_B,f_NE,f_SW,f_SE,f_NW,f_TE,f_BW,f_BE,f_TW,f_TN,f_BS,f_BN,f_TS/*,f_ZERO*/,f_TNE, f_TSW, f_TSE, f_TNW, f_BNE, f_BSW, f_BSE, f_BNW; - - //real x,y,z; - real f27E,f27W,f27N,f27S,f27T,f27B,f27NE,f27SW,f27SE,f27NW,f27TE,f27BW,f27BE,f27TW,f27TN,f27BS,f27BN,f27TS,f27ZERO,f27TNE,f27TSW,f27TSE,f27TNW,f27BNE,f27BSW,f27BSE,f27BNW; - real Mx,My,Mz/*,Mxx,Myy,Mzz,M0*/; - real Conc_C_SWB, Conc_C_SWT, Conc_C_SET, Conc_C_SEB, Conc_C_NWB, Conc_C_NWT, Conc_C_NET, Conc_C_NEB; - //real Conc_F_SWB, Conc_F_SWT, Conc_F_SET, Conc_F_SEB, Conc_F_NWB, Conc_F_NWT, Conc_F_NET, Conc_F_NEB; - - real omegaD_C = c2o1 / (c6o1 * diffusivity_fine/c2o1 + c1o1); - real omegaD_F = c2o1 / (c6o1 * diffusivity_fine + c1o1); - //real omegaD = -three + sqrt(three); - //real Lam = -(c1o2+one/omegaD); - //real nue_d = Lam/three; - //real ae = zero; - //real ae_C = zero; - //real ae = diffusivity_fine/nue_d - one; - //real ae_C = (diffusivity_fine/two)/nue_d - one; - - //real ux_sq, uy_sq, uz_sq; - - real x, y, z; - real xoff, yoff, zoff; - real xoff_sq, yoff_sq, zoff_sq; - - if(k<kCF) - { - ////////////////////////////////////////////////////////////////////////// - xoff = offCF.x[k]; - yoff = offCF.y[k]; - zoff = offCF.z[k]; - xoff_sq = xoff * xoff; - yoff_sq = yoff * yoff; - zoff_sq = zoff * zoff; - ////////////////////////////////////////////////////////////////////////// - //SWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - unsigned int k0zero= posCSWB[k]; - unsigned int k0w = neighborCX[k0zero]; - unsigned int k0s = neighborCY[k0zero]; - unsigned int k0b = neighborCZ[k0zero]; - unsigned int k0sw = neighborCY[k0w]; - unsigned int k0bw = neighborCZ[k0w]; - unsigned int k0bs = neighborCZ[k0s]; - unsigned int k0bsw = neighborCZ[k0sw]; - ////////////////////////////////////////////////////////////////////////// - //index - unsigned int kzero= k0zero; - unsigned int kw = k0w; - unsigned int ks = k0s; - unsigned int kb = k0b; - unsigned int ksw = k0sw; - unsigned int kbw = k0bw; - unsigned int kbs = k0bs; - unsigned int kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - //f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - ////////////////////////////////////////////////////////////////////////////////// - f27E = (D27C.f[dP00])[kzero];//ke - f27W = (D27C.f[dM00])[kw ]; - f27N = (D27C.f[d0P0])[kzero];//kn - f27S = (D27C.f[d0M0])[ks ]; - f27T = (D27C.f[d00P])[kzero];//kt - f27B = (D27C.f[d00M])[kb ]; - f27NE = (D27C.f[dPP0])[kzero];//kne - f27SW = (D27C.f[dMM0])[ksw ]; - f27SE = (D27C.f[dPM0])[ks ];//kse - f27NW = (D27C.f[dMP0])[kw ];//knw - f27TE = (D27C.f[dP0P])[kzero];//kte - f27BW = (D27C.f[dM0M])[kbw ]; - f27BE = (D27C.f[dP0M])[kb ];//kbe - f27TW = (D27C.f[dM0P])[kw ];//ktw - f27TN = (D27C.f[d0PP])[kzero];//ktn - f27BS = (D27C.f[d0MM])[kbs ]; - f27BN = (D27C.f[d0PM])[kb ];//kbn - f27TS = (D27C.f[d0MP])[ks ];//kts - f27ZERO = (D27C.f[d000])[kzero];//kzero - f27TNE = (D27C.f[dPPP])[kzero];//ktne - f27TSW = (D27C.f[dMMP])[ksw ];//ktsw - f27TSE = (D27C.f[dPMP])[ks ];//ktse - f27TNW = (D27C.f[dMPP])[kw ];//ktnw - f27BNE = (D27C.f[dPPM])[kb ];//kbne - f27BSW = (D27C.f[dMMM])[kbsw ]; - f27BSE = (D27C.f[dPMM])[kbs ];//kbse - f27BNW = (D27C.f[dMPM])[kbw ];//kbnw - - Conc_C_SWB = f27E + f27W + f27N + f27S + f27T + f27B + f27NE + f27SW + f27SE + f27NW + - f27TE + f27BW + f27BE + f27TW + f27TN + f27BS + f27BN + f27TS + f27ZERO + - f27TNE + f27TSW + f27TSE + f27TNW + f27BNE + f27BSW + f27BSE + f27BNW; - - vx1 =f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2 =f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3 =f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - Mx =f27E+f27NE+f27SE+f27TE+f27BE-f27W-f27NW-f27SW-f27TW-f27BW+f27TNE-f27TSW+f27TSE-f27TNW+f27BNE-f27BSW+f27BSE-f27BNW; - My =f27N+f27NE+f27NW+f27TN+f27BN-f27S-f27SE-f27SW-f27TS-f27BS+f27TNE-f27TSW-f27TSE+f27TNW+f27BNE-f27BSW-f27BSE+f27BNW; - Mz =f27T+f27TE+f27TW+f27TN+f27TS-f27B-f27BE-f27BW-f27BN-f27BS+f27TNE+f27TSW+f27TSE+f27TNW-f27BNE-f27BSW-f27BSE-f27BNW; - - real Diff_Conc_X_CSWB = (Conc_C_SWB * vx1 - Mx) * (c3o1*omegaD_C); - real Diff_Conc_Y_CSWB = (Conc_C_SWB * vx2 - My) * (c3o1*omegaD_C); - real Diff_Conc_Z_CSWB = (Conc_C_SWB * vx3 - Mz) * (c3o1*omegaD_C); - - - - - ////////////////////////////////////////////////////////////////////////// - //SWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborCZ[kb]; - ksw = kbsw; - kbw = neighborCZ[kbw]; - kbs = neighborCZ[kbs]; - kbsw = neighborCZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - //f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - ////////////////////////////////////////////////////////////////////////////////// - f27E = (D27C.f[dP00])[kzero];//ke - f27W = (D27C.f[dM00])[kw ]; - f27N = (D27C.f[d0P0])[kzero];//kn - f27S = (D27C.f[d0M0])[ks ]; - f27T = (D27C.f[d00P])[kzero];//kt - f27B = (D27C.f[d00M])[kb ]; - f27NE = (D27C.f[dPP0])[kzero];//kne - f27SW = (D27C.f[dMM0])[ksw ]; - f27SE = (D27C.f[dPM0])[ks ];//kse - f27NW = (D27C.f[dMP0])[kw ];//knw - f27TE = (D27C.f[dP0P])[kzero];//kte - f27BW = (D27C.f[dM0M])[kbw ]; - f27BE = (D27C.f[dP0M])[kb ];//kbe - f27TW = (D27C.f[dM0P])[kw ];//ktw - f27TN = (D27C.f[d0PP])[kzero];//ktn - f27BS = (D27C.f[d0MM])[kbs ]; - f27BN = (D27C.f[d0PM])[kb ];//kbn - f27TS = (D27C.f[d0MP])[ks ];//kts - f27ZERO = (D27C.f[d000])[kzero];//kzero - f27TNE = (D27C.f[dPPP])[kzero];//ktne - f27TSW = (D27C.f[dMMP])[ksw ];//ktsw - f27TSE = (D27C.f[dPMP])[ks ];//ktse - f27TNW = (D27C.f[dMPP])[kw ];//ktnw - f27BNE = (D27C.f[dPPM])[kb ];//kbne - f27BSW = (D27C.f[dMMM])[kbsw ]; - f27BSE = (D27C.f[dPMM])[kbs ];//kbse - f27BNW = (D27C.f[dMPM])[kbw ];//kbnw - - Conc_C_SWT = f27E + f27W + f27N + f27S + f27T + f27B + f27NE + f27SW + f27SE + f27NW + - f27TE + f27BW + f27BE + f27TW + f27TN + f27BS + f27BN + f27TS + f27ZERO + - f27TNE + f27TSW + f27TSE + f27TNW + f27BNE + f27BSW + f27BSE + f27BNW; - - vx1 =f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2 =f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3 =f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - Mx =f27E+f27NE+f27SE+f27TE+f27BE-f27W-f27NW-f27SW-f27TW-f27BW+f27TNE-f27TSW+f27TSE-f27TNW+f27BNE-f27BSW+f27BSE-f27BNW; - My =f27N+f27NE+f27NW+f27TN+f27BN-f27S-f27SE-f27SW-f27TS-f27BS+f27TNE-f27TSW-f27TSE+f27TNW+f27BNE-f27BSW-f27BSE+f27BNW; - Mz =f27T+f27TE+f27TW+f27TN+f27TS-f27B-f27BE-f27BW-f27BN-f27BS+f27TNE+f27TSW+f27TSE+f27TNW-f27BNE-f27BSW-f27BSE-f27BNW; - - real Diff_Conc_X_CSWT = (Conc_C_SWT * vx1 - Mx) * (c3o1*omegaD_C); - real Diff_Conc_Y_CSWT = (Conc_C_SWT * vx2 - My) * (c3o1*omegaD_C); - real Diff_Conc_Z_CSWT = (Conc_C_SWT * vx3 - Mz) * (c3o1*omegaD_C); - - - - - ////////////////////////////////////////////////////////////////////////// - //SET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborCX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborCX[ksw]; - kbw = neighborCX[kbw]; - kbs = kbsw; - kbsw = neighborCX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - //f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - ////////////////////////////////////////////////////////////////////////////////// - f27E = (D27C.f[dP00])[kzero];//ke - f27W = (D27C.f[dM00])[kw ]; - f27N = (D27C.f[d0P0])[kzero];//kn - f27S = (D27C.f[d0M0])[ks ]; - f27T = (D27C.f[d00P])[kzero];//kt - f27B = (D27C.f[d00M])[kb ]; - f27NE = (D27C.f[dPP0])[kzero];//kne - f27SW = (D27C.f[dMM0])[ksw ]; - f27SE = (D27C.f[dPM0])[ks ];//kse - f27NW = (D27C.f[dMP0])[kw ];//knw - f27TE = (D27C.f[dP0P])[kzero];//kte - f27BW = (D27C.f[dM0M])[kbw ]; - f27BE = (D27C.f[dP0M])[kb ];//kbe - f27TW = (D27C.f[dM0P])[kw ];//ktw - f27TN = (D27C.f[d0PP])[kzero];//ktn - f27BS = (D27C.f[d0MM])[kbs ]; - f27BN = (D27C.f[d0PM])[kb ];//kbn - f27TS = (D27C.f[d0MP])[ks ];//kts - f27ZERO = (D27C.f[d000])[kzero];//kzero - f27TNE = (D27C.f[dPPP])[kzero];//ktne - f27TSW = (D27C.f[dMMP])[ksw ];//ktsw - f27TSE = (D27C.f[dPMP])[ks ];//ktse - f27TNW = (D27C.f[dMPP])[kw ];//ktnw - f27BNE = (D27C.f[dPPM])[kb ];//kbne - f27BSW = (D27C.f[dMMM])[kbsw ]; - f27BSE = (D27C.f[dPMM])[kbs ];//kbse - f27BNW = (D27C.f[dMPM])[kbw ];//kbnw - - Conc_C_SET = f27E + f27W + f27N + f27S + f27T + f27B + f27NE + f27SW + f27SE + f27NW + - f27TE + f27BW + f27BE + f27TW + f27TN + f27BS + f27BN + f27TS + f27ZERO + - f27TNE + f27TSW + f27TSE + f27TNW + f27BNE + f27BSW + f27BSE + f27BNW; - - vx1 =f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2 =f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3 =f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - Mx =f27E+f27NE+f27SE+f27TE+f27BE-f27W-f27NW-f27SW-f27TW-f27BW+f27TNE-f27TSW+f27TSE-f27TNW+f27BNE-f27BSW+f27BSE-f27BNW; - My =f27N+f27NE+f27NW+f27TN+f27BN-f27S-f27SE-f27SW-f27TS-f27BS+f27TNE-f27TSW-f27TSE+f27TNW+f27BNE-f27BSW-f27BSE+f27BNW; - Mz =f27T+f27TE+f27TW+f27TN+f27TS-f27B-f27BE-f27BW-f27BN-f27BS+f27TNE+f27TSW+f27TSE+f27TNW-f27BNE-f27BSW-f27BSE-f27BNW; - - real Diff_Conc_X_CSET = (Conc_C_SET * vx1 - Mx) * (c3o1*omegaD_C); - real Diff_Conc_Y_CSET = (Conc_C_SET * vx2 - My) * (c3o1*omegaD_C); - real Diff_Conc_Z_CSET = (Conc_C_SET * vx3 - Mz) * (c3o1*omegaD_C); - - - - - ////////////////////////////////////////////////////////////////////////// - //SEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborCX[k0w]; - ks = k0sw; - ksw = neighborCX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - //f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - ////////////////////////////////////////////////////////////////////////////////// - f27E = (D27C.f[dP00])[kzero];//ke - f27W = (D27C.f[dM00])[kw ]; - f27N = (D27C.f[d0P0])[kzero];//kn - f27S = (D27C.f[d0M0])[ks ]; - f27T = (D27C.f[d00P])[kzero];//kt - f27B = (D27C.f[d00M])[kb ]; - f27NE = (D27C.f[dPP0])[kzero];//kne - f27SW = (D27C.f[dMM0])[ksw ]; - f27SE = (D27C.f[dPM0])[ks ];//kse - f27NW = (D27C.f[dMP0])[kw ];//knw - f27TE = (D27C.f[dP0P])[kzero];//kte - f27BW = (D27C.f[dM0M])[kbw ]; - f27BE = (D27C.f[dP0M])[kb ];//kbe - f27TW = (D27C.f[dM0P])[kw ];//ktw - f27TN = (D27C.f[d0PP])[kzero];//ktn - f27BS = (D27C.f[d0MM])[kbs ]; - f27BN = (D27C.f[d0PM])[kb ];//kbn - f27TS = (D27C.f[d0MP])[ks ];//kts - f27ZERO = (D27C.f[d000])[kzero];//kzero - f27TNE = (D27C.f[dPPP])[kzero];//ktne - f27TSW = (D27C.f[dMMP])[ksw ];//ktsw - f27TSE = (D27C.f[dPMP])[ks ];//ktse - f27TNW = (D27C.f[dMPP])[kw ];//ktnw - f27BNE = (D27C.f[dPPM])[kb ];//kbne - f27BSW = (D27C.f[dMMM])[kbsw ]; - f27BSE = (D27C.f[dPMM])[kbs ];//kbse - f27BNW = (D27C.f[dMPM])[kbw ];//kbnw - - Conc_C_SEB = f27E + f27W + f27N + f27S + f27T + f27B + f27NE + f27SW + f27SE + f27NW + - f27TE + f27BW + f27BE + f27TW + f27TN + f27BS + f27BN + f27TS + f27ZERO + - f27TNE + f27TSW + f27TSE + f27TNW + f27BNE + f27BSW + f27BSE + f27BNW; - - vx1 =f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2 =f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3 =f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - Mx =f27E+f27NE+f27SE+f27TE+f27BE-f27W-f27NW-f27SW-f27TW-f27BW+f27TNE-f27TSW+f27TSE-f27TNW+f27BNE-f27BSW+f27BSE-f27BNW; - My =f27N+f27NE+f27NW+f27TN+f27BN-f27S-f27SE-f27SW-f27TS-f27BS+f27TNE-f27TSW-f27TSE+f27TNW+f27BNE-f27BSW-f27BSE+f27BNW; - Mz =f27T+f27TE+f27TW+f27TN+f27TS-f27B-f27BE-f27BW-f27BN-f27BS+f27TNE+f27TSW+f27TSE+f27TNW-f27BNE-f27BSW-f27BSE-f27BNW; - - real Diff_Conc_X_CSEB = (Conc_C_SEB * vx1 - Mx) * (c3o1*omegaD_C); - real Diff_Conc_Y_CSEB = (Conc_C_SEB * vx2 - My) * (c3o1*omegaD_C); - real Diff_Conc_Z_CSEB = (Conc_C_SEB * vx3 - Mz) * (c3o1*omegaD_C); - - - - - ////////////////////////////////////////////////////////////////////////// - //NWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= k0s; - k0w = k0sw; - k0s = neighborCY[k0s]; - k0b = k0bs; - k0sw = neighborCY[k0sw]; - k0bw = k0bsw; - k0bs = neighborCY[k0bs]; - k0bsw = neighborCY[k0bsw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - //f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - ////////////////////////////////////////////////////////////////////////////////// - f27E = (D27C.f[dP00])[kzero];//ke - f27W = (D27C.f[dM00])[kw ]; - f27N = (D27C.f[d0P0])[kzero];//kn - f27S = (D27C.f[d0M0])[ks ]; - f27T = (D27C.f[d00P])[kzero];//kt - f27B = (D27C.f[d00M])[kb ]; - f27NE = (D27C.f[dPP0])[kzero];//kne - f27SW = (D27C.f[dMM0])[ksw ]; - f27SE = (D27C.f[dPM0])[ks ];//kse - f27NW = (D27C.f[dMP0])[kw ];//knw - f27TE = (D27C.f[dP0P])[kzero];//kte - f27BW = (D27C.f[dM0M])[kbw ]; - f27BE = (D27C.f[dP0M])[kb ];//kbe - f27TW = (D27C.f[dM0P])[kw ];//ktw - f27TN = (D27C.f[d0PP])[kzero];//ktn - f27BS = (D27C.f[d0MM])[kbs ]; - f27BN = (D27C.f[d0PM])[kb ];//kbn - f27TS = (D27C.f[d0MP])[ks ];//kts - f27ZERO = (D27C.f[d000])[kzero];//kzero - f27TNE = (D27C.f[dPPP])[kzero];//ktne - f27TSW = (D27C.f[dMMP])[ksw ];//ktsw - f27TSE = (D27C.f[dPMP])[ks ];//ktse - f27TNW = (D27C.f[dMPP])[kw ];//ktnw - f27BNE = (D27C.f[dPPM])[kb ];//kbne - f27BSW = (D27C.f[dMMM])[kbsw ]; - f27BSE = (D27C.f[dPMM])[kbs ];//kbse - f27BNW = (D27C.f[dMPM])[kbw ];//kbnw - - Conc_C_NWB = f27E + f27W + f27N + f27S + f27T + f27B + f27NE + f27SW + f27SE + f27NW + - f27TE + f27BW + f27BE + f27TW + f27TN + f27BS + f27BN + f27TS + f27ZERO + - f27TNE + f27TSW + f27TSE + f27TNW + f27BNE + f27BSW + f27BSE + f27BNW; - - vx1 =f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2 =f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3 =f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - Mx =f27E+f27NE+f27SE+f27TE+f27BE-f27W-f27NW-f27SW-f27TW-f27BW+f27TNE-f27TSW+f27TSE-f27TNW+f27BNE-f27BSW+f27BSE-f27BNW; - My =f27N+f27NE+f27NW+f27TN+f27BN-f27S-f27SE-f27SW-f27TS-f27BS+f27TNE-f27TSW-f27TSE+f27TNW+f27BNE-f27BSW-f27BSE+f27BNW; - Mz =f27T+f27TE+f27TW+f27TN+f27TS-f27B-f27BE-f27BW-f27BN-f27BS+f27TNE+f27TSW+f27TSE+f27TNW-f27BNE-f27BSW-f27BSE-f27BNW; - - real Diff_Conc_X_CNWB = (Conc_C_NWB * vx1 - Mx) * (c3o1*omegaD_C); - real Diff_Conc_Y_CNWB = (Conc_C_NWB * vx2 - My) * (c3o1*omegaD_C); - real Diff_Conc_Z_CNWB = (Conc_C_NWB * vx3 - Mz) * (c3o1*omegaD_C); - - - - - ////////////////////////////////////////////////////////////////////////// - //NWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborCZ[kb]; - ksw = kbsw; - kbw = neighborCZ[kbw]; - kbs = neighborCZ[kbs]; - kbsw = neighborCZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - //f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - ////////////////////////////////////////////////////////////////////////////////// - f27E = (D27C.f[dP00])[kzero];//ke - f27W = (D27C.f[dM00])[kw ]; - f27N = (D27C.f[d0P0])[kzero];//kn - f27S = (D27C.f[d0M0])[ks ]; - f27T = (D27C.f[d00P])[kzero];//kt - f27B = (D27C.f[d00M])[kb ]; - f27NE = (D27C.f[dPP0])[kzero];//kne - f27SW = (D27C.f[dMM0])[ksw ]; - f27SE = (D27C.f[dPM0])[ks ];//kse - f27NW = (D27C.f[dMP0])[kw ];//knw - f27TE = (D27C.f[dP0P])[kzero];//kte - f27BW = (D27C.f[dM0M])[kbw ]; - f27BE = (D27C.f[dP0M])[kb ];//kbe - f27TW = (D27C.f[dM0P])[kw ];//ktw - f27TN = (D27C.f[d0PP])[kzero];//ktn - f27BS = (D27C.f[d0MM])[kbs ]; - f27BN = (D27C.f[d0PM])[kb ];//kbn - f27TS = (D27C.f[d0MP])[ks ];//kts - f27ZERO = (D27C.f[d000])[kzero];//kzero - f27TNE = (D27C.f[dPPP])[kzero];//ktne - f27TSW = (D27C.f[dMMP])[ksw ];//ktsw - f27TSE = (D27C.f[dPMP])[ks ];//ktse - f27TNW = (D27C.f[dMPP])[kw ];//ktnw - f27BNE = (D27C.f[dPPM])[kb ];//kbne - f27BSW = (D27C.f[dMMM])[kbsw ]; - f27BSE = (D27C.f[dPMM])[kbs ];//kbse - f27BNW = (D27C.f[dMPM])[kbw ];//kbnw - - Conc_C_NWT = f27E + f27W + f27N + f27S + f27T + f27B + f27NE + f27SW + f27SE + f27NW + - f27TE + f27BW + f27BE + f27TW + f27TN + f27BS + f27BN + f27TS + f27ZERO + - f27TNE + f27TSW + f27TSE + f27TNW + f27BNE + f27BSW + f27BSE + f27BNW; - - vx1 =f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2 =f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3 =f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - Mx =f27E+f27NE+f27SE+f27TE+f27BE-f27W-f27NW-f27SW-f27TW-f27BW+f27TNE-f27TSW+f27TSE-f27TNW+f27BNE-f27BSW+f27BSE-f27BNW; - My =f27N+f27NE+f27NW+f27TN+f27BN-f27S-f27SE-f27SW-f27TS-f27BS+f27TNE-f27TSW-f27TSE+f27TNW+f27BNE-f27BSW-f27BSE+f27BNW; - Mz =f27T+f27TE+f27TW+f27TN+f27TS-f27B-f27BE-f27BW-f27BN-f27BS+f27TNE+f27TSW+f27TSE+f27TNW-f27BNE-f27BSW-f27BSE-f27BNW; - - real Diff_Conc_X_CNWT = (Conc_C_NWT * vx1 - Mx) * (c3o1*omegaD_C); - real Diff_Conc_Y_CNWT = (Conc_C_NWT * vx2 - My) * (c3o1*omegaD_C); - real Diff_Conc_Z_CNWT = (Conc_C_NWT * vx3 - Mz) * (c3o1*omegaD_C); - - - - - ////////////////////////////////////////////////////////////////////////// - //NET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborCX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborCX[ksw]; - kbw = neighborCX[kbw]; - kbs = kbsw; - kbsw = neighborCX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - //f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - ////////////////////////////////////////////////////////////////////////////////// - f27E = (D27C.f[dP00])[kzero];//ke - f27W = (D27C.f[dM00])[kw ]; - f27N = (D27C.f[d0P0])[kzero];//kn - f27S = (D27C.f[d0M0])[ks ]; - f27T = (D27C.f[d00P])[kzero];//kt - f27B = (D27C.f[d00M])[kb ]; - f27NE = (D27C.f[dPP0])[kzero];//kne - f27SW = (D27C.f[dMM0])[ksw ]; - f27SE = (D27C.f[dPM0])[ks ];//kse - f27NW = (D27C.f[dMP0])[kw ];//knw - f27TE = (D27C.f[dP0P])[kzero];//kte - f27BW = (D27C.f[dM0M])[kbw ]; - f27BE = (D27C.f[dP0M])[kb ];//kbe - f27TW = (D27C.f[dM0P])[kw ];//ktw - f27TN = (D27C.f[d0PP])[kzero];//ktn - f27BS = (D27C.f[d0MM])[kbs ]; - f27BN = (D27C.f[d0PM])[kb ];//kbn - f27TS = (D27C.f[d0MP])[ks ];//kts - f27ZERO = (D27C.f[d000])[kzero];//kzero - f27TNE = (D27C.f[dPPP])[kzero];//ktne - f27TSW = (D27C.f[dMMP])[ksw ];//ktsw - f27TSE = (D27C.f[dPMP])[ks ];//ktse - f27TNW = (D27C.f[dMPP])[kw ];//ktnw - f27BNE = (D27C.f[dPPM])[kb ];//kbne - f27BSW = (D27C.f[dMMM])[kbsw ]; - f27BSE = (D27C.f[dPMM])[kbs ];//kbse - f27BNW = (D27C.f[dMPM])[kbw ];//kbnw - - Conc_C_NET = f27E + f27W + f27N + f27S + f27T + f27B + f27NE + f27SW + f27SE + f27NW + - f27TE + f27BW + f27BE + f27TW + f27TN + f27BS + f27BN + f27TS + f27ZERO + - f27TNE + f27TSW + f27TSE + f27TNW + f27BNE + f27BSW + f27BSE + f27BNW; - - vx1 =f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2 =f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3 =f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - Mx =f27E+f27NE+f27SE+f27TE+f27BE-f27W-f27NW-f27SW-f27TW-f27BW+f27TNE-f27TSW+f27TSE-f27TNW+f27BNE-f27BSW+f27BSE-f27BNW; - My =f27N+f27NE+f27NW+f27TN+f27BN-f27S-f27SE-f27SW-f27TS-f27BS+f27TNE-f27TSW-f27TSE+f27TNW+f27BNE-f27BSW-f27BSE+f27BNW; - Mz =f27T+f27TE+f27TW+f27TN+f27TS-f27B-f27BE-f27BW-f27BN-f27BS+f27TNE+f27TSW+f27TSE+f27TNW-f27BNE-f27BSW-f27BSE-f27BNW; - - real Diff_Conc_X_CNET = (Conc_C_NET * vx1 - Mx) * (c3o1*omegaD_C); - real Diff_Conc_Y_CNET = (Conc_C_NET * vx2 - My) * (c3o1*omegaD_C); - real Diff_Conc_Z_CNET = (Conc_C_NET * vx3 - Mz) * (c3o1*omegaD_C); - - - - - ////////////////////////////////////////////////////////////////////////// - //NEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborCX[k0w]; - ks = k0sw; - ksw = neighborCX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - //f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - //////////////////////////////////////////////////////////////////////////////// - f27E = (D27C.f[dP00])[kzero];//ke - f27W = (D27C.f[dM00])[kw ]; - f27N = (D27C.f[d0P0])[kzero];//kn - f27S = (D27C.f[d0M0])[ks ]; - f27T = (D27C.f[d00P])[kzero];//kt - f27B = (D27C.f[d00M])[kb ]; - f27NE = (D27C.f[dPP0])[kzero];//kne - f27SW = (D27C.f[dMM0])[ksw ]; - f27SE = (D27C.f[dPM0])[ks ];//kse - f27NW = (D27C.f[dMP0])[kw ];//knw - f27TE = (D27C.f[dP0P])[kzero];//kte - f27BW = (D27C.f[dM0M])[kbw ]; - f27BE = (D27C.f[dP0M])[kb ];//kbe - f27TW = (D27C.f[dM0P])[kw ];//ktw - f27TN = (D27C.f[d0PP])[kzero];//ktn - f27BS = (D27C.f[d0MM])[kbs ]; - f27BN = (D27C.f[d0PM])[kb ];//kbn - f27TS = (D27C.f[d0MP])[ks ];//kts - f27ZERO = (D27C.f[d000])[kzero];//kzero - f27TNE = (D27C.f[dPPP])[kzero];//ktne - f27TSW = (D27C.f[dMMP])[ksw ];//ktsw - f27TSE = (D27C.f[dPMP])[ks ];//ktse - f27TNW = (D27C.f[dMPP])[kw ];//ktnw - f27BNE = (D27C.f[dPPM])[kb ];//kbne - f27BSW = (D27C.f[dMMM])[kbsw ]; - f27BSE = (D27C.f[dPMM])[kbs ];//kbse - f27BNW = (D27C.f[dMPM])[kbw ];//kbnw - - Conc_C_NEB = f27E + f27W + f27N + f27S + f27T + f27B + f27NE + f27SW + f27SE + f27NW + - f27TE + f27BW + f27BE + f27TW + f27TN + f27BS + f27BN + f27TS + f27ZERO + - f27TNE + f27TSW + f27TSE + f27TNW + f27BNE + f27BSW + f27BSE + f27BNW; - - vx1 =f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2 =f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3 =f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - Mx =f27E+f27NE+f27SE+f27TE+f27BE-f27W-f27NW-f27SW-f27TW-f27BW+f27TNE-f27TSW+f27TSE-f27TNW+f27BNE-f27BSW+f27BSE-f27BNW; - My =f27N+f27NE+f27NW+f27TN+f27BN-f27S-f27SE-f27SW-f27TS-f27BS+f27TNE-f27TSW-f27TSE+f27TNW+f27BNE-f27BSW-f27BSE+f27BNW; - Mz =f27T+f27TE+f27TW+f27TN+f27TS-f27B-f27BE-f27BW-f27BN-f27BS+f27TNE+f27TSW+f27TSE+f27TNW-f27BNE-f27BSW-f27BSE-f27BNW; - - real Diff_Conc_X_CNEB = (Conc_C_NEB * vx1 - Mx) * (c3o1*omegaD_C); - real Diff_Conc_Y_CNEB = (Conc_C_NEB * vx2 - My) * (c3o1*omegaD_C); - real Diff_Conc_Z_CNEB = (Conc_C_NEB * vx3 - Mz) * (c3o1*omegaD_C); - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - - - - //linear - //real Diff_Conc_XX = zero; - //real Diff_Conc_YY = zero; - //real Diff_Conc_ZZ = zero; - - - - - //quadratic - real Diff_Conc_XX = ((Diff_Conc_X_CNEB + Diff_Conc_X_CSEB + Diff_Conc_X_CNET + Diff_Conc_X_CSET) - (Diff_Conc_X_CNWB + Diff_Conc_X_CSWB + Diff_Conc_X_CNWT + Diff_Conc_X_CSWT)) * c1o4; - real Diff_Conc_YY = ((Diff_Conc_Y_CNEB + Diff_Conc_Y_CNWB + Diff_Conc_Y_CNET + Diff_Conc_Y_CNWT) - (Diff_Conc_Y_CSEB + Diff_Conc_Y_CSWB + Diff_Conc_Y_CSET + Diff_Conc_Y_CSWT)) * c1o4; - real Diff_Conc_ZZ = ((Diff_Conc_Z_CSET + Diff_Conc_Z_CSWT + Diff_Conc_Z_CNET + Diff_Conc_Z_CNWT) - (Diff_Conc_Z_CSEB + Diff_Conc_Z_CSWB + Diff_Conc_Z_CNEB + Diff_Conc_Z_CNWB)) * c1o4; - - real dx = c1o4 * (Conc_C_NEB + Conc_C_NET - Conc_C_NWB - Conc_C_NWT + Conc_C_SEB + Conc_C_SET - Conc_C_SWB - Conc_C_SWT); - real dy = c1o4 * (Conc_C_NEB + Conc_C_NET + Conc_C_NWB + Conc_C_NWT - Conc_C_SEB - Conc_C_SET - Conc_C_SWB - Conc_C_SWT); - real dz = c1o4 * (-Conc_C_NEB + Conc_C_NET - Conc_C_NWB + Conc_C_NWT - Conc_C_SEB + Conc_C_SET - Conc_C_SWB + Conc_C_SWT); - real dxx = Diff_Conc_XX * c1o2; - real dyy = Diff_Conc_YY * c1o2; - real dzz = Diff_Conc_ZZ * c1o2; - real dxy = c1o2 * (Conc_C_NEB + Conc_C_NET - Conc_C_NWB - Conc_C_NWT - Conc_C_SEB - Conc_C_SET + Conc_C_SWB + Conc_C_SWT); - real dyz = c1o2 * (-Conc_C_NEB + Conc_C_NET - Conc_C_NWB + Conc_C_NWT + Conc_C_SEB - Conc_C_SET + Conc_C_SWB - Conc_C_SWT); - real dxz = c1o2 * (-Conc_C_NEB + Conc_C_NET + Conc_C_NWB - Conc_C_NWT - Conc_C_SEB + Conc_C_SET + Conc_C_SWB - Conc_C_SWT); - real dxyz = -Conc_C_NEB + Conc_C_NET + Conc_C_NWB - Conc_C_NWT + Conc_C_SEB - Conc_C_SET - Conc_C_SWB + Conc_C_SWT; - real d0 = c1o8 * (-c2o1 * dxx - c2o1 * dyy - c2o1 * dzz + Conc_C_NEB + Conc_C_NET + Conc_C_NWB + Conc_C_NWT + Conc_C_SEB + Conc_C_SET + Conc_C_SWB + Conc_C_SWT); - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - // Bernd das Brot - // - // X------X - // | | x---x - // | ---+-+-> | ----> off-vector - // | | x---x - // X------X - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff_sq * dxx + yoff_sq * dyy + zoff_sq * dzz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz; - dx = dx + c2o1 * xoff * dxx + yoff * dxy + zoff * dxz; - dy = dy + c2o1 * yoff * dyy + xoff * dxy + zoff * dyz; - dz = dz + c2o1 * zoff * dzz + xoff * dxz + yoff * dyz; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //Position SWB -0.25, -0.25, -0.25 - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = -c1o4; - y = -c1o4; - z = -c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= posFSWB[k]; - k0w = neighborFX[k0zero]; - k0s = neighborFY[k0zero]; - k0b = neighborFZ[k0zero]; - k0sw = neighborFY[k0w]; - k0bw = neighborFZ[k0w]; - k0bs = neighborFZ[k0s]; - k0bsw = neighborFZ[k0sw]; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - vx1=feF[kzero]+fneF[kzero]+fseF[ks]+fteF[kzero]+fbeF[kb]-fwF[kw]-fnwF[kw]-fswF[ksw]-ftwF[kw]-fbwF[kbw]+ftneF[kzero]-ftswF[ksw]+ftseF[ks]-ftnwF[kw]+fbneF[kb]-fbswF[kbsw]+fbseF[kbs]-fbnwF[kbw]; - vx2=fnF[kzero]+fneF[kzero]+fnwF[kw]+ftnF[kzero]+fbnF[kb]-fsF[ks]-fseF[ks]-fswF[ksw]-ftsF[ks]-fbsF[kbs]+ftneF[kzero]-ftswF[ksw]-ftseF[ks]+ftnwF[kw]+fbneF[kb]-fbswF[kbsw]-fbseF[kbs]+fbnwF[kbw]; - vx3=ftF[kzero]+fteF[kzero]+ftwF[kw]+ftnF[kzero]+ftsF[ks]-fbF[kb]-fbeF[kb]-fbwF[kbw]-fbnF[kb]-fbsF[kbs]+ftneF[kzero]+ftswF[ksw]+ftseF[ks]+ftnwF[kw]-fbneF[kb]-fbswF[kbsw]-fbseF[kbs]-fbnwF[kbw]; - - //Conc_F_SWB = c27o64 * Conc_C_SWB + c9o64 * (Conc_C_SWT+Conc_C_SEB+Conc_C_NWB) + c3o64 * (Conc_C_SET+Conc_C_NWT+Conc_C_NEB) + c1o64 * Conc_C_NET - c3o32 * (Diff_Conc_XX + Diff_Conc_YY + Diff_Conc_ZZ); - - //real Diff_Conc_X_FSWB = c1o16 * (nine * Conc_C_SEB - nine * Conc_C_SWB + three * Conc_C_SET - three * Conc_C_SWT + three * Conc_C_NEB - three * Conc_C_NWB + one * Conc_C_NET - one * Conc_C_NWT) - c1o4 * Diff_Conc_XX; - //real Diff_Conc_Y_FSWB = c1o16 * (nine * Conc_C_NWB - nine * Conc_C_SWB + three * Conc_C_NWT - three * Conc_C_SWT + three * Conc_C_NEB - three * Conc_C_SEB + one * Conc_C_NET - one * Conc_C_SET) - c1o4 * Diff_Conc_YY; - //real Diff_Conc_Z_FSWB = c1o16 * (nine * Conc_C_SWT - nine * Conc_C_SWB + three * Conc_C_SET - three * Conc_C_SEB + three * Conc_C_NWT - three * Conc_C_NWB + one * Conc_C_NET - one * Conc_C_NEB) - c1o4 * Diff_Conc_ZZ; - - real Conc_F = d0 + dx*x + dy*y + dz*z + dxx*x*x + dyy*y*y + dzz*z*z + dxy*x*y + dxz*x*z + dyz*y*z + dxyz*x*y*z; - - real Diff_Conc_X = dx + x * dxx + y * dxy + z * dxz + y * z * dxyz; - real Diff_Conc_Y = dy + y * dyy + x * dxy + z * dyz + x * z * dxyz; - real Diff_Conc_Z = dz + z * dzz + x * dxz + y * dyz + x * y * dxyz; - - Mx = Conc_F*vx1-(c1o1)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_X; - My = Conc_F*vx2-(c1o1)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Y; - Mz = Conc_F*vx3-(c1o1)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Z; - //Mxx= Conc_F_SWB*((one+ae)/three+(vx1*vx1)); - //Myy= Conc_F_SWB*((one+ae)/three+(vx2*vx2)); - //Mzz= Conc_F_SWB*((one+ae)/three+(vx3*vx3)); - //M0 = Conc_F_SWB; - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - (D27F.f[d000])[kzero] = c8o27* Conc_F*(c1o1-cu_sq); - (D27F.f[dP00])[kzero] = c2o27* (c3o1*( Mx )+Conc_F*(c1o1+c9o2*( vx1 )*( vx1 )-cu_sq)); - (D27F.f[dM00])[kw ] = c2o27* (c3o1*(-Mx )+Conc_F*(c1o1+c9o2*(-vx1 )*(-vx1 )-cu_sq)); - (D27F.f[d0P0])[kzero] = c2o27* (c3o1*( My )+Conc_F*(c1o1+c9o2*( vx2 )*( vx2 )-cu_sq)); - (D27F.f[d0M0])[ks ] = c2o27* (c3o1*( -My )+Conc_F*(c1o1+c9o2*( -vx2 )*( -vx2 )-cu_sq)); - (D27F.f[d00P])[kzero] = c2o27* (c3o1*( Mz)+Conc_F*(c1o1+c9o2*( vx3)*( vx3)-cu_sq)); - (D27F.f[d00M])[kb ] = c2o27* (c3o1*( -Mz)+Conc_F*(c1o1+c9o2*( -vx3)*( -vx3)-cu_sq)); - (D27F.f[dPP0])[kzero] = c1o54* (c3o1*( Mx +My )+Conc_F*(c1o1+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq)); - (D27F.f[dMM0])[ksw ] = c1o54* (c3o1*(-Mx -My )+Conc_F*(c1o1+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq)); - (D27F.f[dPM0])[ks ] = c1o54* (c3o1*( Mx -My )+Conc_F*(c1o1+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq)); - (D27F.f[dMP0])[kw ] = c1o54* (c3o1*(-Mx +My )+Conc_F*(c1o1+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq)); - (D27F.f[dP0P])[kzero] = c1o54* (c3o1*( Mx +Mz)+Conc_F*(c1o1+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq)); - (D27F.f[dM0M])[kbw ] = c1o54* (c3o1*(-Mx -Mz)+Conc_F*(c1o1+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq)); - (D27F.f[dP0M])[kb ] = c1o54* (c3o1*( Mx -Mz)+Conc_F*(c1o1+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq)); - (D27F.f[dM0P])[kw ] = c1o54* (c3o1*(-Mx +Mz)+Conc_F*(c1o1+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq)); - (D27F.f[d0PP])[kzero] = c1o54* (c3o1*( My +Mz)+Conc_F*(c1o1+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq)); - (D27F.f[d0MM])[kbs ] = c1o54* (c3o1*( -My -Mz)+Conc_F*(c1o1+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq)); - (D27F.f[d0PM])[kb ] = c1o54* (c3o1*( My -Mz)+Conc_F*(c1o1+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq)); - (D27F.f[d0MP])[ks ] = c1o54* (c3o1*( -My +Mz)+Conc_F*(c1o1+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq)); - (D27F.f[dPPP])[kzero] = c1o216*(c3o1*( Mx +My +Mz)+Conc_F*(c1o1+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq)); - (D27F.f[dMMM])[kbsw ] = c1o216*(c3o1*(-Mx -My -Mz)+Conc_F*(c1o1+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq)); - (D27F.f[dPPM])[kb ] = c1o216*(c3o1*( Mx +My -Mz)+Conc_F*(c1o1+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq)); - (D27F.f[dMMP])[ksw ] = c1o216*(c3o1*(-Mx -My +Mz)+Conc_F*(c1o1+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq)); - (D27F.f[dPMP])[ks ] = c1o216*(c3o1*( Mx -My +Mz)+Conc_F*(c1o1+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq)); - (D27F.f[dMPM])[kbw ] = c1o216*(c3o1*(-Mx +My -Mz)+Conc_F*(c1o1+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq)); - (D27F.f[dPMM])[kbs ] = c1o216*(c3o1*( Mx -My -Mz)+Conc_F*(c1o1+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq)); - (D27F.f[dMPP])[kw ] = c1o216*(c3o1*(-Mx +My +Mz)+Conc_F*(c1o1+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq)); - - - - - - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //Position SWT -0.25, -0.25, 0.25 - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = -c1o4; - y = -c1o4; - z = c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - vx1=feF[kzero]+fneF[kzero]+fseF[ks]+fteF[kzero]+fbeF[kb]-fwF[kw]-fnwF[kw]-fswF[ksw]-ftwF[kw]-fbwF[kbw]+ftneF[kzero]-ftswF[ksw]+ftseF[ks]-ftnwF[kw]+fbneF[kb]-fbswF[kbsw]+fbseF[kbs]-fbnwF[kbw]; - vx2=fnF[kzero]+fneF[kzero]+fnwF[kw]+ftnF[kzero]+fbnF[kb]-fsF[ks]-fseF[ks]-fswF[ksw]-ftsF[ks]-fbsF[kbs]+ftneF[kzero]-ftswF[ksw]-ftseF[ks]+ftnwF[kw]+fbneF[kb]-fbswF[kbsw]-fbseF[kbs]+fbnwF[kbw]; - vx3=ftF[kzero]+fteF[kzero]+ftwF[kw]+ftnF[kzero]+ftsF[ks]-fbF[kb]-fbeF[kb]-fbwF[kbw]-fbnF[kb]-fbsF[kbs]+ftneF[kzero]+ftswF[ksw]+ftseF[ks]+ftnwF[kw]-fbneF[kb]-fbswF[kbsw]-fbseF[kbs]-fbnwF[kbw]; - - //Conc_F_SWT = c27o64 * Conc_C_SWT + c9o64 * (Conc_C_SWB+Conc_C_SET+Conc_C_NWT) + c3o64 * (Conc_C_SEB+Conc_C_NWB+Conc_C_NET) + c1o64 * Conc_C_NEB - c3o32 * (Diff_Conc_XX + Diff_Conc_YY + Diff_Conc_ZZ); - - //real Diff_Conc_X_FSWT = c1o16 * (nine * Conc_C_SET - nine * Conc_C_SWT + three * Conc_C_SEB - three * Conc_C_SWB + three * Conc_C_NET - three * Conc_C_NWT + one * Conc_C_NEB - one * Conc_C_NWB) - c1o4 * Diff_Conc_XX; - //real Diff_Conc_Y_FSWT = c1o16 * (nine * Conc_C_NWT - nine * Conc_C_SWT + three * Conc_C_NWB - three * Conc_C_SWB + three * Conc_C_NET - three * Conc_C_SET + one * Conc_C_NEB - one * Conc_C_SEB) - c1o4 * Diff_Conc_YY; - //real Diff_Conc_Z_FSWT = c1o16 * (nine * Conc_C_SWT - nine * Conc_C_SWB + three * Conc_C_SET - three * Conc_C_SEB + three * Conc_C_NWT - three * Conc_C_NWB + one * Conc_C_NET - one * Conc_C_NEB) + c1o4 * Diff_Conc_ZZ; - - Conc_F = d0 + dx*x + dy*y + dz*z + dxx*x*x + dyy*y*y + dzz*z*z + dxy*x*y + dxz*x*z + dyz*y*z + dxyz*x*y*z; - - Diff_Conc_X = dx + x * dxx + y * dxy + z * dxz + y * z * dxyz; - Diff_Conc_Y = dy + y * dyy + x * dxy + z * dyz + x * z * dxyz; - Diff_Conc_Z = dz + z * dzz + x * dxz + y * dyz + x * y * dxyz; - - Mx = Conc_F*vx1-(c1o1)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_X; - My = Conc_F*vx2-(c1o1)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Y; - Mz = Conc_F*vx3-(c1o1)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Z; - //Mxx= Conc_F_SWT*((one+ae)/three+(vx1*vx1)); - //Myy= Conc_F_SWT*((one+ae)/three+(vx2*vx2)); - //Mzz= Conc_F_SWT*((one+ae)/three+(vx3*vx3)); - //M0 = Conc_F_SWT; - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - (D27F.f[d000])[kzero] = c8o27* Conc_F*(c1o1-cu_sq); - (D27F.f[dP00])[kzero] = c2o27* (c3o1*( Mx )+Conc_F*(c1o1+c9o2*( vx1 )*( vx1 )-cu_sq)); - (D27F.f[dM00])[kw ] = c2o27* (c3o1*(-Mx )+Conc_F*(c1o1+c9o2*(-vx1 )*(-vx1 )-cu_sq)); - (D27F.f[d0P0])[kzero] = c2o27* (c3o1*( My )+Conc_F*(c1o1+c9o2*( vx2 )*( vx2 )-cu_sq)); - (D27F.f[d0M0])[ks ] = c2o27* (c3o1*( -My )+Conc_F*(c1o1+c9o2*( -vx2 )*( -vx2 )-cu_sq)); - (D27F.f[d00P])[kzero] = c2o27* (c3o1*( Mz)+Conc_F*(c1o1+c9o2*( vx3)*( vx3)-cu_sq)); - (D27F.f[d00M])[kb ] = c2o27* (c3o1*( -Mz)+Conc_F*(c1o1+c9o2*( -vx3)*( -vx3)-cu_sq)); - (D27F.f[dPP0])[kzero] = c1o54* (c3o1*( Mx +My )+Conc_F*(c1o1+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq)); - (D27F.f[dMM0])[ksw ] = c1o54* (c3o1*(-Mx -My )+Conc_F*(c1o1+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq)); - (D27F.f[dPM0])[ks ] = c1o54* (c3o1*( Mx -My )+Conc_F*(c1o1+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq)); - (D27F.f[dMP0])[kw ] = c1o54* (c3o1*(-Mx +My )+Conc_F*(c1o1+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq)); - (D27F.f[dP0P])[kzero] = c1o54* (c3o1*( Mx +Mz)+Conc_F*(c1o1+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq)); - (D27F.f[dM0M])[kbw ] = c1o54* (c3o1*(-Mx -Mz)+Conc_F*(c1o1+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq)); - (D27F.f[dP0M])[kb ] = c1o54* (c3o1*( Mx -Mz)+Conc_F*(c1o1+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq)); - (D27F.f[dM0P])[kw ] = c1o54* (c3o1*(-Mx +Mz)+Conc_F*(c1o1+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq)); - (D27F.f[d0PP])[kzero] = c1o54* (c3o1*( My +Mz)+Conc_F*(c1o1+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq)); - (D27F.f[d0MM])[kbs ] = c1o54* (c3o1*( -My -Mz)+Conc_F*(c1o1+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq)); - (D27F.f[d0PM])[kb ] = c1o54* (c3o1*( My -Mz)+Conc_F*(c1o1+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq)); - (D27F.f[d0MP])[ks ] = c1o54* (c3o1*( -My +Mz)+Conc_F*(c1o1+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq)); - (D27F.f[dPPP])[kzero] = c1o216*(c3o1*( Mx +My +Mz)+Conc_F*(c1o1+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq)); - (D27F.f[dMMM])[kbsw ] = c1o216*(c3o1*(-Mx -My -Mz)+Conc_F*(c1o1+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq)); - (D27F.f[dPPM])[kb ] = c1o216*(c3o1*( Mx +My -Mz)+Conc_F*(c1o1+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq)); - (D27F.f[dMMP])[ksw ] = c1o216*(c3o1*(-Mx -My +Mz)+Conc_F*(c1o1+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq)); - (D27F.f[dPMP])[ks ] = c1o216*(c3o1*( Mx -My +Mz)+Conc_F*(c1o1+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq)); - (D27F.f[dMPM])[kbw ] = c1o216*(c3o1*(-Mx +My -Mz)+Conc_F*(c1o1+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq)); - (D27F.f[dPMM])[kbs ] = c1o216*(c3o1*( Mx -My -Mz)+Conc_F*(c1o1+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq)); - (D27F.f[dMPP])[kw ] = c1o216*(c3o1*(-Mx +My +Mz)+Conc_F*(c1o1+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq)); - - - - - - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //Position SET 0.25, -0.25, 0.25 - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = c1o4; - y = -c1o4; - z = c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - vx1=feF[kzero]+fneF[kzero]+fseF[ks]+fteF[kzero]+fbeF[kb]-fwF[kw]-fnwF[kw]-fswF[ksw]-ftwF[kw]-fbwF[kbw]+ftneF[kzero]-ftswF[ksw]+ftseF[ks]-ftnwF[kw]+fbneF[kb]-fbswF[kbsw]+fbseF[kbs]-fbnwF[kbw]; - vx2=fnF[kzero]+fneF[kzero]+fnwF[kw]+ftnF[kzero]+fbnF[kb]-fsF[ks]-fseF[ks]-fswF[ksw]-ftsF[ks]-fbsF[kbs]+ftneF[kzero]-ftswF[ksw]-ftseF[ks]+ftnwF[kw]+fbneF[kb]-fbswF[kbsw]-fbseF[kbs]+fbnwF[kbw]; - vx3=ftF[kzero]+fteF[kzero]+ftwF[kw]+ftnF[kzero]+ftsF[ks]-fbF[kb]-fbeF[kb]-fbwF[kbw]-fbnF[kb]-fbsF[kbs]+ftneF[kzero]+ftswF[ksw]+ftseF[ks]+ftnwF[kw]-fbneF[kb]-fbswF[kbsw]-fbseF[kbs]-fbnwF[kbw]; - - //Conc_F_SET = c27o64 * Conc_C_SET + c9o64 * (Conc_C_SEB+Conc_C_SWT+Conc_C_NET) + c3o64 * (Conc_C_SWB+Conc_C_NEB+Conc_C_NWT) + c1o64 * Conc_C_NWB - c3o32 * (Diff_Conc_XX + Diff_Conc_YY + Diff_Conc_ZZ); - - //real Diff_Conc_X_FSET = c1o16 * (nine * Conc_C_SET - nine * Conc_C_SWT + three * Conc_C_SEB - three * Conc_C_SWB + three * Conc_C_NET - three * Conc_C_NWT + one * Conc_C_NEB - one * Conc_C_NWB) + c1o4 * Diff_Conc_XX; - //real Diff_Conc_Y_FSET = c1o16 * (nine * Conc_C_NET - nine * Conc_C_SET + three * Conc_C_NEB - three * Conc_C_SEB + three * Conc_C_NWT - three * Conc_C_SWT + one * Conc_C_NWB - one * Conc_C_SWB) - c1o4 * Diff_Conc_YY; - //real Diff_Conc_Z_FSET = c1o16 * (nine * Conc_C_SET - nine * Conc_C_SEB + three * Conc_C_SWT - three * Conc_C_SWB + three * Conc_C_NET - three * Conc_C_NEB + one * Conc_C_NWT - one * Conc_C_NWB) + c1o4 * Diff_Conc_ZZ; - - Conc_F = d0 + dx*x + dy*y + dz*z + dxx*x*x + dyy*y*y + dzz*z*z + dxy*x*y + dxz*x*z + dyz*y*z + dxyz*x*y*z; - - Diff_Conc_X = dx + x * dxx + y * dxy + z * dxz + y * z * dxyz; - Diff_Conc_Y = dy + y * dyy + x * dxy + z * dyz + x * z * dxyz; - Diff_Conc_Z = dz + z * dzz + x * dxz + y * dyz + x * y * dxyz; - - Mx = Conc_F*vx1-(c1o1)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_X; - My = Conc_F*vx2-(c1o1)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Y; - Mz = Conc_F*vx3-(c1o1)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Z; - //Mxx= Conc_F_SET*((one+ae)/three+(vx1*vx1)); - //Myy= Conc_F_SET*((one+ae)/three+(vx2*vx2)); - //Mzz= Conc_F_SET*((one+ae)/three+(vx3*vx3)); - //M0 = Conc_F_SET; - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - (D27F.f[d000])[kzero] = c8o27* Conc_F*(c1o1-cu_sq); - (D27F.f[dP00])[kzero] = c2o27* (c3o1*( Mx )+Conc_F*(c1o1+c9o2*( vx1 )*( vx1 )-cu_sq)); - (D27F.f[dM00])[kw ] = c2o27* (c3o1*(-Mx )+Conc_F*(c1o1+c9o2*(-vx1 )*(-vx1 )-cu_sq)); - (D27F.f[d0P0])[kzero] = c2o27* (c3o1*( My )+Conc_F*(c1o1+c9o2*( vx2 )*( vx2 )-cu_sq)); - (D27F.f[d0M0])[ks ] = c2o27* (c3o1*( -My )+Conc_F*(c1o1+c9o2*( -vx2 )*( -vx2 )-cu_sq)); - (D27F.f[d00P])[kzero] = c2o27* (c3o1*( Mz)+Conc_F*(c1o1+c9o2*( vx3)*( vx3)-cu_sq)); - (D27F.f[d00M])[kb ] = c2o27* (c3o1*( -Mz)+Conc_F*(c1o1+c9o2*( -vx3)*( -vx3)-cu_sq)); - (D27F.f[dPP0])[kzero] = c1o54* (c3o1*( Mx +My )+Conc_F*(c1o1+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq)); - (D27F.f[dMM0])[ksw ] = c1o54* (c3o1*(-Mx -My )+Conc_F*(c1o1+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq)); - (D27F.f[dPM0])[ks ] = c1o54* (c3o1*( Mx -My )+Conc_F*(c1o1+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq)); - (D27F.f[dMP0])[kw ] = c1o54* (c3o1*(-Mx +My )+Conc_F*(c1o1+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq)); - (D27F.f[dP0P])[kzero] = c1o54* (c3o1*( Mx +Mz)+Conc_F*(c1o1+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq)); - (D27F.f[dM0M])[kbw ] = c1o54* (c3o1*(-Mx -Mz)+Conc_F*(c1o1+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq)); - (D27F.f[dP0M])[kb ] = c1o54* (c3o1*( Mx -Mz)+Conc_F*(c1o1+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq)); - (D27F.f[dM0P])[kw ] = c1o54* (c3o1*(-Mx +Mz)+Conc_F*(c1o1+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq)); - (D27F.f[d0PP])[kzero] = c1o54* (c3o1*( My +Mz)+Conc_F*(c1o1+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq)); - (D27F.f[d0MM])[kbs ] = c1o54* (c3o1*( -My -Mz)+Conc_F*(c1o1+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq)); - (D27F.f[d0PM])[kb ] = c1o54* (c3o1*( My -Mz)+Conc_F*(c1o1+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq)); - (D27F.f[d0MP])[ks ] = c1o54* (c3o1*( -My +Mz)+Conc_F*(c1o1+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq)); - (D27F.f[dPPP])[kzero] = c1o216*(c3o1*( Mx +My +Mz)+Conc_F*(c1o1+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq)); - (D27F.f[dMMM])[kbsw ] = c1o216*(c3o1*(-Mx -My -Mz)+Conc_F*(c1o1+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq)); - (D27F.f[dPPM])[kb ] = c1o216*(c3o1*( Mx +My -Mz)+Conc_F*(c1o1+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq)); - (D27F.f[dMMP])[ksw ] = c1o216*(c3o1*(-Mx -My +Mz)+Conc_F*(c1o1+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq)); - (D27F.f[dPMP])[ks ] = c1o216*(c3o1*( Mx -My +Mz)+Conc_F*(c1o1+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq)); - (D27F.f[dMPM])[kbw ] = c1o216*(c3o1*(-Mx +My -Mz)+Conc_F*(c1o1+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq)); - (D27F.f[dPMM])[kbs ] = c1o216*(c3o1*( Mx -My -Mz)+Conc_F*(c1o1+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq)); - (D27F.f[dMPP])[kw ] = c1o216*(c3o1*(-Mx +My +Mz)+Conc_F*(c1o1+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq)); - - - - - - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //Position SEB 0.25, -0.25, -0.25 - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = c1o4; - y = -c1o4; - z = -c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - vx1=feF[kzero]+fneF[kzero]+fseF[ks]+fteF[kzero]+fbeF[kb]-fwF[kw]-fnwF[kw]-fswF[ksw]-ftwF[kw]-fbwF[kbw]+ftneF[kzero]-ftswF[ksw]+ftseF[ks]-ftnwF[kw]+fbneF[kb]-fbswF[kbsw]+fbseF[kbs]-fbnwF[kbw]; - vx2=fnF[kzero]+fneF[kzero]+fnwF[kw]+ftnF[kzero]+fbnF[kb]-fsF[ks]-fseF[ks]-fswF[ksw]-ftsF[ks]-fbsF[kbs]+ftneF[kzero]-ftswF[ksw]-ftseF[ks]+ftnwF[kw]+fbneF[kb]-fbswF[kbsw]-fbseF[kbs]+fbnwF[kbw]; - vx3=ftF[kzero]+fteF[kzero]+ftwF[kw]+ftnF[kzero]+ftsF[ks]-fbF[kb]-fbeF[kb]-fbwF[kbw]-fbnF[kb]-fbsF[kbs]+ftneF[kzero]+ftswF[ksw]+ftseF[ks]+ftnwF[kw]-fbneF[kb]-fbswF[kbsw]-fbseF[kbs]-fbnwF[kbw]; - - //Conc_F_SEB = c27o64 * Conc_C_SEB + c9o64 * (Conc_C_SET+Conc_C_SWB+Conc_C_NEB) + c3o64 * (Conc_C_SWT+Conc_C_NET+Conc_C_NWB) + c1o64 * Conc_C_NWT - c3o32 * (Diff_Conc_XX + Diff_Conc_YY + Diff_Conc_ZZ); - - //real Diff_Conc_X_FSEB = c1o16 * (nine * Conc_C_SEB - nine * Conc_C_SWB + three * Conc_C_SET - three * Conc_C_SWT + three * Conc_C_NEB - three * Conc_C_NWB + one * Conc_C_NET - one * Conc_C_NWT) + c1o4 * Diff_Conc_XX; - //real Diff_Conc_Y_FSEB = c1o16 * (nine * Conc_C_NEB - nine * Conc_C_SEB + three * Conc_C_NET - three * Conc_C_SET + three * Conc_C_NWB - three * Conc_C_SWB + one * Conc_C_NWT - one * Conc_C_SWT) - c1o4 * Diff_Conc_YY; - //real Diff_Conc_Z_FSEB = c1o16 * (nine * Conc_C_SET - nine * Conc_C_SEB + three * Conc_C_SWT - three * Conc_C_SWB + three * Conc_C_NET - three * Conc_C_NEB + one * Conc_C_NWT - one * Conc_C_NWB) - c1o4 * Diff_Conc_ZZ; - - Conc_F = d0 + dx*x + dy*y + dz*z + dxx*x*x + dyy*y*y + dzz*z*z + dxy*x*y + dxz*x*z + dyz*y*z + dxyz*x*y*z; - - Diff_Conc_X = dx + x * dxx + y * dxy + z * dxz + y * z * dxyz; - Diff_Conc_Y = dy + y * dyy + x * dxy + z * dyz + x * z * dxyz; - Diff_Conc_Z = dz + z * dzz + x * dxz + y * dyz + x * y * dxyz; - - Mx = Conc_F*vx1-(c1o1)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_X; - My = Conc_F*vx2-(c1o1)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Y; - Mz = Conc_F*vx3-(c1o1)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Z; - //Mxx= Conc_F_SEB*((one+ae)/three+(vx1*vx1)); - //Myy= Conc_F_SEB*((one+ae)/three+(vx2*vx2)); - //Mzz= Conc_F_SEB*((one+ae)/three+(vx3*vx3)); - //M0 = Conc_F_SEB; - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - (D27F.f[d000])[kzero] = c8o27* Conc_F*(c1o1-cu_sq); - (D27F.f[dP00])[kzero] = c2o27* (c3o1*( Mx )+Conc_F*(c1o1+c9o2*( vx1 )*( vx1 )-cu_sq)); - (D27F.f[dM00])[kw ] = c2o27* (c3o1*(-Mx )+Conc_F*(c1o1+c9o2*(-vx1 )*(-vx1 )-cu_sq)); - (D27F.f[d0P0])[kzero] = c2o27* (c3o1*( My )+Conc_F*(c1o1+c9o2*( vx2 )*( vx2 )-cu_sq)); - (D27F.f[d0M0])[ks ] = c2o27* (c3o1*( -My )+Conc_F*(c1o1+c9o2*( -vx2 )*( -vx2 )-cu_sq)); - (D27F.f[d00P])[kzero] = c2o27* (c3o1*( Mz)+Conc_F*(c1o1+c9o2*( vx3)*( vx3)-cu_sq)); - (D27F.f[d00M])[kb ] = c2o27* (c3o1*( -Mz)+Conc_F*(c1o1+c9o2*( -vx3)*( -vx3)-cu_sq)); - (D27F.f[dPP0])[kzero] = c1o54* (c3o1*( Mx +My )+Conc_F*(c1o1+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq)); - (D27F.f[dMM0])[ksw ] = c1o54* (c3o1*(-Mx -My )+Conc_F*(c1o1+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq)); - (D27F.f[dPM0])[ks ] = c1o54* (c3o1*( Mx -My )+Conc_F*(c1o1+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq)); - (D27F.f[dMP0])[kw ] = c1o54* (c3o1*(-Mx +My )+Conc_F*(c1o1+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq)); - (D27F.f[dP0P])[kzero] = c1o54* (c3o1*( Mx +Mz)+Conc_F*(c1o1+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq)); - (D27F.f[dM0M])[kbw ] = c1o54* (c3o1*(-Mx -Mz)+Conc_F*(c1o1+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq)); - (D27F.f[dP0M])[kb ] = c1o54* (c3o1*( Mx -Mz)+Conc_F*(c1o1+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq)); - (D27F.f[dM0P])[kw ] = c1o54* (c3o1*(-Mx +Mz)+Conc_F*(c1o1+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq)); - (D27F.f[d0PP])[kzero] = c1o54* (c3o1*( My +Mz)+Conc_F*(c1o1+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq)); - (D27F.f[d0MM])[kbs ] = c1o54* (c3o1*( -My -Mz)+Conc_F*(c1o1+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq)); - (D27F.f[d0PM])[kb ] = c1o54* (c3o1*( My -Mz)+Conc_F*(c1o1+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq)); - (D27F.f[d0MP])[ks ] = c1o54* (c3o1*( -My +Mz)+Conc_F*(c1o1+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq)); - (D27F.f[dPPP])[kzero] = c1o216*(c3o1*( Mx +My +Mz)+Conc_F*(c1o1+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq)); - (D27F.f[dMMM])[kbsw ] = c1o216*(c3o1*(-Mx -My -Mz)+Conc_F*(c1o1+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq)); - (D27F.f[dPPM])[kb ] = c1o216*(c3o1*( Mx +My -Mz)+Conc_F*(c1o1+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq)); - (D27F.f[dMMP])[ksw ] = c1o216*(c3o1*(-Mx -My +Mz)+Conc_F*(c1o1+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq)); - (D27F.f[dPMP])[ks ] = c1o216*(c3o1*( Mx -My +Mz)+Conc_F*(c1o1+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq)); - (D27F.f[dMPM])[kbw ] = c1o216*(c3o1*(-Mx +My -Mz)+Conc_F*(c1o1+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq)); - (D27F.f[dPMM])[kbs ] = c1o216*(c3o1*( Mx -My -Mz)+Conc_F*(c1o1+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq)); - (D27F.f[dMPP])[kw ] = c1o216*(c3o1*(-Mx +My +Mz)+Conc_F*(c1o1+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq)); - - - - - - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //Position NWB -0.25, 0.25, -0.25 - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = -c1o4; - y = c1o4; - z = -c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= k0s; - k0w = k0sw; - k0s = neighborFY[k0s]; - k0b = k0bs; - k0sw = neighborFY[k0sw]; - k0bw = k0bsw; - k0bs = neighborFY[k0bs]; - k0bsw = neighborFY[k0bsw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - vx1=feF[kzero]+fneF[kzero]+fseF[ks]+fteF[kzero]+fbeF[kb]-fwF[kw]-fnwF[kw]-fswF[ksw]-ftwF[kw]-fbwF[kbw]+ftneF[kzero]-ftswF[ksw]+ftseF[ks]-ftnwF[kw]+fbneF[kb]-fbswF[kbsw]+fbseF[kbs]-fbnwF[kbw]; - vx2=fnF[kzero]+fneF[kzero]+fnwF[kw]+ftnF[kzero]+fbnF[kb]-fsF[ks]-fseF[ks]-fswF[ksw]-ftsF[ks]-fbsF[kbs]+ftneF[kzero]-ftswF[ksw]-ftseF[ks]+ftnwF[kw]+fbneF[kb]-fbswF[kbsw]-fbseF[kbs]+fbnwF[kbw]; - vx3=ftF[kzero]+fteF[kzero]+ftwF[kw]+ftnF[kzero]+ftsF[ks]-fbF[kb]-fbeF[kb]-fbwF[kbw]-fbnF[kb]-fbsF[kbs]+ftneF[kzero]+ftswF[ksw]+ftseF[ks]+ftnwF[kw]-fbneF[kb]-fbswF[kbsw]-fbseF[kbs]-fbnwF[kbw]; - - //Conc_F_NWB = c27o64 * Conc_C_NWB + c9o64 * (Conc_C_NWT+Conc_C_NEB+Conc_C_SWB) + c3o64 * (Conc_C_NET+Conc_C_SWT+Conc_C_SEB) + c1o64 * Conc_C_SET - c3o32 * (Diff_Conc_XX + Diff_Conc_YY + Diff_Conc_ZZ); - - //real Diff_Conc_X_FNWB = c1o16 * (nine * Conc_C_NEB - nine * Conc_C_NWB + three * Conc_C_NET - three * Conc_C_NWT + three * Conc_C_SEB - three * Conc_C_SWB + one * Conc_C_SET - one * Conc_C_SWT) - c1o4 * Diff_Conc_XX; - //real Diff_Conc_Y_FNWB = c1o16 * (nine * Conc_C_NWB - nine * Conc_C_SWB + three * Conc_C_NWT - three * Conc_C_SWT + three * Conc_C_NEB - three * Conc_C_SEB + one * Conc_C_NET - one * Conc_C_SET) + c1o4 * Diff_Conc_YY; - //real Diff_Conc_Z_FNWB = c1o16 * (nine * Conc_C_NWT - nine * Conc_C_NWB + three * Conc_C_NET - three * Conc_C_NEB + three * Conc_C_SWT - three * Conc_C_SWB + one * Conc_C_SET - one * Conc_C_SEB) - c1o4 * Diff_Conc_ZZ; - - Conc_F = d0 + dx*x + dy*y + dz*z + dxx*x*x + dyy*y*y + dzz*z*z + dxy*x*y + dxz*x*z + dyz*y*z + dxyz*x*y*z; - - Diff_Conc_X = dx + x * dxx + y * dxy + z * dxz + y * z * dxyz; - Diff_Conc_Y = dy + y * dyy + x * dxy + z * dyz + x * z * dxyz; - Diff_Conc_Z = dz + z * dzz + x * dxz + y * dyz + x * y * dxyz; - - Mx = Conc_F*vx1-(c1o1)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_X; - My = Conc_F*vx2-(c1o1)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Y; - Mz = Conc_F*vx3-(c1o1)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Z; - //Mxx= Conc_F_NWB*((one+ae)/three+(vx1*vx1)); - //Myy= Conc_F_NWB*((one+ae)/three+(vx2*vx2)); - //Mzz= Conc_F_NWB*((one+ae)/three+(vx3*vx3)); - //M0 = Conc_F_NWB; - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - (D27F.f[d000])[kzero] = c8o27* Conc_F*(c1o1-cu_sq); - (D27F.f[dP00])[kzero] = c2o27* (c3o1*( Mx )+Conc_F*(c1o1+c9o2*( vx1 )*( vx1 )-cu_sq)); - (D27F.f[dM00])[kw ] = c2o27* (c3o1*(-Mx )+Conc_F*(c1o1+c9o2*(-vx1 )*(-vx1 )-cu_sq)); - (D27F.f[d0P0])[kzero] = c2o27* (c3o1*( My )+Conc_F*(c1o1+c9o2*( vx2 )*( vx2 )-cu_sq)); - (D27F.f[d0M0])[ks ] = c2o27* (c3o1*( -My )+Conc_F*(c1o1+c9o2*( -vx2 )*( -vx2 )-cu_sq)); - (D27F.f[d00P])[kzero] = c2o27* (c3o1*( Mz)+Conc_F*(c1o1+c9o2*( vx3)*( vx3)-cu_sq)); - (D27F.f[d00M])[kb ] = c2o27* (c3o1*( -Mz)+Conc_F*(c1o1+c9o2*( -vx3)*( -vx3)-cu_sq)); - (D27F.f[dPP0])[kzero] = c1o54* (c3o1*( Mx +My )+Conc_F*(c1o1+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq)); - (D27F.f[dMM0])[ksw ] = c1o54* (c3o1*(-Mx -My )+Conc_F*(c1o1+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq)); - (D27F.f[dPM0])[ks ] = c1o54* (c3o1*( Mx -My )+Conc_F*(c1o1+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq)); - (D27F.f[dMP0])[kw ] = c1o54* (c3o1*(-Mx +My )+Conc_F*(c1o1+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq)); - (D27F.f[dP0P])[kzero] = c1o54* (c3o1*( Mx +Mz)+Conc_F*(c1o1+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq)); - (D27F.f[dM0M])[kbw ] = c1o54* (c3o1*(-Mx -Mz)+Conc_F*(c1o1+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq)); - (D27F.f[dP0M])[kb ] = c1o54* (c3o1*( Mx -Mz)+Conc_F*(c1o1+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq)); - (D27F.f[dM0P])[kw ] = c1o54* (c3o1*(-Mx +Mz)+Conc_F*(c1o1+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq)); - (D27F.f[d0PP])[kzero] = c1o54* (c3o1*( My +Mz)+Conc_F*(c1o1+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq)); - (D27F.f[d0MM])[kbs ] = c1o54* (c3o1*( -My -Mz)+Conc_F*(c1o1+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq)); - (D27F.f[d0PM])[kb ] = c1o54* (c3o1*( My -Mz)+Conc_F*(c1o1+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq)); - (D27F.f[d0MP])[ks ] = c1o54* (c3o1*( -My +Mz)+Conc_F*(c1o1+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq)); - (D27F.f[dPPP])[kzero] = c1o216*(c3o1*( Mx +My +Mz)+Conc_F*(c1o1+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq)); - (D27F.f[dMMM])[kbsw ] = c1o216*(c3o1*(-Mx -My -Mz)+Conc_F*(c1o1+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq)); - (D27F.f[dPPM])[kb ] = c1o216*(c3o1*( Mx +My -Mz)+Conc_F*(c1o1+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq)); - (D27F.f[dMMP])[ksw ] = c1o216*(c3o1*(-Mx -My +Mz)+Conc_F*(c1o1+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq)); - (D27F.f[dPMP])[ks ] = c1o216*(c3o1*( Mx -My +Mz)+Conc_F*(c1o1+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq)); - (D27F.f[dMPM])[kbw ] = c1o216*(c3o1*(-Mx +My -Mz)+Conc_F*(c1o1+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq)); - (D27F.f[dPMM])[kbs ] = c1o216*(c3o1*( Mx -My -Mz)+Conc_F*(c1o1+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq)); - (D27F.f[dMPP])[kw ] = c1o216*(c3o1*(-Mx +My +Mz)+Conc_F*(c1o1+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq)); - - - - - - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //Position NWT -0.25, 0.25, 0.25 - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = -c1o4; - y = c1o4; - z = c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - vx1=feF[kzero]+fneF[kzero]+fseF[ks]+fteF[kzero]+fbeF[kb]-fwF[kw]-fnwF[kw]-fswF[ksw]-ftwF[kw]-fbwF[kbw]+ftneF[kzero]-ftswF[ksw]+ftseF[ks]-ftnwF[kw]+fbneF[kb]-fbswF[kbsw]+fbseF[kbs]-fbnwF[kbw]; - vx2=fnF[kzero]+fneF[kzero]+fnwF[kw]+ftnF[kzero]+fbnF[kb]-fsF[ks]-fseF[ks]-fswF[ksw]-ftsF[ks]-fbsF[kbs]+ftneF[kzero]-ftswF[ksw]-ftseF[ks]+ftnwF[kw]+fbneF[kb]-fbswF[kbsw]-fbseF[kbs]+fbnwF[kbw]; - vx3=ftF[kzero]+fteF[kzero]+ftwF[kw]+ftnF[kzero]+ftsF[ks]-fbF[kb]-fbeF[kb]-fbwF[kbw]-fbnF[kb]-fbsF[kbs]+ftneF[kzero]+ftswF[ksw]+ftseF[ks]+ftnwF[kw]-fbneF[kb]-fbswF[kbsw]-fbseF[kbs]-fbnwF[kbw]; - - //Conc_F_NWT = c27o64 * Conc_C_NWT + c9o64 * (Conc_C_NWB+Conc_C_NET+Conc_C_SWT) + c3o64 * (Conc_C_NEB+Conc_C_SWB+Conc_C_SET) + c1o64 * Conc_C_SEB - c3o32 * (Diff_Conc_XX + Diff_Conc_YY + Diff_Conc_ZZ); - - //real Diff_Conc_X_FNWT = c1o16 * (nine * Conc_C_NET - nine * Conc_C_NWT + three * Conc_C_NEB - three * Conc_C_NWB + three * Conc_C_SET - three * Conc_C_SWT + one * Conc_C_SEB - one * Conc_C_SWB) - c1o4 * Diff_Conc_XX; - //real Diff_Conc_Y_FNWT = c1o16 * (nine * Conc_C_NWT - nine * Conc_C_SWT + three * Conc_C_NWB - three * Conc_C_SWB + three * Conc_C_NET - three * Conc_C_SET + one * Conc_C_NEB - one * Conc_C_SEB) + c1o4 * Diff_Conc_YY; - //real Diff_Conc_Z_FNWT = c1o16 * (nine * Conc_C_NWT - nine * Conc_C_NWB + three * Conc_C_NET - three * Conc_C_NEB + three * Conc_C_SWT - three * Conc_C_SWB + one * Conc_C_SET - one * Conc_C_SEB) + c1o4 * Diff_Conc_ZZ; - - Conc_F = d0 + dx*x + dy*y + dz*z + dxx*x*x + dyy*y*y + dzz*z*z + dxy*x*y + dxz*x*z + dyz*y*z + dxyz*x*y*z; - - Diff_Conc_X = dx + x * dxx + y * dxy + z * dxz + y * z * dxyz; - Diff_Conc_Y = dy + y * dyy + x * dxy + z * dyz + x * z * dxyz; - Diff_Conc_Z = dz + z * dzz + x * dxz + y * dyz + x * y * dxyz; - - Mx = Conc_F*vx1-(c1o1)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_X; - My = Conc_F*vx2-(c1o1)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Y; - Mz = Conc_F*vx3-(c1o1)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Z; - //Mxx= Conc_F_NWT*((one+ae)/three+(vx1*vx1)); - //Myy= Conc_F_NWT*((one+ae)/three+(vx2*vx2)); - //Mzz= Conc_F_NWT*((one+ae)/three+(vx3*vx3)); - //M0 = Conc_F_NWT; - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - (D27F.f[d000])[kzero] = c8o27* Conc_F*(c1o1-cu_sq); - (D27F.f[dP00])[kzero] = c2o27* (c3o1*( Mx )+Conc_F*(c1o1+c9o2*( vx1 )*( vx1 )-cu_sq)); - (D27F.f[dM00])[kw ] = c2o27* (c3o1*(-Mx )+Conc_F*(c1o1+c9o2*(-vx1 )*(-vx1 )-cu_sq)); - (D27F.f[d0P0])[kzero] = c2o27* (c3o1*( My )+Conc_F*(c1o1+c9o2*( vx2 )*( vx2 )-cu_sq)); - (D27F.f[d0M0])[ks ] = c2o27* (c3o1*( -My )+Conc_F*(c1o1+c9o2*( -vx2 )*( -vx2 )-cu_sq)); - (D27F.f[d00P])[kzero] = c2o27* (c3o1*( Mz)+Conc_F*(c1o1+c9o2*( vx3)*( vx3)-cu_sq)); - (D27F.f[d00M])[kb ] = c2o27* (c3o1*( -Mz)+Conc_F*(c1o1+c9o2*( -vx3)*( -vx3)-cu_sq)); - (D27F.f[dPP0])[kzero] = c1o54* (c3o1*( Mx +My )+Conc_F*(c1o1+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq)); - (D27F.f[dMM0])[ksw ] = c1o54* (c3o1*(-Mx -My )+Conc_F*(c1o1+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq)); - (D27F.f[dPM0])[ks ] = c1o54* (c3o1*( Mx -My )+Conc_F*(c1o1+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq)); - (D27F.f[dMP0])[kw ] = c1o54* (c3o1*(-Mx +My )+Conc_F*(c1o1+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq)); - (D27F.f[dP0P])[kzero] = c1o54* (c3o1*( Mx +Mz)+Conc_F*(c1o1+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq)); - (D27F.f[dM0M])[kbw ] = c1o54* (c3o1*(-Mx -Mz)+Conc_F*(c1o1+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq)); - (D27F.f[dP0M])[kb ] = c1o54* (c3o1*( Mx -Mz)+Conc_F*(c1o1+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq)); - (D27F.f[dM0P])[kw ] = c1o54* (c3o1*(-Mx +Mz)+Conc_F*(c1o1+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq)); - (D27F.f[d0PP])[kzero] = c1o54* (c3o1*( My +Mz)+Conc_F*(c1o1+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq)); - (D27F.f[d0MM])[kbs ] = c1o54* (c3o1*( -My -Mz)+Conc_F*(c1o1+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq)); - (D27F.f[d0PM])[kb ] = c1o54* (c3o1*( My -Mz)+Conc_F*(c1o1+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq)); - (D27F.f[d0MP])[ks ] = c1o54* (c3o1*( -My +Mz)+Conc_F*(c1o1+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq)); - (D27F.f[dPPP])[kzero] = c1o216*(c3o1*( Mx +My +Mz)+Conc_F*(c1o1+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq)); - (D27F.f[dMMM])[kbsw ] = c1o216*(c3o1*(-Mx -My -Mz)+Conc_F*(c1o1+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq)); - (D27F.f[dPPM])[kb ] = c1o216*(c3o1*( Mx +My -Mz)+Conc_F*(c1o1+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq)); - (D27F.f[dMMP])[ksw ] = c1o216*(c3o1*(-Mx -My +Mz)+Conc_F*(c1o1+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq)); - (D27F.f[dPMP])[ks ] = c1o216*(c3o1*( Mx -My +Mz)+Conc_F*(c1o1+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq)); - (D27F.f[dMPM])[kbw ] = c1o216*(c3o1*(-Mx +My -Mz)+Conc_F*(c1o1+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq)); - (D27F.f[dPMM])[kbs ] = c1o216*(c3o1*( Mx -My -Mz)+Conc_F*(c1o1+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq)); - (D27F.f[dMPP])[kw ] = c1o216*(c3o1*(-Mx +My +Mz)+Conc_F*(c1o1+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq)); - - - - - - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //Position NET 0.25, 0.25, 0.25 - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = c1o4; - y = c1o4; - z = c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - vx1=feF[kzero]+fneF[kzero]+fseF[ks]+fteF[kzero]+fbeF[kb]-fwF[kw]-fnwF[kw]-fswF[ksw]-ftwF[kw]-fbwF[kbw]+ftneF[kzero]-ftswF[ksw]+ftseF[ks]-ftnwF[kw]+fbneF[kb]-fbswF[kbsw]+fbseF[kbs]-fbnwF[kbw]; - vx2=fnF[kzero]+fneF[kzero]+fnwF[kw]+ftnF[kzero]+fbnF[kb]-fsF[ks]-fseF[ks]-fswF[ksw]-ftsF[ks]-fbsF[kbs]+ftneF[kzero]-ftswF[ksw]-ftseF[ks]+ftnwF[kw]+fbneF[kb]-fbswF[kbsw]-fbseF[kbs]+fbnwF[kbw]; - vx3=ftF[kzero]+fteF[kzero]+ftwF[kw]+ftnF[kzero]+ftsF[ks]-fbF[kb]-fbeF[kb]-fbwF[kbw]-fbnF[kb]-fbsF[kbs]+ftneF[kzero]+ftswF[ksw]+ftseF[ks]+ftnwF[kw]-fbneF[kb]-fbswF[kbsw]-fbseF[kbs]-fbnwF[kbw]; - - //Conc_F_NET = c27o64 * Conc_C_NET + c9o64 * (Conc_C_NEB+Conc_C_NWT+Conc_C_SET) + c3o64 * (Conc_C_NWB+Conc_C_SEB+Conc_C_SWT) + c1o64 * Conc_C_SWB - c3o32 * (Diff_Conc_XX + Diff_Conc_YY + Diff_Conc_ZZ); - - //real Diff_Conc_X_FNET = c1o16 * (nine * Conc_C_NET - nine * Conc_C_NWT + three * Conc_C_NEB - three * Conc_C_NWB + three * Conc_C_SET - three * Conc_C_SWT + one * Conc_C_SEB - one * Conc_C_SWB) + c1o4 * Diff_Conc_XX; - //real Diff_Conc_Y_FNET = c1o16 * (nine * Conc_C_NET - nine * Conc_C_SET + three * Conc_C_NEB - three * Conc_C_SEB + three * Conc_C_NWT - three * Conc_C_SWT + one * Conc_C_NWB - one * Conc_C_SWB) + c1o4 * Diff_Conc_YY; - //real Diff_Conc_Z_FNET = c1o16 * (nine * Conc_C_NET - nine * Conc_C_NEB + three * Conc_C_NWT - three * Conc_C_NWB + three * Conc_C_SET - three * Conc_C_SEB + one * Conc_C_SWT - one * Conc_C_SWB) + c1o4 * Diff_Conc_ZZ; - - Conc_F = d0 + dx*x + dy*y + dz*z + dxx*x*x + dyy*y*y + dzz*z*z + dxy*x*y + dxz*x*z + dyz*y*z + dxyz*x*y*z; - - Diff_Conc_X = dx + x * dxx + y * dxy + z * dxz + y * z * dxyz; - Diff_Conc_Y = dy + y * dyy + x * dxy + z * dyz + x * z * dxyz; - Diff_Conc_Z = dz + z * dzz + x * dxz + y * dyz + x * y * dxyz; - - Mx = Conc_F*vx1-(c1o1)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_X; - My = Conc_F*vx2-(c1o1)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Y; - Mz = Conc_F*vx3-(c1o1)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Z; - //Mxx= Conc_F_NET*((one+ae)/three+(vx1*vx1)); - //Myy= Conc_F_NET*((one+ae)/three+(vx2*vx2)); - //Mzz= Conc_F_NET*((one+ae)/three+(vx3*vx3)); - //M0 = Conc_F_NET; - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - (D27F.f[d000])[kzero] = c8o27* Conc_F*(c1o1-cu_sq); - (D27F.f[dP00])[kzero] = c2o27* (c3o1*( Mx )+Conc_F*(c1o1+c9o2*( vx1 )*( vx1 )-cu_sq)); - (D27F.f[dM00])[kw ] = c2o27* (c3o1*(-Mx )+Conc_F*(c1o1+c9o2*(-vx1 )*(-vx1 )-cu_sq)); - (D27F.f[d0P0])[kzero] = c2o27* (c3o1*( My )+Conc_F*(c1o1+c9o2*( vx2 )*( vx2 )-cu_sq)); - (D27F.f[d0M0])[ks ] = c2o27* (c3o1*( -My )+Conc_F*(c1o1+c9o2*( -vx2 )*( -vx2 )-cu_sq)); - (D27F.f[d00P])[kzero] = c2o27* (c3o1*( Mz)+Conc_F*(c1o1+c9o2*( vx3)*( vx3)-cu_sq)); - (D27F.f[d00M])[kb ] = c2o27* (c3o1*( -Mz)+Conc_F*(c1o1+c9o2*( -vx3)*( -vx3)-cu_sq)); - (D27F.f[dPP0])[kzero] = c1o54* (c3o1*( Mx +My )+Conc_F*(c1o1+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq)); - (D27F.f[dMM0])[ksw ] = c1o54* (c3o1*(-Mx -My )+Conc_F*(c1o1+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq)); - (D27F.f[dPM0])[ks ] = c1o54* (c3o1*( Mx -My )+Conc_F*(c1o1+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq)); - (D27F.f[dMP0])[kw ] = c1o54* (c3o1*(-Mx +My )+Conc_F*(c1o1+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq)); - (D27F.f[dP0P])[kzero] = c1o54* (c3o1*( Mx +Mz)+Conc_F*(c1o1+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq)); - (D27F.f[dM0M])[kbw ] = c1o54* (c3o1*(-Mx -Mz)+Conc_F*(c1o1+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq)); - (D27F.f[dP0M])[kb ] = c1o54* (c3o1*( Mx -Mz)+Conc_F*(c1o1+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq)); - (D27F.f[dM0P])[kw ] = c1o54* (c3o1*(-Mx +Mz)+Conc_F*(c1o1+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq)); - (D27F.f[d0PP])[kzero] = c1o54* (c3o1*( My +Mz)+Conc_F*(c1o1+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq)); - (D27F.f[d0MM])[kbs ] = c1o54* (c3o1*( -My -Mz)+Conc_F*(c1o1+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq)); - (D27F.f[d0PM])[kb ] = c1o54* (c3o1*( My -Mz)+Conc_F*(c1o1+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq)); - (D27F.f[d0MP])[ks ] = c1o54* (c3o1*( -My +Mz)+Conc_F*(c1o1+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq)); - (D27F.f[dPPP])[kzero] = c1o216*(c3o1*( Mx +My +Mz)+Conc_F*(c1o1+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq)); - (D27F.f[dMMM])[kbsw ] = c1o216*(c3o1*(-Mx -My -Mz)+Conc_F*(c1o1+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq)); - (D27F.f[dPPM])[kb ] = c1o216*(c3o1*( Mx +My -Mz)+Conc_F*(c1o1+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq)); - (D27F.f[dMMP])[ksw ] = c1o216*(c3o1*(-Mx -My +Mz)+Conc_F*(c1o1+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq)); - (D27F.f[dPMP])[ks ] = c1o216*(c3o1*( Mx -My +Mz)+Conc_F*(c1o1+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq)); - (D27F.f[dMPM])[kbw ] = c1o216*(c3o1*(-Mx +My -Mz)+Conc_F*(c1o1+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq)); - (D27F.f[dPMM])[kbs ] = c1o216*(c3o1*( Mx -My -Mz)+Conc_F*(c1o1+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq)); - (D27F.f[dMPP])[kw ] = c1o216*(c3o1*(-Mx +My +Mz)+Conc_F*(c1o1+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq)); - - - - - - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //Position NEB 0.25, 0.25, -0.25 - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = c1o4; - y = c1o4; - z = -c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - vx1=feF[kzero]+fneF[kzero]+fseF[ks]+fteF[kzero]+fbeF[kb]-fwF[kw]-fnwF[kw]-fswF[ksw]-ftwF[kw]-fbwF[kbw]+ftneF[kzero]-ftswF[ksw]+ftseF[ks]-ftnwF[kw]+fbneF[kb]-fbswF[kbsw]+fbseF[kbs]-fbnwF[kbw]; - vx2=fnF[kzero]+fneF[kzero]+fnwF[kw]+ftnF[kzero]+fbnF[kb]-fsF[ks]-fseF[ks]-fswF[ksw]-ftsF[ks]-fbsF[kbs]+ftneF[kzero]-ftswF[ksw]-ftseF[ks]+ftnwF[kw]+fbneF[kb]-fbswF[kbsw]-fbseF[kbs]+fbnwF[kbw]; - vx3=ftF[kzero]+fteF[kzero]+ftwF[kw]+ftnF[kzero]+ftsF[ks]-fbF[kb]-fbeF[kb]-fbwF[kbw]-fbnF[kb]-fbsF[kbs]+ftneF[kzero]+ftswF[ksw]+ftseF[ks]+ftnwF[kw]-fbneF[kb]-fbswF[kbsw]-fbseF[kbs]-fbnwF[kbw]; - - //Conc_F_NEB = c27o64 * Conc_C_NEB + c9o64 * (Conc_C_NET+Conc_C_NWB+Conc_C_SEB) + c3o64 * (Conc_C_NWT+Conc_C_SET+Conc_C_SWB) + c1o64 * Conc_C_SWT - c3o32 * (Diff_Conc_XX + Diff_Conc_YY + Diff_Conc_ZZ); - - //real Diff_Conc_X_FNEB = c1o16 * (nine * Conc_C_NEB - nine * Conc_C_NWB + three * Conc_C_NET - three * Conc_C_NWT + three * Conc_C_SEB - three * Conc_C_SWB + one * Conc_C_SET - one * Conc_C_SWT) + c1o4 * Diff_Conc_XX; - //real Diff_Conc_Y_FNEB = c1o16 * (nine * Conc_C_NEB - nine * Conc_C_SEB + three * Conc_C_NET - three * Conc_C_SET + three * Conc_C_NWB - three * Conc_C_SWB + one * Conc_C_NWT - one * Conc_C_SWT) + c1o4 * Diff_Conc_YY; - //real Diff_Conc_Z_FNEB = c1o16 * (nine * Conc_C_NET - nine * Conc_C_NEB + three * Conc_C_NWT - three * Conc_C_NWB + three * Conc_C_SET - three * Conc_C_SEB + one * Conc_C_SWT - one * Conc_C_SWB) - c1o4 * Diff_Conc_ZZ; - - Conc_F = d0 + dx*x + dy*y + dz*z + dxx*x*x + dyy*y*y + dzz*z*z + dxy*x*y + dxz*x*z + dyz*y*z + dxyz*x*y*z; - - Diff_Conc_X = dx + x * dxx + y * dxy + z * dxz + y * z * dxyz; - Diff_Conc_Y = dy + y * dyy + x * dxy + z * dyz + x * z * dxyz; - Diff_Conc_Z = dz + z * dzz + x * dxz + y * dyz + x * y * dxyz; - - Mx = Conc_F*vx1-(c1o1)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_X; - My = Conc_F*vx2-(c1o1)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Y; - Mz = Conc_F*vx3-(c1o1)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Z; - //Mxx= Conc_F_NEB*((one+ae)/three+(vx1*vx1)); - //Myy= Conc_F_NEB*((one+ae)/three+(vx2*vx2)); - //Mzz= Conc_F_NEB*((one+ae)/three+(vx3*vx3)); - //M0 = Conc_F_NEB; - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - (D27F.f[d000])[kzero] = c8o27* Conc_F*(c1o1-cu_sq); - (D27F.f[dP00])[kzero] = c2o27* (c3o1*( Mx )+Conc_F*(c1o1+c9o2*( vx1 )*( vx1 )-cu_sq)); - (D27F.f[dM00])[kw ] = c2o27* (c3o1*(-Mx )+Conc_F*(c1o1+c9o2*(-vx1 )*(-vx1 )-cu_sq)); - (D27F.f[d0P0])[kzero] = c2o27* (c3o1*( My )+Conc_F*(c1o1+c9o2*( vx2 )*( vx2 )-cu_sq)); - (D27F.f[d0M0])[ks ] = c2o27* (c3o1*( -My )+Conc_F*(c1o1+c9o2*( -vx2 )*( -vx2 )-cu_sq)); - (D27F.f[d00P])[kzero] = c2o27* (c3o1*( Mz)+Conc_F*(c1o1+c9o2*( vx3)*( vx3)-cu_sq)); - (D27F.f[d00M])[kb ] = c2o27* (c3o1*( -Mz)+Conc_F*(c1o1+c9o2*( -vx3)*( -vx3)-cu_sq)); - (D27F.f[dPP0])[kzero] = c1o54* (c3o1*( Mx +My )+Conc_F*(c1o1+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq)); - (D27F.f[dMM0])[ksw ] = c1o54* (c3o1*(-Mx -My )+Conc_F*(c1o1+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq)); - (D27F.f[dPM0])[ks ] = c1o54* (c3o1*( Mx -My )+Conc_F*(c1o1+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq)); - (D27F.f[dMP0])[kw ] = c1o54* (c3o1*(-Mx +My )+Conc_F*(c1o1+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq)); - (D27F.f[dP0P])[kzero] = c1o54* (c3o1*( Mx +Mz)+Conc_F*(c1o1+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq)); - (D27F.f[dM0M])[kbw ] = c1o54* (c3o1*(-Mx -Mz)+Conc_F*(c1o1+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq)); - (D27F.f[dP0M])[kb ] = c1o54* (c3o1*( Mx -Mz)+Conc_F*(c1o1+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq)); - (D27F.f[dM0P])[kw ] = c1o54* (c3o1*(-Mx +Mz)+Conc_F*(c1o1+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq)); - (D27F.f[d0PP])[kzero] = c1o54* (c3o1*( My +Mz)+Conc_F*(c1o1+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq)); - (D27F.f[d0MM])[kbs ] = c1o54* (c3o1*( -My -Mz)+Conc_F*(c1o1+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq)); - (D27F.f[d0PM])[kb ] = c1o54* (c3o1*( My -Mz)+Conc_F*(c1o1+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq)); - (D27F.f[d0MP])[ks ] = c1o54* (c3o1*( -My +Mz)+Conc_F*(c1o1+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq)); - (D27F.f[dPPP])[kzero] = c1o216*(c3o1*( Mx +My +Mz)+Conc_F*(c1o1+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq)); - (D27F.f[dMMM])[kbsw ] = c1o216*(c3o1*(-Mx -My -Mz)+Conc_F*(c1o1+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq)); - (D27F.f[dPPM])[kb ] = c1o216*(c3o1*( Mx +My -Mz)+Conc_F*(c1o1+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq)); - (D27F.f[dMMP])[ksw ] = c1o216*(c3o1*(-Mx -My +Mz)+Conc_F*(c1o1+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq)); - (D27F.f[dPMP])[ks ] = c1o216*(c3o1*( Mx -My +Mz)+Conc_F*(c1o1+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq)); - (D27F.f[dMPM])[kbw ] = c1o216*(c3o1*(-Mx +My -Mz)+Conc_F*(c1o1+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq)); - (D27F.f[dPMM])[kbs ] = c1o216*(c3o1*( Mx -My -Mz)+Conc_F*(c1o1+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq)); - (D27F.f[dMPP])[kw ] = c1o216*(c3o1*(-Mx +My +Mz)+Conc_F*(c1o1+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq)); - } -} -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -////////////////////////////////////////////////////////////////////////// -__global__ void scaleCFEff27(real* DC, - real* DF, - unsigned int* neighborCX, - unsigned int* neighborCY, - unsigned int* neighborCZ, - unsigned int* neighborFX, - unsigned int* neighborFY, - unsigned int* neighborFZ, - unsigned long long numberOfLBnodesCoarse, - unsigned long long numberOfLBnodesFine, - bool isEvenTimestep, - unsigned int* posCSWB, - unsigned int* posFSWB, - unsigned int kCF, - real omCoarse, - real omFine, - real nu, - unsigned int nxC, - unsigned int nyC, - unsigned int nxF, - unsigned int nyF, - ICellNeigh offCF) -{ - real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, - *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - - feF = &DF[dP00 * numberOfLBnodesFine]; - fwF = &DF[dM00 * numberOfLBnodesFine]; - fnF = &DF[d0P0 * numberOfLBnodesFine]; - fsF = &DF[d0M0 * numberOfLBnodesFine]; - ftF = &DF[d00P * numberOfLBnodesFine]; - fbF = &DF[d00M * numberOfLBnodesFine]; - fneF = &DF[dPP0 * numberOfLBnodesFine]; - fswF = &DF[dMM0 * numberOfLBnodesFine]; - fseF = &DF[dPM0 * numberOfLBnodesFine]; - fnwF = &DF[dMP0 * numberOfLBnodesFine]; - fteF = &DF[dP0P * numberOfLBnodesFine]; - fbwF = &DF[dM0M * numberOfLBnodesFine]; - fbeF = &DF[dP0M * numberOfLBnodesFine]; - ftwF = &DF[dM0P * numberOfLBnodesFine]; - ftnF = &DF[d0PP * numberOfLBnodesFine]; - fbsF = &DF[d0MM * numberOfLBnodesFine]; - fbnF = &DF[d0PM * numberOfLBnodesFine]; - ftsF = &DF[d0MP * numberOfLBnodesFine]; - fzeroF = &DF[d000 * numberOfLBnodesFine]; - ftneF = &DF[dPPP * numberOfLBnodesFine]; - ftswF = &DF[dMMP * numberOfLBnodesFine]; - ftseF = &DF[dPMP * numberOfLBnodesFine]; - ftnwF = &DF[dMPP * numberOfLBnodesFine]; - fbneF = &DF[dPPM * numberOfLBnodesFine]; - fbswF = &DF[dMMM * numberOfLBnodesFine]; - fbseF = &DF[dPMM * numberOfLBnodesFine]; - fbnwF = &DF[dMPM * numberOfLBnodesFine]; - - real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, *fzeroC, - *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; - - if (isEvenTimestep==true) - { - feC = &DC[dP00 * numberOfLBnodesCoarse]; - fwC = &DC[dM00 * numberOfLBnodesCoarse]; - fnC = &DC[d0P0 * numberOfLBnodesCoarse]; - fsC = &DC[d0M0 * numberOfLBnodesCoarse]; - ftC = &DC[d00P * numberOfLBnodesCoarse]; - fbC = &DC[d00M * numberOfLBnodesCoarse]; - fneC = &DC[dPP0 * numberOfLBnodesCoarse]; - fswC = &DC[dMM0 * numberOfLBnodesCoarse]; - fseC = &DC[dPM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dMP0 * numberOfLBnodesCoarse]; - fteC = &DC[dP0P * numberOfLBnodesCoarse]; - fbwC = &DC[dM0M * numberOfLBnodesCoarse]; - fbeC = &DC[dP0M * numberOfLBnodesCoarse]; - ftwC = &DC[dM0P * numberOfLBnodesCoarse]; - ftnC = &DC[d0PP * numberOfLBnodesCoarse]; - fbsC = &DC[d0MM * numberOfLBnodesCoarse]; - fbnC = &DC[d0PM * numberOfLBnodesCoarse]; - ftsC = &DC[d0MP * numberOfLBnodesCoarse]; - fzeroC = &DC[d000 * numberOfLBnodesCoarse]; - ftneC = &DC[dPPP * numberOfLBnodesCoarse]; - ftswC = &DC[dMMP * numberOfLBnodesCoarse]; - ftseC = &DC[dPMP * numberOfLBnodesCoarse]; - ftnwC = &DC[dMPP * numberOfLBnodesCoarse]; - fbneC = &DC[dPPM * numberOfLBnodesCoarse]; - fbswC = &DC[dMMM * numberOfLBnodesCoarse]; - fbseC = &DC[dPMM * numberOfLBnodesCoarse]; - fbnwC = &DC[dMPM * numberOfLBnodesCoarse]; - } - else - { - fwC = &DC[dP00 * numberOfLBnodesCoarse]; - feC = &DC[dM00 * numberOfLBnodesCoarse]; - fsC = &DC[d0P0 * numberOfLBnodesCoarse]; - fnC = &DC[d0M0 * numberOfLBnodesCoarse]; - fbC = &DC[d00P * numberOfLBnodesCoarse]; - ftC = &DC[d00M * numberOfLBnodesCoarse]; - fswC = &DC[dPP0 * numberOfLBnodesCoarse]; - fneC = &DC[dMM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dPM0 * numberOfLBnodesCoarse]; - fseC = &DC[dMP0 * numberOfLBnodesCoarse]; - fbwC = &DC[dP0P * numberOfLBnodesCoarse]; - fteC = &DC[dM0M * numberOfLBnodesCoarse]; - ftwC = &DC[dP0M * numberOfLBnodesCoarse]; - fbeC = &DC[dM0P * numberOfLBnodesCoarse]; - fbsC = &DC[d0PP * numberOfLBnodesCoarse]; - ftnC = &DC[d0MM * numberOfLBnodesCoarse]; - ftsC = &DC[d0PM * numberOfLBnodesCoarse]; - fbnC = &DC[d0MP * numberOfLBnodesCoarse]; - fzeroC = &DC[d000 * numberOfLBnodesCoarse]; - fbswC = &DC[dPPP * numberOfLBnodesCoarse]; - fbneC = &DC[dMMP * numberOfLBnodesCoarse]; - fbnwC = &DC[dPMP * numberOfLBnodesCoarse]; - fbseC = &DC[dMPP * numberOfLBnodesCoarse]; - ftswC = &DC[dPPM * numberOfLBnodesCoarse]; - ftneC = &DC[dMMM * numberOfLBnodesCoarse]; - ftnwC = &DC[dPMM * numberOfLBnodesCoarse]; - ftseC = &DC[dMPM * numberOfLBnodesCoarse]; - } - - //////////////////////////////////////////////////////////////////////////////// - const unsigned ix = threadIdx.x; // Globaler x-Index - const unsigned iy = blockIdx.x; // Globaler y-Index - const unsigned iz = blockIdx.y; // Globaler z-Index - - const unsigned nx = blockDim.x; - const unsigned ny = gridDim.x; - - const unsigned k = nx*(ny*iz + iy) + ix; - ////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////// - real eps_new = c1o2; - real omegaS = omCoarse;//-omCoarse; - real o = omFine;//-omFine; - real op = c1o1; - real cu_sq; - - real xoff, yoff, zoff; - real xoff_sq, yoff_sq, zoff_sq; - - real drho,vx1,vx2,vx3; - real drho_SWT,vx1_SWT,vx2_SWT,vx3_SWT; - real drho_NWT,vx1_NWT,vx2_NWT,vx3_NWT; - real drho_NET,vx1_NET,vx2_NET,vx3_NET; - real drho_SET,vx1_SET,vx2_SET,vx3_SET; - real drho_SWB,vx1_SWB,vx2_SWB,vx3_SWB; - real drho_NWB,vx1_NWB,vx2_NWB,vx3_NWB; - real drho_NEB,vx1_NEB,vx2_NEB,vx3_NEB; - real drho_SEB,vx1_SEB,vx2_SEB,vx3_SEB; - real f_E,f_W,f_N,f_S,f_T,f_B,f_NE,f_SW,f_SE,f_NW,f_TE,f_BW,f_BE,f_TW,f_TN,f_BS,f_BN,f_TS,f_ZERO,f_TNE, f_TSW, f_TSE, f_TNW, f_BNE, f_BSW, f_BSE, f_BNW; - real feq_E,feq_W,feq_N,feq_S,feq_T,feq_B,feq_NE,feq_SW,feq_SE,feq_NW,feq_TE,feq_BW,feq_BE,feq_TW,feq_TN,feq_BS,feq_BN,feq_TS,feq_ZERO,feq_TNE, feq_TSW, feq_TSE, feq_TNW, feq_BNE, feq_BSW, feq_BSE, feq_BNW; - real kxyFromfcNEQ_SWT, kyzFromfcNEQ_SWT, kxzFromfcNEQ_SWT, kxxMyyFromfcNEQ_SWT, kxxMzzFromfcNEQ_SWT; - real kxyFromfcNEQ_NWT, kyzFromfcNEQ_NWT, kxzFromfcNEQ_NWT, kxxMyyFromfcNEQ_NWT, kxxMzzFromfcNEQ_NWT; - real kxyFromfcNEQ_NET, kyzFromfcNEQ_NET, kxzFromfcNEQ_NET, kxxMyyFromfcNEQ_NET, kxxMzzFromfcNEQ_NET; - real kxyFromfcNEQ_SET, kyzFromfcNEQ_SET, kxzFromfcNEQ_SET, kxxMyyFromfcNEQ_SET, kxxMzzFromfcNEQ_SET; - real kxyFromfcNEQ_SWB, kyzFromfcNEQ_SWB, kxzFromfcNEQ_SWB, kxxMyyFromfcNEQ_SWB, kxxMzzFromfcNEQ_SWB; - real kxyFromfcNEQ_NWB, kyzFromfcNEQ_NWB, kxzFromfcNEQ_NWB, kxxMyyFromfcNEQ_NWB, kxxMzzFromfcNEQ_NWB; - real kxyFromfcNEQ_NEB, kyzFromfcNEQ_NEB, kxzFromfcNEQ_NEB, kxxMyyFromfcNEQ_NEB, kxxMzzFromfcNEQ_NEB; - real kxyFromfcNEQ_SEB, kyzFromfcNEQ_SEB, kxzFromfcNEQ_SEB, kxxMyyFromfcNEQ_SEB, kxxMzzFromfcNEQ_SEB; - real a0, ax, ay, az, axx, ayy, azz, axy, axz, ayz, b0, bx, by, bz, bxx, byy, bzz, bxy, bxz, byz, c0, cx, cy, cz, cxx, cyy, czz, cxy, cxz, cyz; - - //real x,y,z; - - - if(k<kCF) - { - ////////////////////////////////////////////////////////////////////////// - xoff = offCF.x[k]; - yoff = offCF.y[k]; - zoff = offCF.z[k]; - xoff_sq = xoff * xoff; - yoff_sq = yoff * yoff; - zoff_sq = zoff * zoff; - ////////////////////////////////////////////////////////////////////////// - //SWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - unsigned int k0zero= posCSWB[k]; - unsigned int k0w = neighborCX[k0zero]; - unsigned int k0s = neighborCY[k0zero]; - unsigned int k0b = neighborCZ[k0zero]; - unsigned int k0sw = neighborCY[k0w]; - unsigned int k0bw = neighborCZ[k0w]; - unsigned int k0bs = neighborCZ[k0s]; - unsigned int k0bsw = neighborCZ[k0sw]; - ////////////////////////////////////////////////////////////////////////// - //index - unsigned int kzero= k0zero; - unsigned int kw = k0w; - unsigned int ks = k0s; - unsigned int kb = k0b; - unsigned int ksw = k0sw; - unsigned int kbw = k0bw; - unsigned int kbs = k0bs; - unsigned int kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - //vx1_SWB = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_SWB = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_SWB = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_SWB = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_SWB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_SWB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_SWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - - kxyFromfcNEQ_SWB = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SWB*vx2_SWB)); - kyzFromfcNEQ_SWB = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_SWB*vx3_SWB)); - kxzFromfcNEQ_SWB = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_SWB*vx3_SWB)); - kxxMyyFromfcNEQ_SWB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_SWB*vx1_SWB-vx2_SWB*vx2_SWB)); - kxxMzzFromfcNEQ_SWB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_SWB*vx1_SWB-vx3_SWB*vx3_SWB)); - - ////////////////////////////////////////////////////////////////////////// - //SWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborCZ[kb]; - ksw = kbsw; - kbw = neighborCZ[kbw]; - kbs = neighborCZ[kbs]; - kbsw = neighborCZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - //vx1_SWT = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_SWT = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_SWT = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_SWT = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_SWT = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_SWT = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_SWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - - kxyFromfcNEQ_SWT = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SWT*vx2_SWT)); - kyzFromfcNEQ_SWT = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_SWT*vx3_SWT)); - kxzFromfcNEQ_SWT = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_SWT*vx3_SWT)); - kxxMyyFromfcNEQ_SWT = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_SWT*vx1_SWT-vx2_SWT*vx2_SWT)); - kxxMzzFromfcNEQ_SWT = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_SWT*vx1_SWT-vx3_SWT*vx3_SWT)); - - ////////////////////////////////////////////////////////////////////////// - //SET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborCX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborCX[ksw]; - kbw = neighborCX[kbw]; - kbs = kbsw; - kbsw = neighborCX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - //vx1_SET = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_SET = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_SET = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_SET = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_SET = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_SET = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_SET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - - kxyFromfcNEQ_SET = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SET*vx2_SET)); - kyzFromfcNEQ_SET = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_SET*vx3_SET)); - kxzFromfcNEQ_SET = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_SET*vx3_SET)); - kxxMyyFromfcNEQ_SET = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_SET*vx1_SET-vx2_SET*vx2_SET)); - kxxMzzFromfcNEQ_SET = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_SET*vx1_SET-vx3_SET*vx3_SET)); - - ////////////////////////////////////////////////////////////////////////// - //SEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborCX[k0w]; - ks = k0sw; - ksw = neighborCX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - //vx1_SEB = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_SEB = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_SEB = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_SEB = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_SEB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_SEB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_SEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - - kxyFromfcNEQ_SEB = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SEB*vx2_SEB)); - kyzFromfcNEQ_SEB = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_SEB*vx3_SEB)); - kxzFromfcNEQ_SEB = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_SEB*vx3_SEB)); - kxxMyyFromfcNEQ_SEB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_SEB*vx1_SEB-vx2_SEB*vx2_SEB)); - kxxMzzFromfcNEQ_SEB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_SEB*vx1_SEB-vx3_SEB*vx3_SEB)); - - ////////////////////////////////////////////////////////////////////////// - //NWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= k0s; - k0w = k0sw; - k0s = neighborCY[k0s]; - k0b = k0bs; - k0sw = neighborCY[k0sw]; - k0bw = k0bsw; - k0bs = neighborCY[k0bs]; - k0bsw = neighborCY[k0bsw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - //vx1_NWB = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_NWB = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_NWB = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_NWB = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_NWB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_NWB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_NWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - - kxyFromfcNEQ_NWB = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NWB*vx2_NWB)); - kyzFromfcNEQ_NWB = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_NWB*vx3_NWB)); - kxzFromfcNEQ_NWB = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_NWB*vx3_NWB)); - kxxMyyFromfcNEQ_NWB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_NWB*vx1_NWB-vx2_NWB*vx2_NWB)); - kxxMzzFromfcNEQ_NWB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_NWB*vx1_NWB-vx3_NWB*vx3_NWB)); - - ////////////////////////////////////////////////////////////////////////// - //NWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborCZ[kb]; - ksw = kbsw; - kbw = neighborCZ[kbw]; - kbs = neighborCZ[kbs]; - kbsw = neighborCZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - //vx1_NWT = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_NWT = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_NWT = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_NWT = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_NWT = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_NWT = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_NWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - - kxyFromfcNEQ_NWT = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NWT*vx2_NWT)); - kyzFromfcNEQ_NWT = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_NWT*vx3_NWT)); - kxzFromfcNEQ_NWT = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_NWT*vx3_NWT)); - kxxMyyFromfcNEQ_NWT = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_NWT*vx1_NWT-vx2_NWT*vx2_NWT)); - kxxMzzFromfcNEQ_NWT = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_NWT*vx1_NWT-vx3_NWT*vx3_NWT)); - - ////////////////////////////////////////////////////////////////////////// - //NET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborCX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborCX[ksw]; - kbw = neighborCX[kbw]; - kbs = kbsw; - kbsw = neighborCX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - //vx1_NET = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_NET = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_NET = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_NET = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_NET = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_NET = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_NET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - - kxyFromfcNEQ_NET = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NET*vx2_NET)); - kyzFromfcNEQ_NET = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_NET*vx3_NET)); - kxzFromfcNEQ_NET = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_NET*vx3_NET)); - kxxMyyFromfcNEQ_NET = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_NET*vx1_NET-vx2_NET*vx2_NET)); - kxxMzzFromfcNEQ_NET = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_NET*vx1_NET-vx3_NET*vx3_NET)); - - ////////////////////////////////////////////////////////////////////////// - //NEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborCX[k0w]; - ks = k0sw; - ksw = neighborCX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - //vx1_NEB = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_NEB = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_NEB = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_NEB = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_NEB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_NEB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_NEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - - kxyFromfcNEQ_NEB = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NEB*vx2_NEB)); - kyzFromfcNEQ_NEB = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_NEB*vx3_NEB)); - kxzFromfcNEQ_NEB = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_NEB*vx3_NEB)); - kxxMyyFromfcNEQ_NEB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_NEB*vx1_NEB-vx2_NEB*vx2_NEB)); - kxxMzzFromfcNEQ_NEB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_NEB*vx1_NEB-vx3_NEB*vx3_NEB)); - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //for all _SWB _SET _NWT _NEB - //Version 1 fixed - ayz= -kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB - kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT - kyzFromfcNEQ_SET - kyzFromfcNEQ_NEB; - bxz= -kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB + kxzFromfcNEQ_SWB - kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET - kxzFromfcNEQ_NEB - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - cxy= kxyFromfcNEQ_SWB - kxyFromfcNEQ_NWT - kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB - kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - ax = ayz + c4o1*( - vx1_SWB + vx1_SET - vx1_NWT + vx1_NEB); - by = bxz + c4o1*( - vx2_SWB - vx2_SET + vx2_NWT + vx2_NEB); - cz = cxy + c4o1*( - vx3_SWB + vx3_SET + vx3_NWT - vx3_NEB); - axy= c2o1*( vx1_SWB - vx1_NWT - vx1_SET + vx1_NEB + vx3_SWB + vx3_NWT - vx3_SET - vx3_NEB) - kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB; - axz= c2o1*( vx1_SWB - vx1_NWT + vx1_SET - vx1_NEB + vx2_SWB + vx2_NWT - vx2_SET - vx2_NEB) - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB + kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB; - bxy= c2o1*( vx2_SWB - vx2_NWT - vx2_SET + vx2_NEB + vx3_SWB - vx3_NWT + vx3_SET - vx3_NEB) + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - ay = axz + c4o1*( - vx1_SWB - vx1_SET + vx1_NWT + vx1_NEB); - az = axy + c4o1*( - vx1_SWB + vx1_SET + vx1_NWT - vx1_NEB); - bz = bxy + c4o1*( - vx2_SWB + vx2_SET + vx2_NWT - vx2_NEB); - bx = c2o1*(kxyFromfcNEQ_SWB + kxyFromfcNEQ_SET + kxyFromfcNEQ_NWT + kxyFromfcNEQ_NEB) - ay; - cy = c2o1*(kyzFromfcNEQ_SWB + kyzFromfcNEQ_SET + kyzFromfcNEQ_NWT + kyzFromfcNEQ_NEB) - bz; - cx = c2o1*(kxzFromfcNEQ_SWB + kxzFromfcNEQ_SET + kxzFromfcNEQ_NWT + kxzFromfcNEQ_NEB) - az; - byz= bx + c4o1*( vx2_SWB - vx2_SET + vx2_NWT - vx2_NEB); - cyz= cx + c4o1*( vx3_SWB - vx3_SET + vx3_NWT - vx3_NEB); - cxz= cy + c4o1*( vx3_SWB + vx3_SET - vx3_NWT - vx3_NEB); - axx= bz + c4o1*( vx2_SWB - vx2_SET - vx2_NWT + vx2_NEB) + c2o1*(-kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_NEB); - ayy= c4o1*( -vx2_SWB + vx2_SET + vx2_NWT - vx2_NEB) + c2o1*(-kxyFromfcNEQ_SWB - kxyFromfcNEQ_SET + kxyFromfcNEQ_NWT + kxyFromfcNEQ_NEB) - bz; - azz= c4o1*( -vx3_SWB - vx3_SET + vx3_NWT + vx3_NEB) + c2o1*(-kxzFromfcNEQ_SWB + kxzFromfcNEQ_SET + kxzFromfcNEQ_NWT - kxzFromfcNEQ_NEB) - cy; - bxx= c4o1*( -vx1_SWB + vx1_SET + vx1_NWT - vx1_NEB) + c2o1*(-kxyFromfcNEQ_SWB + kxyFromfcNEQ_SET - kxyFromfcNEQ_NWT + kxyFromfcNEQ_NEB) - az; - byy= az + c4o1*( vx1_SWB - vx1_SET - vx1_NWT + vx1_NEB) + c2o1*(kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_NEB); - bzz= c4o1*( -vx3_SWB + vx3_SET - vx3_NWT + vx3_NEB) + c2o1*(-kyzFromfcNEQ_SWB + kyzFromfcNEQ_SET + kyzFromfcNEQ_NWT - kyzFromfcNEQ_NEB) - cx; - cxx= c4o1*( -vx1_SWB - vx1_SET + vx1_NWT + vx1_NEB) + c2o1*(-kxzFromfcNEQ_SWB + kxzFromfcNEQ_SET - kxzFromfcNEQ_NWT + kxzFromfcNEQ_NEB) - ay; - cyy= c4o1*( -vx2_SWB + vx2_SET - vx2_NWT + vx2_NEB) + c2o1*(-kyzFromfcNEQ_SWB - kyzFromfcNEQ_SET + kyzFromfcNEQ_NWT + kyzFromfcNEQ_NEB) - bx; - czz= ay + c4o1*(vx1_SWB + vx1_SET - vx1_NWT - vx1_NEB) + c2o1*(kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_NEB); - a0 = c8o1*( vx1_SWB + vx1_NWT + vx1_SET + vx1_NEB) + c2o1*( kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_NEB) + c2o1*(kxzFromfcNEQ_SWB - kxzFromfcNEQ_SET - kxzFromfcNEQ_NWT + kxzFromfcNEQ_NEB) - ayy; - b0 = c8o1*( vx2_SWB + vx2_NWT + vx2_SET + vx2_NEB) + c2o1*(-kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_NEB) + c2o1*( kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_NEB) + c2o1*(kyzFromfcNEQ_SWB - kyzFromfcNEQ_SET - kyzFromfcNEQ_NWT + kyzFromfcNEQ_NEB) - bxx; - c0 = c8o1*( vx3_SWB + vx3_NWT + vx3_SET + vx3_NEB) + c2o1*(-kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_NEB) + c2o1*(kxzFromfcNEQ_SWB - kxzFromfcNEQ_SET + kxzFromfcNEQ_NWT - kxzFromfcNEQ_NEB) - cyy; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //ayz= -kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB - kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT - kyzFromfcNEQ_SET - kyzFromfcNEQ_NEB; - //bxz= -kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB + kxzFromfcNEQ_SWB - kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET - kxzFromfcNEQ_NEB - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - //cxy= kxyFromfcNEQ_SWB - kxyFromfcNEQ_NWT - kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB - kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - //axy= two*( vx1_SWB - vx1_NWT - vx1_SET + vx1_NEB + vx3_SWB + vx3_NWT - vx3_SET - vx3_NEB) - kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB; - //axz= two*( vx1_SWB - vx1_NWT + vx1_SET - vx1_NEB + vx2_SWB + vx2_NWT - vx2_SET - vx2_NEB) - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB + kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB; - //bxy= two*( vx2_SWB - vx2_NWT - vx2_SET + vx2_NEB + vx3_SWB - vx3_NWT + vx3_SET - vx3_NEB) + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - //a0 = eight*( vx1_SWB + vx1_NWT + vx1_SET + vx1_NEB) + two*(vx2_SWB - vx2_NWT - vx2_SET + vx2_NEB + vx3_SWB - vx3_NWT + vx3_SET - vx3_NEB) + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + 2.*(kxyFromfcNEQ_SWB - kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB + kxzFromfcNEQ_SWB - kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB) + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - //ax = four*(-vx1_SWB - vx1_NWT + vx1_SET + vx1_NEB) - kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB - kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT - kyzFromfcNEQ_SET - kyzFromfcNEQ_NEB; - //ay = two*(-vx1_SWB + vx1_NWT - vx1_SET + vx1_NEB + vx2_SWB + vx2_NWT - vx2_SET - vx2_NEB) - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB + kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB; - //az = two*(-vx1_SWB + vx1_NWT + vx1_SET - vx1_NEB + vx3_SWB + vx3_NWT - vx3_SET - vx3_NEB) - kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB; - //axx= two*( vx2_SWB - vx2_NWT - vx2_SET + vx2_NEB + vx3_SWB - vx3_NWT + vx3_SET - vx3_NEB) - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - //ayy= two*(-vx2_SWB + vx2_NWT + vx2_SET - vx2_NEB - vx3_SWB + vx3_NWT - vx3_SET + vx3_NEB) - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + two*(-kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT - kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB) - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT - kyzFromfcNEQ_SET - kyzFromfcNEQ_NEB; - //azz= two*(-vx2_SWB + vx2_NWT + vx2_SET - vx2_NEB - vx3_SWB + vx3_NWT - vx3_SET + vx3_NEB) + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + two*(-kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET - kxzFromfcNEQ_NEB) - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT - kyzFromfcNEQ_SET - kyzFromfcNEQ_NEB; - //b0 = two*( vx1_SWB - vx1_NWT - vx1_SET + vx1_NEB + four*(vx2_SWB + vx2_NWT + vx2_SET + vx2_NEB) + vx3_SWB + vx3_NWT - vx3_SET - vx3_NEB - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB) + kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + two*(kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT - kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB) + kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB + two*(kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT - kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB); - //bx = two*( vx1_SWB - vx1_NWT + vx1_SET - vx1_NEB - vx2_SWB - vx2_NWT + vx2_SET + vx2_NEB) + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB + kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB; - //by = four*(-vx2_SWB + vx2_NWT - vx2_SET + vx2_NEB) - kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB + kxzFromfcNEQ_SWB - kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET - kxzFromfcNEQ_NEB - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - //bz = two*(-vx2_SWB + vx2_NWT + vx2_SET - vx2_NEB + vx3_SWB - vx3_NWT + vx3_SET - vx3_NEB) + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - //bxx= two*(-vx1_SWB + vx1_NWT + vx1_SET - vx1_NEB - vx3_SWB - vx3_NWT + vx3_SET + vx3_NEB) + kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + two*(-kxyFromfcNEQ_SWB - kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB) - kxzFromfcNEQ_SWB - kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET - kxzFromfcNEQ_NEB; - //byy= two*( vx1_SWB - vx1_NWT - vx1_SET + vx1_NEB + vx3_SWB + vx3_NWT - vx3_SET - vx3_NEB + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB) - kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB; - //bzz= two*(-vx1_SWB + vx1_NWT + vx1_SET - vx1_NEB - vx3_SWB - vx3_NWT + vx3_SET + vx3_NEB) - kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB - kxzFromfcNEQ_SWB - kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET - kxzFromfcNEQ_NEB + two*(-kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET - kyzFromfcNEQ_NEB); - //byz= two*( vx1_SWB - vx1_NWT + vx1_SET - vx1_NEB + vx2_SWB + vx2_NWT - vx2_SET - vx2_NEB) + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB + kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB; - //c0 = two*( vx1_SWB - vx1_NWT + vx1_SET - vx1_NEB + vx2_SWB + vx2_NWT - vx2_SET - vx2_NEB) + eight*(vx3_SWB + vx3_NWT + vx3_SET + vx3_NEB) + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB + two*(-kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB) + kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB + two*(kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET - kxzFromfcNEQ_NEB + kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET - kyzFromfcNEQ_NEB); - //cx = two*( vx1_SWB - vx1_NWT - vx1_SET + vx1_NEB - vx3_SWB - vx3_NWT + vx3_SET + vx3_NEB) + kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB; - //cy = two*( vx2_SWB - vx2_NWT - vx2_SET + vx2_NEB - vx3_SWB + vx3_NWT - vx3_SET + vx3_NEB) - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - //cz = four*(-vx3_SWB + vx3_NWT + vx3_SET - vx3_NEB) + kxyFromfcNEQ_SWB - kxyFromfcNEQ_NWT - kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB - kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - //cxx= two*(-vx1_SWB + vx1_NWT - vx1_SET + vx1_NEB - vx2_SWB - vx2_NWT + vx2_SET + vx2_NEB) + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB - kxyFromfcNEQ_SWB - kxyFromfcNEQ_NWT - kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB + two*(-kxzFromfcNEQ_SWB - kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB); - //cyy= two*(-vx1_SWB + vx1_NWT - vx1_SET + vx1_NEB - vx2_SWB - vx2_NWT + vx2_SET + vx2_NEB) - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB - kxyFromfcNEQ_SWB - kxyFromfcNEQ_NWT - kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB + two*(-kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT - kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB); - //czz= two*( vx1_SWB - vx1_NWT + vx1_SET - vx1_NEB + vx2_SWB + vx2_NWT - vx2_SET - vx2_NEB) - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB + two*(kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB) + kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB; - //cxz= two*( vx2_SWB - vx2_NWT - vx2_SET + vx2_NEB + vx3_SWB - vx3_NWT + vx3_SET - vx3_NEB) - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - //cyz= two*( vx1_SWB - vx1_NWT - vx1_SET + vx1_NEB + vx3_SWB + vx3_NWT - vx3_SET - vx3_NEB) + kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // (_SWT _SEB _NWB _NET) - //merged - real tayz = kxyFromfcNEQ_SWT - kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET - kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB - kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB - kyzFromfcNEQ_SEB - kyzFromfcNEQ_NET; - real tbxz = kxyFromfcNEQ_SWT - kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET + kxzFromfcNEQ_SWT - kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB - kxzFromfcNEQ_NET - kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET; - real tcxy =-kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB - kxyFromfcNEQ_NET - kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB - kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET - kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET; - real tax = c4o1*(-vx1_SWT + vx1_SEB - vx1_NWB + vx1_NET) - tayz; - real tby = c4o1*(-vx2_SWT - vx2_SEB + vx2_NWB + vx2_NET) - tbxz; - real tcz = c4o1*( vx3_SWT - vx3_SEB - vx3_NWB + vx3_NET) - tcxy; - real taxy = c2o1*( vx1_SWT - vx1_NWB - vx1_SEB + vx1_NET - vx3_SWT - vx3_NWB + vx3_SEB + vx3_NET) - kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - kxzFromfcNEQ_SWT - kxzFromfcNEQ_NWB - kxzFromfcNEQ_SEB - kxzFromfcNEQ_NET; - real taxz = c2o1*(-vx1_SWT + vx1_NWB - vx1_SEB + vx1_NET - vx2_SWT - vx2_NWB + vx2_SEB + vx2_NET) + kxxMyyFromfcNEQ_SWT - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET - kxyFromfcNEQ_SWT - kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB - kxyFromfcNEQ_NET; - real tbxy = c2o1*( vx2_SWT - vx2_NWB - vx2_SEB + vx2_NET - vx3_SWT + vx3_NWB - vx3_SEB + vx3_NET) + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NET - kxxMzzFromfcNEQ_SWT - kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB - kyzFromfcNEQ_SEB - kyzFromfcNEQ_NET; - real tay = c4o1*(-vx1_SWT - vx1_SEB + vx1_NWB + vx1_NET) - taxz; - real taz = c4o1*( vx1_SWT - vx1_SEB - vx1_NWB + vx1_NET) - taxy; - real tbz = c4o1*( vx2_SWT - vx2_SEB - vx2_NWB + vx2_NET) - tbxy; - real tbx = c2o1*(kxyFromfcNEQ_SWT + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NWB + kxyFromfcNEQ_NET) - tay; - real tcy = c2o1*(kyzFromfcNEQ_SWT + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NWB + kyzFromfcNEQ_NET) - tbz; - real tcx = c2o1*(kxzFromfcNEQ_SWT + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NWB + kxzFromfcNEQ_NET) - taz; - real tbyz = c4o1*(-vx2_SWT + vx2_SEB - vx2_NWB + vx2_NET) - tbx; - real tcyz = c4o1*(-vx3_SWT + vx3_SEB - vx3_NWB + vx3_NET) - tcx; - real tcxz = c4o1*(-vx3_SWT - vx3_SEB + vx3_NWB + vx3_NET) - tcy; - real taxx = c4o1*( vx2_SWT - vx2_SEB - vx2_NWB + vx2_NET) + c2o1*(-kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NET) - tbz; - real tayy = c4o1*(-vx2_SWT + vx2_SEB + vx2_NWB - vx2_NET) + c2o1*(-kxyFromfcNEQ_SWT - kxyFromfcNEQ_SEB + kxyFromfcNEQ_NWB + kxyFromfcNEQ_NET ) + tbz; - real tazz = c4o1*( vx3_SWT + vx3_SEB - vx3_NWB - vx3_NET) + c2o1*( kxzFromfcNEQ_SWT - kxzFromfcNEQ_SEB - kxzFromfcNEQ_NWB + kxzFromfcNEQ_NET ) + tcy; - real tbxx = c4o1*(-vx1_SWT + vx1_SEB + vx1_NWB - vx1_NET) + c2o1*(-kxyFromfcNEQ_SWT + kxyFromfcNEQ_SEB - kxyFromfcNEQ_NWB + kxyFromfcNEQ_NET ) + taz; - real tbyy = c4o1*( vx1_SWT - vx1_SEB - vx1_NWB + vx1_NET) + c2o1*( kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NET) - taz; - real tbzz = c4o1*( vx3_SWT - vx3_SEB + vx3_NWB - vx3_NET) + c2o1*( kyzFromfcNEQ_SWT - kyzFromfcNEQ_SEB - kyzFromfcNEQ_NWB + kyzFromfcNEQ_NET ) + tcx; - real tcxx = c4o1*( vx1_SWT + vx1_SEB - vx1_NWB - vx1_NET) + c2o1*(-kxzFromfcNEQ_SWT + kxzFromfcNEQ_SEB - kxzFromfcNEQ_NWB + kxzFromfcNEQ_NET ) + tay; - real tcyy = c4o1*( vx2_SWT - vx2_SEB + vx2_NWB - vx2_NET) + c2o1*(-kyzFromfcNEQ_SWT - kyzFromfcNEQ_SEB + kyzFromfcNEQ_NWB + kyzFromfcNEQ_NET ) + tbx; - real tczz = c4o1*(-vx1_SWT - vx1_SEB + vx1_NWB + vx1_NET) + c2o1*(-kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NET) - tay; - real ta0 = c8o1*( vx1_SWT + vx1_NWB + vx1_SEB + vx1_NET) + c2o1*( kxxMzzFromfcNEQ_SWT - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NET) + c2o1*(-kxzFromfcNEQ_SWT + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NWB - kxzFromfcNEQ_NET ) - tayy; - real tb0 = c8o1*( vx2_SWT + vx2_NWB + vx2_SEB + vx2_NET) + c2o1*(-kxxMyyFromfcNEQ_SWT - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NET) + c2o1*( kxyFromfcNEQ_SWT - kxyFromfcNEQ_SEB + kxyFromfcNEQ_NWB - kxyFromfcNEQ_NET ) - tbzz; - real tc0 = c8o1*( vx3_SWT + vx3_NWB + vx3_SEB + vx3_NET) + c2o1*(-kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NET) + c2o1*( kxzFromfcNEQ_SWT - kxzFromfcNEQ_SEB + kxzFromfcNEQ_NWB - kxzFromfcNEQ_NET ) - tcyy; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - a0 += ta0 ; - ax += tax ; - ay += tay ; - az += taz ; - axx += taxx ; - ayy += tayy ; - azz += tazz ; - axy += taxy ; - axz += taxz ; - ayz += tayz ; - b0 += tb0 ; - bx += tbx ; - by += tby ; - bz += tbz ; - bxx += tbxx ; - byy += tbyy ; - bzz += tbzz ; - bxy += tbxy ; - bxz += tbxz ; - byz += tbyz ; - c0 += tc0 ; - cx += tcx ; - cy += tcy ; - cz += tcz ; - cxx += tcxx ; - cyy += tcyy ; - czz += tczz ; - cxy += tcxy ; - cxz += tcxz ; - cyz += tcyz ; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //a0 += eight*( vx1_SWT + vx1_NWB + vx1_SEB + vx1_NET) + two*(vx2_SWT - vx2_NWB - vx2_SEB + vx2_NET - vx3_SWT + vx3_NWB - vx3_SEB + vx3_NET) + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NET + two*(kxyFromfcNEQ_SWT - kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB - kxyFromfcNEQ_NET - kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB - kxzFromfcNEQ_NET) - kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB - kyzFromfcNEQ_SEB - kyzFromfcNEQ_NET; - //ax += four*(-vx1_SWT - vx1_NWB + vx1_SEB + vx1_NET) - kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB - kxyFromfcNEQ_NET + kxzFromfcNEQ_SWT - kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB - kxzFromfcNEQ_NET - kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET; - //ay += two*(-vx1_SWT + vx1_NWB - vx1_SEB + vx1_NET + vx2_SWT + vx2_NWB - vx2_SEB - vx2_NET) - kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NET + kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET; - //az += two*( vx1_SWT - vx1_NWB - vx1_SEB + vx1_NET + vx3_SWT + vx3_NWB - vx3_SEB - vx3_NET) + kxxMzzFromfcNEQ_SWT - kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NET + kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET; - //axx += two*( vx2_SWT - vx2_NWB - vx2_SEB + vx2_NET - vx3_SWT + vx3_NWB - vx3_SEB + vx3_NET) - kxxMyyFromfcNEQ_SWT - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET - kxxMzzFromfcNEQ_SWT - kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB - kyzFromfcNEQ_SEB - kyzFromfcNEQ_NET; - //ayy += two*(-vx2_SWT + vx2_NWB + vx2_SEB - vx2_NET + vx3_SWT - vx3_NWB + vx3_SEB - vx3_NET) - kxxMyyFromfcNEQ_SWT - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NET + two*(-kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET) + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET; - //azz += two*(-vx2_SWT + vx2_NWB + vx2_SEB - vx2_NET + vx3_SWT - vx3_NWB + vx3_SEB - vx3_NET) + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NET - kxxMzzFromfcNEQ_SWT - kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET + two*( kxzFromfcNEQ_SWT - kxzFromfcNEQ_NWB - kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET) + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET; - //axy += two*( vx1_SWT - vx1_NWB - vx1_SEB + vx1_NET - vx3_SWT - vx3_NWB + vx3_SEB + vx3_NET) - kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - kxzFromfcNEQ_SWT - kxzFromfcNEQ_NWB - kxzFromfcNEQ_SEB - kxzFromfcNEQ_NET; - //axz += two*(-vx1_SWT + vx1_NWB - vx1_SEB + vx1_NET - vx2_SWT - vx2_NWB + vx2_SEB + vx2_NET) + kxxMyyFromfcNEQ_SWT - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET - kxyFromfcNEQ_SWT - kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB - kxyFromfcNEQ_NET; - //ayz += kxyFromfcNEQ_SWT - kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET - kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB - kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB - kyzFromfcNEQ_SEB - kyzFromfcNEQ_NET; - //b0 += two*( vx1_SWT - vx1_NWB - vx1_SEB + vx1_NET + four*(vx2_SWT + vx2_NWB + vx2_SEB + vx2_NET) - vx3_SWT - vx3_NWB + vx3_SEB + vx3_NET - kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET) + kxxMzzFromfcNEQ_SWT - kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NET + two*(kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB - kxyFromfcNEQ_NET) - kxzFromfcNEQ_SWT - kxzFromfcNEQ_NWB - kxzFromfcNEQ_SEB - kxzFromfcNEQ_NET + two*(-kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB - kyzFromfcNEQ_NET); - //bx += two*( vx1_SWT - vx1_NWB + vx1_SEB - vx1_NET - vx2_SWT - vx2_NWB + vx2_SEB + vx2_NET) + kxxMyyFromfcNEQ_SWT - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET; - //by += four*(-vx2_SWT + vx2_NWB - vx2_SEB + vx2_NET) - kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB - kxyFromfcNEQ_NET - kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB - kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB - kyzFromfcNEQ_SEB - kyzFromfcNEQ_NET; - //bz += two*( vx2_SWT - vx2_NWB - vx2_SEB + vx2_NET + vx3_SWT - vx3_NWB + vx3_SEB - vx3_NET) - kxxMyyFromfcNEQ_SWT - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET; - //bxx += two*(-vx1_SWT + vx1_NWB + vx1_SEB - vx1_NET + vx3_SWT + vx3_NWB - vx3_SEB - vx3_NET) + kxxMzzFromfcNEQ_SWT - kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NET + two*(-kxyFromfcNEQ_SWT - kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET) + kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET; - //byy += two*( vx1_SWT - vx1_NWB - vx1_SEB + vx1_NET - vx3_SWT - vx3_NWB + vx3_SEB + vx3_NET + kxxMyyFromfcNEQ_SWT - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NET) - kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - kxzFromfcNEQ_SWT - kxzFromfcNEQ_NWB - kxzFromfcNEQ_SEB - kxzFromfcNEQ_NET; - //bzz += two*(-vx1_SWT + vx1_NWB + vx1_SEB - vx1_NET + vx3_SWT + vx3_NWB - vx3_SEB - vx3_NET) - kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET + kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET + two*(kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB - kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET); - //bxy += two*( vx2_SWT - vx2_NWB - vx2_SEB + vx2_NET - vx3_SWT + vx3_NWB - vx3_SEB + vx3_NET) + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NET - kxxMzzFromfcNEQ_SWT - kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB - kyzFromfcNEQ_SEB - kyzFromfcNEQ_NET; - //bxz += kxyFromfcNEQ_SWT - kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET + kxzFromfcNEQ_SWT - kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB - kxzFromfcNEQ_NET - kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET; - //byz += two*(-vx1_SWT + vx1_NWB - vx1_SEB + vx1_NET - vx2_SWT - vx2_NWB + vx2_SEB + vx2_NET) - kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NET - kxyFromfcNEQ_SWT - kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB - kxyFromfcNEQ_NET; - //c0 += two*(-vx1_SWT + vx1_NWB - vx1_SEB + vx1_NET - vx2_SWT - vx2_NWB + vx2_SEB + vx2_NET) + eight*(vx3_SWT + vx3_NWB + vx3_SEB + vx3_NET) - kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NET + two*(kxxMzzFromfcNEQ_SWT - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET) - kxyFromfcNEQ_SWT - kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB - kxyFromfcNEQ_NET + two*(kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB - kxzFromfcNEQ_SEB - kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB - kyzFromfcNEQ_NET); - //cx += two*(-vx1_SWT + vx1_NWB + vx1_SEB - vx1_NET - vx3_SWT - vx3_NWB + vx3_SEB + vx3_NET) - kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET + kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET; - //cy += two*(-vx2_SWT + vx2_NWB + vx2_SEB - vx2_NET - vx3_SWT + vx3_NWB - vx3_SEB + vx3_NET) + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NET - kxxMzzFromfcNEQ_SWT - kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET; - //cz += four*( vx3_SWT - vx3_NWB - vx3_SEB + vx3_NET) + kxyFromfcNEQ_SWT - kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET + kxzFromfcNEQ_SWT - kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB - kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB - kyzFromfcNEQ_SEB - kyzFromfcNEQ_NET; - //cxx += two*( vx1_SWT - vx1_NWB + vx1_SEB - vx1_NET + vx2_SWT + vx2_NWB - vx2_SEB - vx2_NET) - kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NET + kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET + two*(-kxzFromfcNEQ_SWT - kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET); - //cyy += two*( vx1_SWT - vx1_NWB + vx1_SEB - vx1_NET + vx2_SWT + vx2_NWB - vx2_SEB - vx2_NET) + kxxMyyFromfcNEQ_SWT - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET + two*(-kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB - kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET); - //czz += two*(-vx1_SWT + vx1_NWB - vx1_SEB + vx1_NET - vx2_SWT - vx2_NWB + vx2_SEB + vx2_NET) + kxxMyyFromfcNEQ_SWT - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + two*(-kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NET) - kxyFromfcNEQ_SWT - kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB - kxyFromfcNEQ_NET; - //cxy += -kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB - kxyFromfcNEQ_NET - kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB - kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET - kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET; - //cxz += two*( vx2_SWT - vx2_NWB - vx2_SEB + vx2_NET - vx3_SWT + vx3_NWB - vx3_SEB + vx3_NET) - kxxMyyFromfcNEQ_SWT - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NET - kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB - kyzFromfcNEQ_SEB - kyzFromfcNEQ_NET; - //cyz += two*( vx1_SWT - vx1_NWB - vx1_SEB + vx1_NET - vx3_SWT - vx3_NWB + vx3_SEB + vx3_NET) + kxxMzzFromfcNEQ_SWT - kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NET - kxzFromfcNEQ_SWT - kxzFromfcNEQ_NWB - kxzFromfcNEQ_SEB - kxzFromfcNEQ_NET; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - a0 *= c1o64; // /=2.f; && /= 32.f; - ax *= c1o16; // /=2.f; && /= 8.f; - ay *= c1o16; // /=2.f; && /= 8.f; - az *= c1o16; // /=2.f; && /= 8.f; - axx *= c1o16; // /=2.f; && /= 8.f; - ayy *= c1o16; // /=2.f; && /= 8.f; - azz *= c1o16; // /=2.f; && /= 8.f; - axy *= c1o8; // /=2.f; && /= 4.f; - axz *= c1o8; // /=2.f; && /= 4.f; - ayz *= c1o8; // /=2.f; && /= 4.f; - b0 *= c1o64; // /=2.f; && /= 32.f; - bx *= c1o16; // /=2.f; && /= 8.f; - by *= c1o16; // /=2.f; && /= 8.f; - bz *= c1o16; // /=2.f; && /= 8.f; - bxx *= c1o16; // /=2.f; && /= 8.f; - byy *= c1o16; // /=2.f; && /= 8.f; - bzz *= c1o16; // /=2.f; && /= 8.f; - bxy *= c1o8; // /=2.f; && /= 4.f; - bxz *= c1o8; // /=2.f; && /= 4.f; - byz *= c1o8; // /=2.f; && /= 4.f; - c0 *= c1o64; // /=2.f; && /= 32.f; - cx *= c1o16; // /=2.f; && /= 8.f; - cy *= c1o16; // /=2.f; && /= 8.f; - cz *= c1o16; // /=2.f; && /= 8.f; - cxx *= c1o16; // /=2.f; && /= 8.f; - cyy *= c1o16; // /=2.f; && /= 8.f; - czz *= c1o16; // /=2.f; && /= 8.f; - cxy *= c1o8; // /=2.f; && /= 4.f; - cxz *= c1o8; // /=2.f; && /= 4.f; - cyz *= c1o8; // /=2.f; && /= 4.f; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - // Bernd das Brot - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - a0 = a0 + xoff * ax + yoff * ay + zoff * az + xoff_sq * axx + yoff_sq * ayy + zoff_sq * azz; - ax = ax + c2o1 * xoff * axx + yoff * axy + zoff * axz; - ay = ay + c2o1 * yoff * ayy + xoff * axy + zoff * ayz; - az = az + c2o1 * zoff * azz + xoff * axz + yoff * ayz; - b0 = b0 + xoff * bx + yoff * by + zoff * bz + xoff_sq * bxx + yoff_sq * byy + zoff_sq * bzz; - bx = bx + c2o1 * xoff * bxx + yoff * bxy + zoff * bxz; - by = by + c2o1 * yoff * byy + xoff * bxy + zoff * byz; - bz = bz + c2o1 * zoff * bzz + xoff * bxz + yoff * byz; - c0 = c0 + xoff * cx + yoff * cy + zoff * cz + xoff_sq * cxx + yoff_sq * cyy + zoff_sq * czz; - cx = cx + c2o1 * xoff * cxx + yoff * cxy + zoff * cxz; - cy = cy + c2o1 * yoff * cyy + xoff * cxy + zoff * cyz; - cz = cz + c2o1 * zoff * czz + xoff * cxz + yoff * cyz; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real x_E, x_N, x_T, x_NE, x_SE, x_BE, x_TE, x_TN, x_BN, x_TNE, x_TNW, x_TSE, x_TSW, x_ZERO; - real y_E, y_N, y_T, y_NE, y_SE, y_BE, y_TE, y_TN, y_BN, y_TNE, y_TNW, y_TSE, y_TSW, y_ZERO; - real z_E, z_N, z_T, z_NE, z_SE, z_BE, z_TE, z_TN, z_BN, z_TNE, z_TNW, z_TSE, z_TSW, z_ZERO; - - f_E = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o - c8o1*ax*op + c4o1*by*op + c4o1*cz*op)/(c54o1*o*op)); - f_N = f_E + eps_new *((c2o1*(ax - by))/(c9o1*o)); - f_T = f_E + eps_new *((c2o1*(ax - cz))/(c9o1*o)); - f_NE = eps_new *(-(c5o1*cz*o + c3o1*(ay + bx)*op - c2o1*cz*op + ax*(c5o1*o + op) + by*(c5o1*o + op))/(c54o1*o*op)); - f_SE = f_NE + eps_new *(( ay + bx )/(c9o1*o)); - f_TE = eps_new *(-(c5o1*cz*o + by*(c5o1*o - c2o1*op) + c3o1*(az + cx)*op + cz*op + ax*(c5o1*o + op))/(c54o1*o*op)); - f_BE = f_TE + eps_new *(( az + cx )/(c9o1*o)); - f_TN = eps_new *(-(c5o1*ax*o + c5o1*by*o + c5o1*cz*o - c2o1*ax*op + by*op + c3o1*bz*op + c3o1*cy*op + cz*op)/(c54o1*o*op)); - f_BN = f_TN + eps_new *(( bz + cy )/(c9o1*o)); - f_ZERO = eps_new *((c5o1*(ax + by + cz))/(c9o1*op)); - f_TNE = eps_new *(-(ay + az + bx + bz + cx + cy)/(c72o1*o)); - f_TSW = - eps_new *((ay + bx)/(c36o1*o)) - f_TNE; - f_TSE = - eps_new *((az + cx)/(c36o1*o)) - f_TNE; - f_TNW = - eps_new *((bz + cy)/(c36o1*o)) - f_TNE; - - //x_E = zero; - //x_N = zero; - //x_T = zero; - //x_NE = zero; - //x_SE = zero; - //x_TE = zero; - //x_BE = zero; - //x_TN = zero; - //x_BN = zero; - //x_ZERO = zero; - //x_TNE = zero; - //x_TSW = zero; - //x_TSE = zero; - //x_TNW = zero; - - //y_E = zero; - //y_N = zero; - //y_T = zero; - //y_NE = zero; - //y_SE = zero; - //y_TE = zero; - //y_BE = zero; - //y_TN = zero; - //y_BN = zero; - //y_ZERO = zero; - //y_TNE = zero; - //y_TSW = zero; - //y_TSE = zero; - //y_TNW = zero; - - //z_E = zero; - //z_N = zero; - //z_T = zero; - //z_NE = zero; - //z_SE = zero; - //z_TE = zero; - //z_BE = zero; - //z_TN = zero; - //z_BN = zero; - //z_ZERO = zero; - //z_TNE = zero; - //z_TSW = zero; - //z_TSE = zero; - //z_TNW = zero; - - x_E = c1o4*eps_new *((c10o1*axx*o + c5o1*bxy*o + c5o1*cxz*o - c16o1*axx*op + c4o1*bxy*op + c4o1*cxz*op)/(c54o1*o*op)); - x_N = x_E + c1o4*eps_new *((c4o1*axx - c2o1*bxy)/(c9o1*o)); - x_T = x_E + c1o4*eps_new *((c4o1*axx - c2o1*cxz)/(c9o1*o)); - x_NE = c1o4*eps_new *(-( c10o1*axx*o + c5o1*bxy*o + c5o1*cxz*o + c2o1*axx*op + c3o1*axy*op + c6o1*bxx*op + bxy*op - c2o1*cxz*op )/(c54o1*o*op)); - x_SE = x_NE + c1o4*eps_new *((axy + c2o1*bxx)/(c9o1*o)); - x_TE = c1o4*eps_new *(-( c10o1*axx*o + c5o1*bxy*o + c5o1*cxz*o + c2o1*axx*op + c3o1*axz*op - c2o1*bxy*op + c6o1*cxx*op + cxz*op )/(c54o1*o*op)); - x_BE = x_TE + c1o4*eps_new *((axz + c2o1*cxx)/(c9o1*o)); - x_TN = c1o4*eps_new *(-( c10o1*axx*o + c5o1*bxy*o + c5o1*cxz*o - c4o1*axx*op + bxy*op + c3o1*bxz*op + c3o1*cxy*op + cxz*op )/(c54o1*o*op)); - x_BN = x_TN + c1o4*eps_new *((bxz + cxy)/(c9o1*o)); - x_ZERO = c1o4*eps_new *((((c2o1*axx + bxy + cxz)))/(c9o1*op)); - x_TNE = c1o4*eps_new *(-( axy + axz + c2o1*bxx + bxz + c2o1*cxx + cxy )/(c72o1*o)); - x_TSW = - c1o4*eps_new *(( axy + c2o1*bxx)/(c36o1*o)) - x_TNE; - x_TSE = - c1o4*eps_new *(( axz + c2o1*cxx)/(c36o1*o)) - x_TNE; - x_TNW = - c1o4*eps_new *(( bxz + cxy)/(c36o1*o)) - x_TNE; - - y_E = c1o4*eps_new *((c5o1*axy*o + c10o1*byy*o + c5o1*cyz*o - c8o1*axy*op + c8o1*byy*op + c4o1*cyz*op )/(c54o1*o*op)); - y_N = y_E + c1o4*eps_new *((c2o1*axy - c4o1*byy)/(c9o1*o)); - y_T = y_E + c1o4*eps_new *((c2o1*axy - c2o1*cyz)/(c9o1*o)); - y_NE = c1o4*eps_new *(-(c5o1*axy*o + c10o1*byy*o + c5o1*cyz*o + axy*op + c6o1*ayy*op + c3o1*bxy*op + c2o1*byy*op - c2o1*cyz*op)/(c54o1*o*op)); - y_SE = y_NE + c1o4*eps_new *((c2o1*ayy + bxy)/(c9o1*o)); - y_TE = c1o4*eps_new *(-(c5o1*axy*o + c10o1*byy*o + c5o1*cyz*o + axy*op + c3o1*ayz*op - c4o1*byy*op + c3o1*cxy*op + cyz*op)/(c54o1*o*op)); - y_BE = y_TE + c1o4*eps_new *(( ayy + bxy)/(c9o1*o)); - y_TN = c1o4*eps_new *(-(c5o1*axy*o + c10o1*byy*o + c5o1*cyz*o - c2o1*axy*op + c2o1*byy*op + c3o1*byz*op + c6o1*cyy*op + cyz*op)/(c54o1*o*op)); - y_BN = y_TN + c1o4*eps_new *(( byz + c2o1*cyy)/(c9o1*o)); - y_ZERO = c1o4*eps_new *(( (axy + c2o1*byy + cyz))/(c9o1*op)); - y_TNE = c1o4*eps_new *(-( (c2o1*ayy + ayz + bxy + byz) + cxy + c2o1*cyy)/(c72o1*o)); - y_TSW = - c1o4*eps_new *(( c2o1*ayy + bxy)/(c36o1*o)) - y_TNE; - y_TSE = - c1o4*eps_new *(( ayz + cxy)/(c36o1*o)) - y_TNE; - y_TNW = - c1o4*eps_new *(( byz + c2o1*cyy)/(c36o1*o)) - y_TNE; - - z_E = c1o4*eps_new *(((c5o1*(axz + byz + c2o1*czz)*o + c4o1*(-c2o1*axz + byz + c2o1*czz)*op))/(c54o1*o*op)); - z_N = z_E + c1o4*eps_new *((c2o1*axz - c2o1*byz)/(c9o1*o)); - z_T = z_E + c1o4*eps_new *((c2o1*axz - c4o1*czz)/(c9o1*o)); - z_NE = c1o4*eps_new *(-((c5o1*(axz + byz + c2o1*czz)*o + (axz + c3o1*ayz + c3o1*bxz + byz - c4o1*czz)*op))/(c54o1*o*op)); - z_SE = z_NE + c1o4*eps_new *((ayz + bxz)/(c9o1*o)); - z_TE = c1o4*eps_new *(-((c5o1*(axz + byz + c2o1*czz)*o + (axz + c6o1*azz - c2o1*byz + c3o1*cxz + c2o1*czz)*op))/(c54o1*o*op)); - z_BE = z_TE + c1o4*eps_new *((c2o1*azz + cxz)/(c9o1*o)); - z_TN = c1o4*eps_new *(-((c5o1*(axz + byz + c2o1*czz)*o + (-c2o1*axz + byz + c6o1*bzz + c3o1*cyz + c2o1*czz)*op))/(c54o1*o*op)); - z_BN = z_TN + c1o4*eps_new *((c2o1*bzz + cyz)/(c9o1*o)); - z_ZERO = c1o4*eps_new *(((axz + byz + c2o1*czz))/(c9o1*op)); - z_TNE = c1o4*eps_new *(-((ayz + c2o1*azz) + (bxz + c2o1*bzz + cxz + cyz))/(c72o1*o)); - z_TSW = - c1o4*eps_new *(( ayz + bxz)/(c36o1*o)) - z_TNE; - z_TSE = - c1o4*eps_new *(( c2o1*azz + cxz)/(c36o1*o)) - z_TNE; - z_TNW = - c1o4*eps_new *(( c2o1*bzz + cyz)/(c36o1*o)) - z_TNE; - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //Position SWB -0.25, -0.25, -0.25 - //x = -c1o4; - //y = -c1o4; - //z = -c1o4; - - //drho = c3o64*drho_NEB+c1o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c27o64*drho_SWB+c9o64*drho_SWT; - drho = drho_SWT * (c9o64 + c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + - drho_NWT * (c3o64 + c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - drho_SET * (c3o64 - c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + - drho_NET * (c1o64 - c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + - drho_NEB * (c3o64 - c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + - drho_NWB * (c9o64 + c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + - drho_SEB * (c9o64 - c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - drho_SWB * (c27o64 + c9o16 * xoff + c9o16 * yoff + c9o16 * zoff); - vx1 = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz); - vx2 = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz); - vx3 = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz); - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - feq_ZERO = c8o27* (drho-cu_sq); - feq_E = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - feq_N = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - feq_T = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - feq_NE = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - feq_SE = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - feq_TE = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - feq_BE = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - feq_TN = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - feq_BN = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - feq_TNE = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - feq_BNE = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - feq_TSE = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - feq_BSE = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - feq_W = feq_E + c2o27* (c6o1*(-vx1 )); - feq_S = feq_N + c2o27* (c6o1*( -vx2 )); - feq_B = feq_T + c2o27* (c6o1*( -vx3)); - feq_SW = feq_NE + c1o54* (c6o1*(-vx1-vx2 )); - feq_NW = feq_SE + c1o54* (c6o1*(-vx1+vx2 )); - feq_BW = feq_TE + c1o54* (c6o1*(-vx1 -vx3)); - feq_TW = feq_BE + c1o54* (c6o1*(-vx1 +vx3)); - feq_BS = feq_TN + c1o54* (c6o1*( -vx2-vx3)); - feq_TS = feq_BN + c1o54* (c6o1*( -vx2+vx3)); - feq_BSW = feq_TNE + c1o216*(c6o1*(-vx1-vx2-vx3)); - feq_TSW = feq_BNE + c1o216*(c6o1*(-vx1-vx2+vx3)); - feq_BNW = feq_TSE + c1o216*(c6o1*(-vx1+vx2-vx3)); - feq_TNW = feq_BSE + c1o216*(c6o1*(-vx1+vx2+vx3)); - - - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= posFSWB[k]; - k0w = neighborFX[k0zero]; - k0s = neighborFY[k0zero]; - k0b = neighborFZ[k0zero]; - k0sw = neighborFY[k0w]; - k0bw = neighborFZ[k0w]; - k0bs = neighborFZ[k0s]; - k0bsw = neighborFZ[k0sw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - feF[kzero] = f_E - x_E - y_E - z_E + feq_E; - fwF[kw] = f_E - x_E - y_E - z_E + feq_W; - fnF[kzero] = f_N - x_N - y_N - z_N + feq_N; - fsF[ks] = f_N - x_N - y_N - z_N + feq_S; - ftF[kzero] = f_T - x_T - y_T - z_T + feq_T; - fbF[kb] = f_T - x_T - y_T - z_T + feq_B; - fneF[kzero] = f_NE - x_NE - y_NE - z_NE + feq_NE; - fswF[ksw] = f_NE - x_NE - y_NE - z_NE + feq_SW; - fseF[ks] = f_SE - x_SE - y_SE - z_SE + feq_SE; - fnwF[kw] = f_SE - x_SE - y_SE - z_SE + feq_NW; - fteF[kzero] = f_TE - x_TE - y_TE - z_TE + feq_TE; - fbwF[kbw] = f_TE - x_TE - y_TE - z_TE + feq_BW; - fbeF[kb] = f_BE - x_BE - y_BE - z_BE + feq_BE; - ftwF[kw] = f_BE - x_BE - y_BE - z_BE + feq_TW; - ftnF[kzero] = f_TN - x_TN - y_TN - z_TN + feq_TN; - fbsF[kbs] = f_TN - x_TN - y_TN - z_TN + feq_BS; - fbnF[kb] = f_BN - x_BN - y_BN - z_BN + feq_BN; - ftsF[ks] = f_BN - x_BN - y_BN - z_BN + feq_TS; - fzeroF[kzero]= f_ZERO - x_ZERO - y_ZERO - z_ZERO + feq_ZERO; - ftneF[kzero] = f_TNE - x_TNE - y_TNE - z_TNE + feq_TNE; - ftswF[ksw] = f_TSW - x_TSW - y_TSW - z_TSW + feq_TSW; - ftseF[ks] = f_TSE - x_TSE - y_TSE - z_TSE + feq_TSE; - ftnwF[kw] = f_TNW - x_TNW - y_TNW - z_TNW + feq_TNW; - fbneF[kb] = f_TSW - x_TSW - y_TSW - z_TSW + feq_BNE; - fbswF[kbsw] = f_TNE - x_TNE - y_TNE - z_TNE + feq_BSW; - fbseF[kbs] = f_TNW - x_TNW - y_TNW - z_TNW + feq_BSE; - fbnwF[kbw] = f_TSE - x_TSE - y_TSE - z_TSE + feq_BNW; - - //Position SWT -0.25, -0.25, 0.25 - //x = -c1o4; - //y = -c1o4; - //z = c1o4; - - //drho = c1o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c27o64*drho_SWT; - drho = drho_SWT * (c27o64 + c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + - drho_NWT * (c9o64 + c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + - drho_SET * (c9o64 - c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - drho_NET * (c3o64 - c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + - drho_NEB * (c1o64 - c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + - drho_NWB * (c3o64 + c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - drho_SEB * (c3o64 - c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + - drho_SWB * (c9o64 + c3o16 * xoff + c3o16 * yoff + c9o16 * zoff); - vx1 = a0 + c1o4*(-ax - ay + az) + c1o16*(axx + axy - axz + ayy - ayz + azz); - vx2 = b0 + c1o4*(-bx - by + bz) + c1o16*(bxx + bxy - bxz + byy - byz + bzz); - vx3 = c0 + c1o4*(-cx - cy + cz) + c1o16*(cxx + cxy - cxz + cyy - cyz + czz); - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - feq_ZERO = c8o27* (drho-cu_sq); - feq_E = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - feq_N = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - feq_T = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - feq_NE = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - feq_SE = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - feq_TE = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - feq_BE = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - feq_TN = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - feq_BN = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - feq_TNE = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - feq_BNE = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - feq_TSE = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - feq_BSE = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - feq_W = feq_E + c2o27* (c6o1*(-vx1 )); - feq_S = feq_N + c2o27* (c6o1*( -vx2 )); - feq_B = feq_T + c2o27* (c6o1*( -vx3)); - feq_SW = feq_NE + c1o54* (c6o1*(-vx1-vx2 )); - feq_NW = feq_SE + c1o54* (c6o1*(-vx1+vx2 )); - feq_BW = feq_TE + c1o54* (c6o1*(-vx1 -vx3)); - feq_TW = feq_BE + c1o54* (c6o1*(-vx1 +vx3)); - feq_BS = feq_TN + c1o54* (c6o1*( -vx2-vx3)); - feq_TS = feq_BN + c1o54* (c6o1*( -vx2+vx3)); - feq_BSW = feq_TNE + c1o216*(c6o1*(-vx1-vx2-vx3)); - feq_TSW = feq_BNE + c1o216*(c6o1*(-vx1-vx2+vx3)); - feq_BNW = feq_TSE + c1o216*(c6o1*(-vx1+vx2-vx3)); - feq_TNW = feq_BSE + c1o216*(c6o1*(-vx1+vx2+vx3)); - - //////////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - feF[kzero] = f_E - x_E - y_E + z_E + feq_E; - fwF[kw] = f_E - x_E - y_E + z_E + feq_W; - fnF[kzero] = f_N - x_N - y_N + z_N + feq_N; - fsF[ks] = f_N - x_N - y_N + z_N + feq_S; - ftF[kzero] = f_T - x_T - y_T + z_T + feq_T; - fbF[kb] = f_T - x_T - y_T + z_T + feq_B; - fneF[kzero] = f_NE - x_NE - y_NE + z_NE + feq_NE; - fswF[ksw] = f_NE - x_NE - y_NE + z_NE + feq_SW; - fseF[ks] = f_SE - x_SE - y_SE + z_SE + feq_SE; - fnwF[kw] = f_SE - x_SE - y_SE + z_SE + feq_NW; - fteF[kzero] = f_TE - x_TE - y_TE + z_TE + feq_TE; - fbwF[kbw] = f_TE - x_TE - y_TE + z_TE + feq_BW; - fbeF[kb] = f_BE - x_BE - y_BE + z_BE + feq_BE; - ftwF[kw] = f_BE - x_BE - y_BE + z_BE + feq_TW; - ftnF[kzero] = f_TN - x_TN - y_TN + z_TN + feq_TN; - fbsF[kbs] = f_TN - x_TN - y_TN + z_TN + feq_BS; - fbnF[kb] = f_BN - x_BN - y_BN + z_BN + feq_BN; - ftsF[ks] = f_BN - x_BN - y_BN + z_BN + feq_TS; - fzeroF[kzero]= f_ZERO - x_ZERO - y_ZERO + z_ZERO + feq_ZERO; - ftneF[kzero] = f_TNE - x_TNE - y_TNE + z_TNE + feq_TNE; - ftswF[ksw] = f_TSW - x_TSW - y_TSW + z_TSW + feq_TSW; - ftseF[ks] = f_TSE - x_TSE - y_TSE + z_TSE + feq_TSE; - ftnwF[kw] = f_TNW - x_TNW - y_TNW + z_TNW + feq_TNW; - fbneF[kb] = f_TSW - x_TSW - y_TSW + z_TSW + feq_BNE; - fbswF[kbsw] = f_TNE - x_TNE - y_TNE + z_TNE + feq_BSW; - fbseF[kbs] = f_TNW - x_TNW - y_TNW + z_TNW + feq_BSE; - fbnwF[kbw] = f_TSE - x_TSE - y_TSE + z_TSE + feq_BNW; - - //Position SET 0.25, -0.25, 0.25 - //x = c1o4; - //y = -c1o4; - //z = c1o4; - - //drho =c3o64*drho_NEB+c9o64*drho_NET+c1o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c27o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT; - drho = drho_SET * (c27o64 - c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + - drho_NET * (c9o64 - c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + - drho_SWT * (c9o64 + c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - drho_NWT * (c3o64 + c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + - drho_NWB * (c1o64 + c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + - drho_NEB * (c3o64 - c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - drho_SWB * (c3o64 + c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + - drho_SEB * (c9o64 - c3o16 * xoff + c3o16 * yoff + c9o16 * zoff); - vx1 = a0 + c1o4*( ax - ay + az) + c1o16*(axx - axy + axz + ayy - ayz + azz); - vx2 = b0 + c1o4*( bx - by + bz) + c1o16*(bxx - bxy + bxz + byy - byz + bzz); - vx3 = c0 + c1o4*( cx - cy + cz) + c1o16*(cxx - cxy + cxz + cyy - cyz + czz); - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - feq_ZERO = c8o27* (drho-cu_sq); - feq_E = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - feq_N = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - feq_T = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - feq_NE = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - feq_SE = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - feq_TE = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - feq_BE = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - feq_TN = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - feq_BN = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - feq_TNE = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - feq_BNE = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - feq_TSE = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - feq_BSE = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - feq_W = feq_E + c2o27* (c6o1*(-vx1 )); - feq_S = feq_N + c2o27* (c6o1*( -vx2 )); - feq_B = feq_T + c2o27* (c6o1*( -vx3)); - feq_SW = feq_NE + c1o54* (c6o1*(-vx1-vx2 )); - feq_NW = feq_SE + c1o54* (c6o1*(-vx1+vx2 )); - feq_BW = feq_TE + c1o54* (c6o1*(-vx1 -vx3)); - feq_TW = feq_BE + c1o54* (c6o1*(-vx1 +vx3)); - feq_BS = feq_TN + c1o54* (c6o1*( -vx2-vx3)); - feq_TS = feq_BN + c1o54* (c6o1*( -vx2+vx3)); - feq_BSW = feq_TNE + c1o216*(c6o1*(-vx1-vx2-vx3)); - feq_TSW = feq_BNE + c1o216*(c6o1*(-vx1-vx2+vx3)); - feq_BNW = feq_TSE + c1o216*(c6o1*(-vx1+vx2-vx3)); - feq_TNW = feq_BSE + c1o216*(c6o1*(-vx1+vx2+vx3)); - - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - feF[kzero] = f_E + x_E - y_E + z_E + feq_E; - fwF[kw] = f_E + x_E - y_E + z_E + feq_W; - fnF[kzero] = f_N + x_N - y_N + z_N + feq_N; - fsF[ks] = f_N + x_N - y_N + z_N + feq_S; - ftF[kzero] = f_T + x_T - y_T + z_T + feq_T; - fbF[kb] = f_T + x_T - y_T + z_T + feq_B; - fneF[kzero] = f_NE + x_NE - y_NE + z_NE + feq_NE; - fswF[ksw] = f_NE + x_NE - y_NE + z_NE + feq_SW; - fseF[ks] = f_SE + x_SE - y_SE + z_SE + feq_SE; - fnwF[kw] = f_SE + x_SE - y_SE + z_SE + feq_NW; - fteF[kzero] = f_TE + x_TE - y_TE + z_TE + feq_TE; - fbwF[kbw] = f_TE + x_TE - y_TE + z_TE + feq_BW; - fbeF[kb] = f_BE + x_BE - y_BE + z_BE + feq_BE; - ftwF[kw] = f_BE + x_BE - y_BE + z_BE + feq_TW; - ftnF[kzero] = f_TN + x_TN - y_TN + z_TN + feq_TN; - fbsF[kbs] = f_TN + x_TN - y_TN + z_TN + feq_BS; - fbnF[kb] = f_BN + x_BN - y_BN + z_BN + feq_BN; - ftsF[ks] = f_BN + x_BN - y_BN + z_BN + feq_TS; - fzeroF[kzero]= f_ZERO + x_ZERO - y_ZERO + z_ZERO + feq_ZERO; - ftneF[kzero] = f_TNE + x_TNE - y_TNE + z_TNE + feq_TNE; - ftswF[ksw] = f_TSW + x_TSW - y_TSW + z_TSW + feq_TSW; - ftseF[ks] = f_TSE + x_TSE - y_TSE + z_TSE + feq_TSE; - ftnwF[kw] = f_TNW + x_TNW - y_TNW + z_TNW + feq_TNW; - fbneF[kb] = f_TSW + x_TSW - y_TSW + z_TSW + feq_BNE; - fbswF[kbsw] = f_TNE + x_TNE - y_TNE + z_TNE + feq_BSW; - fbseF[kbs] = f_TNW + x_TNW - y_TNW + z_TNW + feq_BSE; - fbnwF[kbw] = f_TSE + x_TSE - y_TSE + z_TSE + feq_BNW; - - //Position SEB 0.25, -0.25, -0.25 - //x = c1o4; - //y = -c1o4; - //z = -c1o4; - - //drho =c9o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c1o64*drho_NWT+c27o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT; - drho = drho_SET * (c9o64 - c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + - drho_NET * (c3o64 - c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - drho_SWT * (c3o64 + c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + - drho_NWT * (c1o64 + c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + - drho_NWB * (c3o64 + c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + - drho_NEB * (c9o64 - c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + - drho_SWB * (c9o64 + c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - drho_SEB * (c27o64 - c9o16 * xoff + c9o16 * yoff + c9o16 * zoff); - vx1 = a0 + c1o4*( ax - ay - az) + c1o16*(axx - axy - axz + ayy + ayz + azz); - vx2 = b0 + c1o4*( bx - by - bz) + c1o16*(bxx - bxy - bxz + byy + byz + bzz); - vx3 = c0 + c1o4*( cx - cy - cz) + c1o16*(cxx - cxy - cxz + cyy + cyz + czz); - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - feq_ZERO = c8o27* (drho-cu_sq); - feq_E = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - feq_N = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - feq_T = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - feq_NE = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - feq_SE = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - feq_TE = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - feq_BE = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - feq_TN = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - feq_BN = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - feq_TNE = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - feq_BNE = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - feq_TSE = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - feq_BSE = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - feq_W = feq_E + c2o27* (c6o1*(-vx1 )); - feq_S = feq_N + c2o27* (c6o1*( -vx2 )); - feq_B = feq_T + c2o27* (c6o1*( -vx3)); - feq_SW = feq_NE + c1o54* (c6o1*(-vx1-vx2 )); - feq_NW = feq_SE + c1o54* (c6o1*(-vx1+vx2 )); - feq_BW = feq_TE + c1o54* (c6o1*(-vx1 -vx3)); - feq_TW = feq_BE + c1o54* (c6o1*(-vx1 +vx3)); - feq_BS = feq_TN + c1o54* (c6o1*( -vx2-vx3)); - feq_TS = feq_BN + c1o54* (c6o1*( -vx2+vx3)); - feq_BSW = feq_TNE + c1o216*(c6o1*(-vx1-vx2-vx3)); - feq_TSW = feq_BNE + c1o216*(c6o1*(-vx1-vx2+vx3)); - feq_BNW = feq_TSE + c1o216*(c6o1*(-vx1+vx2-vx3)); - feq_TNW = feq_BSE + c1o216*(c6o1*(-vx1+vx2+vx3)); - - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - feF[kzero] = f_E + x_E - y_E - z_E + feq_E; - fwF[kw] = f_E + x_E - y_E - z_E + feq_W; - fnF[kzero] = f_N + x_N - y_N - z_N + feq_N; - fsF[ks] = f_N + x_N - y_N - z_N + feq_S; - ftF[kzero] = f_T + x_T - y_T - z_T + feq_T; - fbF[kb] = f_T + x_T - y_T - z_T + feq_B; - fneF[kzero] = f_NE + x_NE - y_NE - z_NE + feq_NE; - fswF[ksw] = f_NE + x_NE - y_NE - z_NE + feq_SW; - fseF[ks] = f_SE + x_SE - y_SE - z_SE + feq_SE; - fnwF[kw] = f_SE + x_SE - y_SE - z_SE + feq_NW; - fteF[kzero] = f_TE + x_TE - y_TE - z_TE + feq_TE; - fbwF[kbw] = f_TE + x_TE - y_TE - z_TE + feq_BW; - fbeF[kb] = f_BE + x_BE - y_BE - z_BE + feq_BE; - ftwF[kw] = f_BE + x_BE - y_BE - z_BE + feq_TW; - ftnF[kzero] = f_TN + x_TN - y_TN - z_TN + feq_TN; - fbsF[kbs] = f_TN + x_TN - y_TN - z_TN + feq_BS; - fbnF[kb] = f_BN + x_BN - y_BN - z_BN + feq_BN; - ftsF[ks] = f_BN + x_BN - y_BN - z_BN + feq_TS; - fzeroF[kzero]= f_ZERO + x_ZERO - y_ZERO - z_ZERO + feq_ZERO; - ftneF[kzero] = f_TNE + x_TNE - y_TNE - z_TNE + feq_TNE; - ftswF[ksw] = f_TSW + x_TSW - y_TSW - z_TSW + feq_TSW; - ftseF[ks] = f_TSE + x_TSE - y_TSE - z_TSE + feq_TSE; - ftnwF[kw] = f_TNW + x_TNW - y_TNW - z_TNW + feq_TNW; - fbneF[kb] = f_TSW + x_TSW - y_TSW - z_TSW + feq_BNE; - fbswF[kbsw] = f_TNE + x_TNE - y_TNE - z_TNE + feq_BSW; - fbseF[kbs] = f_TNW + x_TNW - y_TNW - z_TNW + feq_BSE; - fbnwF[kbw] = f_TSE + x_TSE - y_TSE - z_TSE + feq_BNW; - - ////////////////////////////////////////////////////////////////////////// - //Position NWB -0.25, 0.25, -0.25 - //x = -c1o4; - //y = c1o4; - //z = -c1o4; - - //drho = c9o64*drho_NEB+c3o64*drho_NET+c27o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c1o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT; - drho = drho_NWT * (c9o64 + c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + - drho_NET * (c3o64 - c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + - drho_SWT * (c3o64 + c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - drho_SET * (c1o64 - c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + - drho_SEB * (c3o64 - c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + - drho_NEB * (c9o64 - c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - drho_SWB * (c9o64 + c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + - drho_NWB * (c27o64 + c9o16 * xoff - c9o16 * yoff + c9o16 * zoff); - vx1 = a0 + c1o4*(-ax + ay - az) + c1o16*(axx - axy + axz + ayy - ayz + azz); - vx2 = b0 + c1o4*(-bx + by - bz) + c1o16*(bxx - bxy + bxz + byy - byz + bzz); - vx3 = c0 + c1o4*(-cx + cy - cz) + c1o16*(cxx - cxy + cxz + cyy - cyz + czz); - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - feq_ZERO = c8o27* (drho-cu_sq); - feq_E = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - feq_N = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - feq_T = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - feq_NE = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - feq_SE = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - feq_TE = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - feq_BE = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - feq_TN = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - feq_BN = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - feq_TNE = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - feq_BNE = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - feq_TSE = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - feq_BSE = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - feq_W = feq_E + c2o27* (c6o1*(-vx1 )); - feq_S = feq_N + c2o27* (c6o1*( -vx2 )); - feq_B = feq_T + c2o27* (c6o1*( -vx3)); - feq_SW = feq_NE + c1o54* (c6o1*(-vx1-vx2 )); - feq_NW = feq_SE + c1o54* (c6o1*(-vx1+vx2 )); - feq_BW = feq_TE + c1o54* (c6o1*(-vx1 -vx3)); - feq_TW = feq_BE + c1o54* (c6o1*(-vx1 +vx3)); - feq_BS = feq_TN + c1o54* (c6o1*( -vx2-vx3)); - feq_TS = feq_BN + c1o54* (c6o1*( -vx2+vx3)); - feq_BSW = feq_TNE + c1o216*(c6o1*(-vx1-vx2-vx3)); - feq_TSW = feq_BNE + c1o216*(c6o1*(-vx1-vx2+vx3)); - feq_BNW = feq_TSE + c1o216*(c6o1*(-vx1+vx2-vx3)); - feq_TNW = feq_BSE + c1o216*(c6o1*(-vx1+vx2+vx3)); - - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= k0s; - k0w = k0sw; - k0s = neighborFY[k0s]; - k0b = k0bs; - k0sw = neighborFY[k0sw]; - k0bw = k0bsw; - k0bs = neighborFY[k0bs]; - k0bsw = neighborFY[k0bsw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - feF[kzero] = f_E - x_E + y_E - z_E + feq_E; - fwF[kw] = f_E - x_E + y_E - z_E + feq_W; - fnF[kzero] = f_N - x_N + y_N - z_N + feq_N; - fsF[ks] = f_N - x_N + y_N - z_N + feq_S; - ftF[kzero] = f_T - x_T + y_T - z_T + feq_T; - fbF[kb] = f_T - x_T + y_T - z_T + feq_B; - fneF[kzero] = f_NE - x_NE + y_NE - z_NE + feq_NE; - fswF[ksw] = f_NE - x_NE + y_NE - z_NE + feq_SW; - fseF[ks] = f_SE - x_SE + y_SE - z_SE + feq_SE; - fnwF[kw] = f_SE - x_SE + y_SE - z_SE + feq_NW; - fteF[kzero] = f_TE - x_TE + y_TE - z_TE + feq_TE; - fbwF[kbw] = f_TE - x_TE + y_TE - z_TE + feq_BW; - fbeF[kb] = f_BE - x_BE + y_BE - z_BE + feq_BE; - ftwF[kw] = f_BE - x_BE + y_BE - z_BE + feq_TW; - ftnF[kzero] = f_TN - x_TN + y_TN - z_TN + feq_TN; - fbsF[kbs] = f_TN - x_TN + y_TN - z_TN + feq_BS; - fbnF[kb] = f_BN - x_BN + y_BN - z_BN + feq_BN; - ftsF[ks] = f_BN - x_BN + y_BN - z_BN + feq_TS; - fzeroF[kzero]= f_ZERO - x_ZERO + y_ZERO - z_ZERO + feq_ZERO; - ftneF[kzero] = f_TNE - x_TNE + y_TNE - z_TNE + feq_TNE; - ftswF[ksw] = f_TSW - x_TSW + y_TSW - z_TSW + feq_TSW; - ftseF[ks] = f_TSE - x_TSE + y_TSE - z_TSE + feq_TSE; - ftnwF[kw] = f_TNW - x_TNW + y_TNW - z_TNW + feq_TNW; - fbneF[kb] = f_TSW - x_TSW + y_TSW - z_TSW + feq_BNE; - fbswF[kbsw] = f_TNE - x_TNE + y_TNE - z_TNE + feq_BSW; - fbseF[kbs] = f_TNW - x_TNW + y_TNW - z_TNW + feq_BSE; - fbnwF[kbw] = f_TSE - x_TSE + y_TSE - z_TSE + feq_BNW; - - - //Position NWT -0.25, 0.25, 0.25 - //x = -c1o4; - //y = c1o4; - //z = c1o4; - - //drho = c3o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c27o64*drho_NWT+c1o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT; - drho = drho_NWT * (c27o64 + c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + - drho_NET * (c9o64 - c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - drho_SWT * (c9o64 + c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + - drho_SET * (c3o64 - c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + - drho_SEB * (c1o64 - c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + - drho_NEB * (c3o64 - c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + - drho_SWB * (c3o64 + c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - drho_NWB * (c9o64 + c3o16 * xoff - c3o16 * yoff + c9o16 * zoff); - vx1 = a0 + c1o4*(-ax + ay + az) + c1o16*(axx - axy - axz + ayy + ayz + azz); - vx2 = b0 + c1o4*(-bx + by + bz) + c1o16*(bxx - bxy - bxz + byy + byz + bzz); - vx3 = c0 + c1o4*(-cx + cy + cz) + c1o16*(cxx - cxy - cxz + cyy + cyz + czz); - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - feq_ZERO = c8o27* (drho-cu_sq); - feq_E = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - feq_N = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - feq_T = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - feq_NE = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - feq_SE = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - feq_TE = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - feq_BE = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - feq_TN = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - feq_BN = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - feq_TNE = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - feq_BNE = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - feq_TSE = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - feq_BSE = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - feq_W = feq_E + c2o27* (c6o1*(-vx1 )); - feq_S = feq_N + c2o27* (c6o1*( -vx2 )); - feq_B = feq_T + c2o27* (c6o1*( -vx3)); - feq_SW = feq_NE + c1o54* (c6o1*(-vx1-vx2 )); - feq_NW = feq_SE + c1o54* (c6o1*(-vx1+vx2 )); - feq_BW = feq_TE + c1o54* (c6o1*(-vx1 -vx3)); - feq_TW = feq_BE + c1o54* (c6o1*(-vx1 +vx3)); - feq_BS = feq_TN + c1o54* (c6o1*( -vx2-vx3)); - feq_TS = feq_BN + c1o54* (c6o1*( -vx2+vx3)); - feq_BSW = feq_TNE + c1o216*(c6o1*(-vx1-vx2-vx3)); - feq_TSW = feq_BNE + c1o216*(c6o1*(-vx1-vx2+vx3)); - feq_BNW = feq_TSE + c1o216*(c6o1*(-vx1+vx2-vx3)); - feq_TNW = feq_BSE + c1o216*(c6o1*(-vx1+vx2+vx3)); - - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - feF[kzero] = f_E - x_E + y_E + z_E + feq_E; - fwF[kw] = f_E - x_E + y_E + z_E + feq_W; - fnF[kzero] = f_N - x_N + y_N + z_N + feq_N; - fsF[ks] = f_N - x_N + y_N + z_N + feq_S; - ftF[kzero] = f_T - x_T + y_T + z_T + feq_T; - fbF[kb] = f_T - x_T + y_T + z_T + feq_B; - fneF[kzero] = f_NE - x_NE + y_NE + z_NE + feq_NE; - fswF[ksw] = f_NE - x_NE + y_NE + z_NE + feq_SW; - fseF[ks] = f_SE - x_SE + y_SE + z_SE + feq_SE; - fnwF[kw] = f_SE - x_SE + y_SE + z_SE + feq_NW; - fteF[kzero] = f_TE - x_TE + y_TE + z_TE + feq_TE; - fbwF[kbw] = f_TE - x_TE + y_TE + z_TE + feq_BW; - fbeF[kb] = f_BE - x_BE + y_BE + z_BE + feq_BE; - ftwF[kw] = f_BE - x_BE + y_BE + z_BE + feq_TW; - ftnF[kzero] = f_TN - x_TN + y_TN + z_TN + feq_TN; - fbsF[kbs] = f_TN - x_TN + y_TN + z_TN + feq_BS; - fbnF[kb] = f_BN - x_BN + y_BN + z_BN + feq_BN; - ftsF[ks] = f_BN - x_BN + y_BN + z_BN + feq_TS; - fzeroF[kzero]= f_ZERO - x_ZERO + y_ZERO + z_ZERO + feq_ZERO; - ftneF[kzero] = f_TNE - x_TNE + y_TNE + z_TNE + feq_TNE; - ftswF[ksw] = f_TSW - x_TSW + y_TSW + z_TSW + feq_TSW; - ftseF[ks] = f_TSE - x_TSE + y_TSE + z_TSE + feq_TSE; - ftnwF[kw] = f_TNW - x_TNW + y_TNW + z_TNW + feq_TNW; - fbneF[kb] = f_TSW - x_TSW + y_TSW + z_TSW + feq_BNE; - fbswF[kbsw] = f_TNE - x_TNE + y_TNE + z_TNE + feq_BSW; - fbseF[kbs] = f_TNW - x_TNW + y_TNW + z_TNW + feq_BSE; - fbnwF[kbw] = f_TSE - x_TSE + y_TSE + z_TSE + feq_BNW; - - //Position NET 0.25, 0.25, 0.25 - //x = c1o4; - //y = c1o4; - //z = c1o4; - - //drho = c9o64*drho_NEB+c27o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c1o64*drho_SWB+c3o64*drho_SWT; - drho = drho_NET * (c27o64 - c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + - drho_NWT * (c9o64 + c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - drho_SET * (c9o64 - c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + - drho_SWT * (c3o64 + c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + - drho_SWB * (c1o64 + c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + - drho_NWB * (c3o64 + c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + - drho_SEB * (c3o64 - c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - drho_NEB * (c9o64 - c3o16 * xoff - c3o16 * yoff + c9o16 * zoff); - vx1 = a0 + c1o4*( ax + ay + az) + c1o16*(axx + axy + axz + ayy + ayz + azz); - vx2 = b0 + c1o4*( bx + by + bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz); - vx3 = c0 + c1o4*( cx + cy + cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz); - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - feq_ZERO = c8o27* (drho-cu_sq); - feq_E = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - feq_N = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - feq_T = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - feq_NE = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - feq_SE = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - feq_TE = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - feq_BE = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - feq_TN = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - feq_BN = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - feq_TNE = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - feq_BNE = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - feq_TSE = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - feq_BSE = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - feq_W = feq_E + c2o27* (c6o1*(-vx1 )); - feq_S = feq_N + c2o27* (c6o1*( -vx2 )); - feq_B = feq_T + c2o27* (c6o1*( -vx3)); - feq_SW = feq_NE + c1o54* (c6o1*(-vx1-vx2 )); - feq_NW = feq_SE + c1o54* (c6o1*(-vx1+vx2 )); - feq_BW = feq_TE + c1o54* (c6o1*(-vx1 -vx3)); - feq_TW = feq_BE + c1o54* (c6o1*(-vx1 +vx3)); - feq_BS = feq_TN + c1o54* (c6o1*( -vx2-vx3)); - feq_TS = feq_BN + c1o54* (c6o1*( -vx2+vx3)); - feq_BSW = feq_TNE + c1o216*(c6o1*(-vx1-vx2-vx3)); - feq_TSW = feq_BNE + c1o216*(c6o1*(-vx1-vx2+vx3)); - feq_BNW = feq_TSE + c1o216*(c6o1*(-vx1+vx2-vx3)); - feq_TNW = feq_BSE + c1o216*(c6o1*(-vx1+vx2+vx3)); - - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - feF[kzero] = f_E + x_E + y_E + z_E + feq_E; - fwF[kw] = f_E + x_E + y_E + z_E + feq_W; - fnF[kzero] = f_N + x_N + y_N + z_N + feq_N; - fsF[ks] = f_N + x_N + y_N + z_N + feq_S; - ftF[kzero] = f_T + x_T + y_T + z_T + feq_T; - fbF[kb] = f_T + x_T + y_T + z_T + feq_B; - fneF[kzero] = f_NE + x_NE + y_NE + z_NE + feq_NE; - fswF[ksw] = f_NE + x_NE + y_NE + z_NE + feq_SW; - fseF[ks] = f_SE + x_SE + y_SE + z_SE + feq_SE; - fnwF[kw] = f_SE + x_SE + y_SE + z_SE + feq_NW; - fteF[kzero] = f_TE + x_TE + y_TE + z_TE + feq_TE; - fbwF[kbw] = f_TE + x_TE + y_TE + z_TE + feq_BW; - fbeF[kb] = f_BE + x_BE + y_BE + z_BE + feq_BE; - ftwF[kw] = f_BE + x_BE + y_BE + z_BE + feq_TW; - ftnF[kzero] = f_TN + x_TN + y_TN + z_TN + feq_TN; - fbsF[kbs] = f_TN + x_TN + y_TN + z_TN + feq_BS; - fbnF[kb] = f_BN + x_BN + y_BN + z_BN + feq_BN; - ftsF[ks] = f_BN + x_BN + y_BN + z_BN + feq_TS; - fzeroF[kzero]= f_ZERO + x_ZERO + y_ZERO + z_ZERO + feq_ZERO; - ftneF[kzero] = f_TNE + x_TNE + y_TNE + z_TNE + feq_TNE; - ftswF[ksw] = f_TSW + x_TSW + y_TSW + z_TSW + feq_TSW; - ftseF[ks] = f_TSE + x_TSE + y_TSE + z_TSE + feq_TSE; - ftnwF[kw] = f_TNW + x_TNW + y_TNW + z_TNW + feq_TNW; - fbneF[kb] = f_TSW + x_TSW + y_TSW + z_TSW + feq_BNE; - fbswF[kbsw] = f_TNE + x_TNE + y_TNE + z_TNE + feq_BSW; - fbseF[kbs] = f_TNW + x_TNW + y_TNW + z_TNW + feq_BSE; - fbnwF[kbw] = f_TSE + x_TSE + y_TSE + z_TSE + feq_BNW; - - - //Position NEB 0.25, 0.25, -0.25 - //x = c1o4; - //y = c1o4; - //z = -c1o4; - - //drho = c27o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c1o64*drho_SWT; - drho = drho_NET * (c9o64 - c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + - drho_NWT * (c3o64 + c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + - drho_SET * (c3o64 - c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - drho_SWT * (c1o64 + c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + - drho_SWB * (c3o64 + c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + - drho_NWB * (c9o64 + c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - drho_SEB * (c9o64 - c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + - drho_NEB * (c27o64 - c9o16 * xoff - c9o16 * yoff + c9o16 * zoff); - vx1 = a0 + c1o4*( ax + ay - az) + c1o16*(axx + axy - axz + ayy - ayz + azz); - vx2 = b0 + c1o4*( bx + by - bz) + c1o16*(bxx + bxy - bxz + byy - byz + bzz); - vx3 = c0 + c1o4*( cx + cy - cz) + c1o16*(cxx + cxy - cxz + cyy - cyz + czz); - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - feq_ZERO = c8o27* (drho-cu_sq); - feq_E = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - feq_N = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - feq_T = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - feq_NE = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - feq_SE = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - feq_TE = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - feq_BE = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - feq_TN = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - feq_BN = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - feq_TNE = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - feq_BNE = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - feq_TSE = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - feq_BSE = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - feq_W = feq_E + c2o27* (c6o1*(-vx1 )); - feq_S = feq_N + c2o27* (c6o1*( -vx2 )); - feq_B = feq_T + c2o27* (c6o1*( -vx3)); - feq_SW = feq_NE + c1o54* (c6o1*(-vx1-vx2 )); - feq_NW = feq_SE + c1o54* (c6o1*(-vx1+vx2 )); - feq_BW = feq_TE + c1o54* (c6o1*(-vx1 -vx3)); - feq_TW = feq_BE + c1o54* (c6o1*(-vx1 +vx3)); - feq_BS = feq_TN + c1o54* (c6o1*( -vx2-vx3)); - feq_TS = feq_BN + c1o54* (c6o1*( -vx2+vx3)); - feq_BSW = feq_TNE + c1o216*(c6o1*(-vx1-vx2-vx3)); - feq_TSW = feq_BNE + c1o216*(c6o1*(-vx1-vx2+vx3)); - feq_BNW = feq_TSE + c1o216*(c6o1*(-vx1+vx2-vx3)); - feq_TNW = feq_BSE + c1o216*(c6o1*(-vx1+vx2+vx3)); - - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - feF[kzero] = f_E + x_E + y_E - z_E + feq_E; - fwF[kw] = f_E + x_E + y_E - z_E + feq_W; - fnF[kzero] = f_N + x_N + y_N - z_N + feq_N; - fsF[ks] = f_N + x_N + y_N - z_N + feq_S; - ftF[kzero] = f_T + x_T + y_T - z_T + feq_T; - fbF[kb] = f_T + x_T + y_T - z_T + feq_B; - fneF[kzero] = f_NE + x_NE + y_NE - z_NE + feq_NE; - fswF[ksw] = f_NE + x_NE + y_NE - z_NE + feq_SW; - fseF[ks] = f_SE + x_SE + y_SE - z_SE + feq_SE; - fnwF[kw] = f_SE + x_SE + y_SE - z_SE + feq_NW; - fteF[kzero] = f_TE + x_TE + y_TE - z_TE + feq_TE; - fbwF[kbw] = f_TE + x_TE + y_TE - z_TE + feq_BW; - fbeF[kb] = f_BE + x_BE + y_BE - z_BE + feq_BE; - ftwF[kw] = f_BE + x_BE + y_BE - z_BE + feq_TW; - ftnF[kzero] = f_TN + x_TN + y_TN - z_TN + feq_TN; - fbsF[kbs] = f_TN + x_TN + y_TN - z_TN + feq_BS; - fbnF[kb] = f_BN + x_BN + y_BN - z_BN + feq_BN; - ftsF[ks] = f_BN + x_BN + y_BN - z_BN + feq_TS; - fzeroF[kzero]= f_ZERO + x_ZERO + y_ZERO - z_ZERO + feq_ZERO; - ftneF[kzero] = f_TNE + x_TNE + y_TNE - z_TNE + feq_TNE; - ftswF[ksw] = f_TSW + x_TSW + y_TSW - z_TSW + feq_TSW; - ftseF[ks] = f_TSE + x_TSE + y_TSE - z_TSE + feq_TSE; - ftnwF[kw] = f_TNW + x_TNW + y_TNW - z_TNW + feq_TNW; - fbneF[kb] = f_TSW + x_TSW + y_TSW - z_TSW + feq_BNE; - fbswF[kbsw] = f_TNE + x_TNE + y_TNE - z_TNE + feq_BSW; - fbseF[kbs] = f_TNW + x_TNW + y_TNW - z_TNW + feq_BSE; - fbnwF[kbw] = f_TSE + x_TSE + y_TSE - z_TSE + feq_BNW; - } -} -////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -////////////////////////////////////////////////////////////////////////// -__global__ void scaleCF27(real* DC, - real* DF, - unsigned int* neighborCX, - unsigned int* neighborCY, - unsigned int* neighborCZ, - unsigned int* neighborFX, - unsigned int* neighborFY, - unsigned int* neighborFZ, - unsigned long long numberOfLBnodesCoarse, - unsigned long long numberOfLBnodesFine, - bool isEvenTimestep, - unsigned int* posCSWB, - unsigned int* posFSWB, - unsigned int kCF, - real omCoarse, - real omFine, - real nu, - unsigned int nxC, - unsigned int nyC, - unsigned int nxF, - unsigned int nyF) -{ - real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, - *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - - feF = &DF[dP00 * numberOfLBnodesFine]; - fwF = &DF[dM00 * numberOfLBnodesFine]; - fnF = &DF[d0P0 * numberOfLBnodesFine]; - fsF = &DF[d0M0 * numberOfLBnodesFine]; - ftF = &DF[d00P * numberOfLBnodesFine]; - fbF = &DF[d00M * numberOfLBnodesFine]; - fneF = &DF[dPP0 * numberOfLBnodesFine]; - fswF = &DF[dMM0 * numberOfLBnodesFine]; - fseF = &DF[dPM0 * numberOfLBnodesFine]; - fnwF = &DF[dMP0 * numberOfLBnodesFine]; - fteF = &DF[dP0P * numberOfLBnodesFine]; - fbwF = &DF[dM0M * numberOfLBnodesFine]; - fbeF = &DF[dP0M * numberOfLBnodesFine]; - ftwF = &DF[dM0P * numberOfLBnodesFine]; - ftnF = &DF[d0PP * numberOfLBnodesFine]; - fbsF = &DF[d0MM * numberOfLBnodesFine]; - fbnF = &DF[d0PM * numberOfLBnodesFine]; - ftsF = &DF[d0MP * numberOfLBnodesFine]; - fzeroF = &DF[d000 * numberOfLBnodesFine]; - ftneF = &DF[dPPP * numberOfLBnodesFine]; - ftswF = &DF[dMMP * numberOfLBnodesFine]; - ftseF = &DF[dPMP * numberOfLBnodesFine]; - ftnwF = &DF[dMPP * numberOfLBnodesFine]; - fbneF = &DF[dPPM * numberOfLBnodesFine]; - fbswF = &DF[dMMM * numberOfLBnodesFine]; - fbseF = &DF[dPMM * numberOfLBnodesFine]; - fbnwF = &DF[dMPM * numberOfLBnodesFine]; - - real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, *fzeroC, - *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; - - if (isEvenTimestep==true) - { - feC = &DC[dP00 * numberOfLBnodesCoarse]; - fwC = &DC[dM00 * numberOfLBnodesCoarse]; - fnC = &DC[d0P0 * numberOfLBnodesCoarse]; - fsC = &DC[d0M0 * numberOfLBnodesCoarse]; - ftC = &DC[d00P * numberOfLBnodesCoarse]; - fbC = &DC[d00M * numberOfLBnodesCoarse]; - fneC = &DC[dPP0 * numberOfLBnodesCoarse]; - fswC = &DC[dMM0 * numberOfLBnodesCoarse]; - fseC = &DC[dPM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dMP0 * numberOfLBnodesCoarse]; - fteC = &DC[dP0P * numberOfLBnodesCoarse]; - fbwC = &DC[dM0M * numberOfLBnodesCoarse]; - fbeC = &DC[dP0M * numberOfLBnodesCoarse]; - ftwC = &DC[dM0P * numberOfLBnodesCoarse]; - ftnC = &DC[d0PP * numberOfLBnodesCoarse]; - fbsC = &DC[d0MM * numberOfLBnodesCoarse]; - fbnC = &DC[d0PM * numberOfLBnodesCoarse]; - ftsC = &DC[d0MP * numberOfLBnodesCoarse]; - fzeroC = &DC[d000 * numberOfLBnodesCoarse]; - ftneC = &DC[dPPP * numberOfLBnodesCoarse]; - ftswC = &DC[dMMP * numberOfLBnodesCoarse]; - ftseC = &DC[dPMP * numberOfLBnodesCoarse]; - ftnwC = &DC[dMPP * numberOfLBnodesCoarse]; - fbneC = &DC[dPPM * numberOfLBnodesCoarse]; - fbswC = &DC[dMMM * numberOfLBnodesCoarse]; - fbseC = &DC[dPMM * numberOfLBnodesCoarse]; - fbnwC = &DC[dMPM * numberOfLBnodesCoarse]; - } - else - { - fwC = &DC[dP00 * numberOfLBnodesCoarse]; - feC = &DC[dM00 * numberOfLBnodesCoarse]; - fsC = &DC[d0P0 * numberOfLBnodesCoarse]; - fnC = &DC[d0M0 * numberOfLBnodesCoarse]; - fbC = &DC[d00P * numberOfLBnodesCoarse]; - ftC = &DC[d00M * numberOfLBnodesCoarse]; - fswC = &DC[dPP0 * numberOfLBnodesCoarse]; - fneC = &DC[dMM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dPM0 * numberOfLBnodesCoarse]; - fseC = &DC[dMP0 * numberOfLBnodesCoarse]; - fbwC = &DC[dP0P * numberOfLBnodesCoarse]; - fteC = &DC[dM0M * numberOfLBnodesCoarse]; - ftwC = &DC[dP0M * numberOfLBnodesCoarse]; - fbeC = &DC[dM0P * numberOfLBnodesCoarse]; - fbsC = &DC[d0PP * numberOfLBnodesCoarse]; - ftnC = &DC[d0MM * numberOfLBnodesCoarse]; - ftsC = &DC[d0PM * numberOfLBnodesCoarse]; - fbnC = &DC[d0MP * numberOfLBnodesCoarse]; - fzeroC = &DC[d000 * numberOfLBnodesCoarse]; - fbswC = &DC[dPPP * numberOfLBnodesCoarse]; - fbneC = &DC[dMMP * numberOfLBnodesCoarse]; - fbnwC = &DC[dPMP * numberOfLBnodesCoarse]; - fbseC = &DC[dMPP * numberOfLBnodesCoarse]; - ftswC = &DC[dPPM * numberOfLBnodesCoarse]; - ftneC = &DC[dMMM * numberOfLBnodesCoarse]; - ftnwC = &DC[dPMM * numberOfLBnodesCoarse]; - ftseC = &DC[dMPM * numberOfLBnodesCoarse]; - } - - //////////////////////////////////////////////////////////////////////////////// - const unsigned ix = threadIdx.x; // Globaler x-Index - const unsigned iy = blockIdx.x; // Globaler y-Index - const unsigned iz = blockIdx.y; // Globaler z-Index - - const unsigned nx = blockDim.x; - const unsigned ny = gridDim.x; - - const unsigned k = nx*(ny*iz + iy) + ix; - ////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////// - real epsylon = c1o1; - real eps_new = c1o2; - real omegaS = omCoarse;//-omCoarse; - real o = omFine;//-omFine; - real op = c1o1; - real cu_sq; - - - real drho,vx1,vx2,vx3; - real drho_SWT,vx1_SWT,vx2_SWT,vx3_SWT; - real drho_NWT,vx1_NWT,vx2_NWT,vx3_NWT; - real drho_NET,vx1_NET,vx2_NET,vx3_NET; - real drho_SET,vx1_SET,vx2_SET,vx3_SET; - real drho_SWB,vx1_SWB,vx2_SWB,vx3_SWB; - real drho_NWB,vx1_NWB,vx2_NWB,vx3_NWB; - real drho_NEB,vx1_NEB,vx2_NEB,vx3_NEB; - real drho_SEB,vx1_SEB,vx2_SEB,vx3_SEB; - real f_E,f_W,f_N,f_S,f_T,f_B,f_NE,f_SW,f_SE,f_NW,f_TE,f_BW,f_BE,f_TW,f_TN,f_BS,f_BN,f_TS,f_ZERO,f_TNE, f_TSW, f_TSE, f_TNW, f_BNE, f_BSW, f_BSE, f_BNW; - real feq_E,feq_W,feq_N,feq_S,feq_T,feq_B,feq_NE,feq_SW,feq_SE,feq_NW,feq_TE,feq_BW,feq_BE,feq_TW,feq_TN,feq_BS,feq_BN,feq_TS,feq_ZERO,feq_TNE, feq_TSW, feq_TSE, feq_TNW, feq_BNE, feq_BSW, feq_BSE, feq_BNW; - real kxyFromfcNEQ_SWT, kyzFromfcNEQ_SWT, kxzFromfcNEQ_SWT, kxxMyyFromfcNEQ_SWT, kxxMzzFromfcNEQ_SWT; - real kxyFromfcNEQ_NWT, kyzFromfcNEQ_NWT, kxzFromfcNEQ_NWT, kxxMyyFromfcNEQ_NWT, kxxMzzFromfcNEQ_NWT; - real kxyFromfcNEQ_NET, kyzFromfcNEQ_NET, kxzFromfcNEQ_NET, kxxMyyFromfcNEQ_NET, kxxMzzFromfcNEQ_NET; - real kxyFromfcNEQ_SET, kyzFromfcNEQ_SET, kxzFromfcNEQ_SET, kxxMyyFromfcNEQ_SET, kxxMzzFromfcNEQ_SET; - real kxyFromfcNEQ_SWB, kyzFromfcNEQ_SWB, kxzFromfcNEQ_SWB, kxxMyyFromfcNEQ_SWB, kxxMzzFromfcNEQ_SWB; - real kxyFromfcNEQ_NWB, kyzFromfcNEQ_NWB, kxzFromfcNEQ_NWB, kxxMyyFromfcNEQ_NWB, kxxMzzFromfcNEQ_NWB; - real kxyFromfcNEQ_NEB, kyzFromfcNEQ_NEB, kxzFromfcNEQ_NEB, kxxMyyFromfcNEQ_NEB, kxxMzzFromfcNEQ_NEB; - real kxyFromfcNEQ_SEB, kyzFromfcNEQ_SEB, kxzFromfcNEQ_SEB, kxxMyyFromfcNEQ_SEB, kxxMzzFromfcNEQ_SEB; - real a0, ax, ay, az, axx, ayy, azz, axy, axz, ayz, b0, bx, by, bz, bxx, byy, bzz, bxy, bxz, byz, c0, cx, cy, cz, cxx, cyy, czz, cxy, cxz, cyz; - - real x,y,z; - - - if(k<kCF) - { - ////////////////////////////////////////////////////////////////////////// - //SWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - unsigned int k0zero= posCSWB[k]; - unsigned int k0w = neighborCX[k0zero]; - unsigned int k0s = neighborCY[k0zero]; - unsigned int k0b = neighborCZ[k0zero]; - unsigned int k0sw = neighborCY[k0w]; - unsigned int k0bw = neighborCZ[k0w]; - unsigned int k0bs = neighborCZ[k0s]; - unsigned int k0bsw = neighborCZ[k0sw]; - ////////////////////////////////////////////////////////////////////////// - //index - unsigned int kzero= k0zero; - unsigned int kw = k0w; - unsigned int ks = k0s; - unsigned int kb = k0b; - unsigned int ksw = k0sw; - unsigned int kbw = k0bw; - unsigned int kbs = k0bs; - unsigned int kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - drho_SWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_SWB = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2_SWB = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3_SWB = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - - drho = drho_SWB; - vx1 = vx1_SWB; - vx2 = vx2_SWB; - vx3 = vx3_SWB; - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - feq_ZERO = c8o27* (drho-cu_sq); - feq_E = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - feq_W = c2o27* (drho+c3o1*(-vx1 )+c9o2*(-vx1 )*(-vx1 )-cu_sq); - feq_N = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - feq_S = c2o27* (drho+c3o1*( -vx2 )+c9o2*( -vx2 )*( -vx2 )-cu_sq); - feq_T = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - feq_B = c2o27* (drho+c3o1*( -vx3)+c9o2*( -vx3)*( -vx3)-cu_sq); - feq_NE = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - feq_SW = c1o54* (drho+c3o1*(-vx1-vx2 )+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq); - feq_SE = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - feq_NW = c1o54* (drho+c3o1*(-vx1+vx2 )+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq); - feq_TE = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - feq_BW = c1o54* (drho+c3o1*(-vx1 -vx3)+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq); - feq_BE = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - feq_TW = c1o54* (drho+c3o1*(-vx1 +vx3)+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq); - feq_TN = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - feq_BS = c1o54* (drho+c3o1*( -vx2-vx3)+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq); - feq_BN = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - feq_TS = c1o54* (drho+c3o1*( -vx2+vx3)+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq); - feq_TNE = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - feq_BSW = c1o216*(drho+c3o1*(-vx1-vx2-vx3)+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq); - feq_BNE = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - feq_TSW = c1o216*(drho+c3o1*(-vx1-vx2+vx3)+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq); - feq_TSE = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - feq_BNW = c1o216*(drho+c3o1*(-vx1+vx2-vx3)+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq); - feq_BSE = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - feq_TNW = c1o216*(drho+c3o1*(-vx1+vx2+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq); - - f_E = f_E - feq_E; - f_W = f_W - feq_W; - f_N = f_N - feq_N; - f_S = f_S - feq_S; - f_T = f_T - feq_T; - f_B = f_B - feq_B; - f_NE = f_NE - feq_NE; - f_SW = f_SW - feq_SW; - f_SE = f_SE - feq_SE; - f_NW = f_NW - feq_NW; - f_TE = f_TE - feq_TE; - f_BW = f_BW - feq_BW; - f_BE = f_BE - feq_BE; - f_TW = f_TW - feq_TW; - f_TN = f_TN - feq_TN; - f_BS = f_BS - feq_BS; - f_BN = f_BN - feq_BN; - f_TS = f_TS - feq_TS; - f_ZERO = f_ZERO - feq_ZERO; - f_TNE = f_TNE - feq_TNE; - f_TSW = f_TSW - feq_TSW; - f_TSE = f_TSE - feq_TSE; - f_TNW = f_TNW - feq_TNW; - f_BNE = f_BNE - feq_BNE; - f_BSW = f_BSW - feq_BSW; - f_BSE = f_BSE - feq_BSE; - f_BNW = f_BNW - feq_BNW; - - kxyFromfcNEQ_SWB = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE); - kyzFromfcNEQ_SWB = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW); - kxzFromfcNEQ_SWB = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE); - kxxMyyFromfcNEQ_SWB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE); - kxxMzzFromfcNEQ_SWB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE); - - ////////////////////////////////////////////////////////////////////////// - //SWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborCZ[kb]; - ksw = kbsw; - kbw = neighborCZ[kbw]; - kbs = neighborCZ[kbs]; - kbsw = neighborCZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - drho_SWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_SWT = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2_SWT = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3_SWT = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - - drho = drho_SWT; - vx1 = vx1_SWT; - vx2 = vx2_SWT; - vx3 = vx3_SWT; - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - feq_ZERO = c8o27* (drho-cu_sq); - feq_E = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - feq_W = c2o27* (drho+c3o1*(-vx1 )+c9o2*(-vx1 )*(-vx1 )-cu_sq); - feq_N = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - feq_S = c2o27* (drho+c3o1*( -vx2 )+c9o2*( -vx2 )*( -vx2 )-cu_sq); - feq_T = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - feq_B = c2o27* (drho+c3o1*( -vx3)+c9o2*( -vx3)*( -vx3)-cu_sq); - feq_NE = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - feq_SW = c1o54* (drho+c3o1*(-vx1-vx2 )+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq); - feq_SE = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - feq_NW = c1o54* (drho+c3o1*(-vx1+vx2 )+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq); - feq_TE = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - feq_BW = c1o54* (drho+c3o1*(-vx1 -vx3)+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq); - feq_BE = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - feq_TW = c1o54* (drho+c3o1*(-vx1 +vx3)+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq); - feq_TN = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - feq_BS = c1o54* (drho+c3o1*( -vx2-vx3)+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq); - feq_BN = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - feq_TS = c1o54* (drho+c3o1*( -vx2+vx3)+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq); - feq_TNE = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - feq_BSW = c1o216*(drho+c3o1*(-vx1-vx2-vx3)+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq); - feq_BNE = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - feq_TSW = c1o216*(drho+c3o1*(-vx1-vx2+vx3)+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq); - feq_TSE = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - feq_BNW = c1o216*(drho+c3o1*(-vx1+vx2-vx3)+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq); - feq_BSE = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - feq_TNW = c1o216*(drho+c3o1*(-vx1+vx2+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq); - - f_E = f_E - feq_E; - f_W = f_W - feq_W; - f_N = f_N - feq_N; - f_S = f_S - feq_S; - f_T = f_T - feq_T; - f_B = f_B - feq_B; - f_NE = f_NE - feq_NE; - f_SW = f_SW - feq_SW; - f_SE = f_SE - feq_SE; - f_NW = f_NW - feq_NW; - f_TE = f_TE - feq_TE; - f_BW = f_BW - feq_BW; - f_BE = f_BE - feq_BE; - f_TW = f_TW - feq_TW; - f_TN = f_TN - feq_TN; - f_BS = f_BS - feq_BS; - f_BN = f_BN - feq_BN; - f_TS = f_TS - feq_TS; - f_ZERO = f_ZERO - feq_ZERO; - f_TNE = f_TNE - feq_TNE; - f_TSW = f_TSW - feq_TSW; - f_TSE = f_TSE - feq_TSE; - f_TNW = f_TNW - feq_TNW; - f_BNE = f_BNE - feq_BNE; - f_BSW = f_BSW - feq_BSW; - f_BSE = f_BSE - feq_BSE; - f_BNW = f_BNW - feq_BNW; - - - kxyFromfcNEQ_SWT = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE); - kyzFromfcNEQ_SWT = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW); - kxzFromfcNEQ_SWT = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE); - kxxMyyFromfcNEQ_SWT = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE); - kxxMzzFromfcNEQ_SWT = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE); - - ////////////////////////////////////////////////////////////////////////// - //SET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborCX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborCX[ksw]; - kbw = neighborCX[kbw]; - kbs = kbsw; - kbsw = neighborCX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - drho_SET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_SET = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2_SET = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3_SET = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - - drho = drho_SET; - vx1 = vx1_SET; - vx2 = vx2_SET; - vx3 = vx3_SET; - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - feq_ZERO = c8o27* (drho-cu_sq); - feq_E = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - feq_W = c2o27* (drho+c3o1*(-vx1 )+c9o2*(-vx1 )*(-vx1 )-cu_sq); - feq_N = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - feq_S = c2o27* (drho+c3o1*( -vx2 )+c9o2*( -vx2 )*( -vx2 )-cu_sq); - feq_T = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - feq_B = c2o27* (drho+c3o1*( -vx3)+c9o2*( -vx3)*( -vx3)-cu_sq); - feq_NE = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - feq_SW = c1o54* (drho+c3o1*(-vx1-vx2 )+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq); - feq_SE = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - feq_NW = c1o54* (drho+c3o1*(-vx1+vx2 )+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq); - feq_TE = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - feq_BW = c1o54* (drho+c3o1*(-vx1 -vx3)+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq); - feq_BE = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - feq_TW = c1o54* (drho+c3o1*(-vx1 +vx3)+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq); - feq_TN = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - feq_BS = c1o54* (drho+c3o1*( -vx2-vx3)+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq); - feq_BN = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - feq_TS = c1o54* (drho+c3o1*( -vx2+vx3)+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq); - feq_TNE = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - feq_BSW = c1o216*(drho+c3o1*(-vx1-vx2-vx3)+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq); - feq_BNE = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - feq_TSW = c1o216*(drho+c3o1*(-vx1-vx2+vx3)+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq); - feq_TSE = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - feq_BNW = c1o216*(drho+c3o1*(-vx1+vx2-vx3)+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq); - feq_BSE = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - feq_TNW = c1o216*(drho+c3o1*(-vx1+vx2+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq); - - f_E = f_E - feq_E; - f_W = f_W - feq_W; - f_N = f_N - feq_N; - f_S = f_S - feq_S; - f_T = f_T - feq_T; - f_B = f_B - feq_B; - f_NE = f_NE - feq_NE; - f_SW = f_SW - feq_SW; - f_SE = f_SE - feq_SE; - f_NW = f_NW - feq_NW; - f_TE = f_TE - feq_TE; - f_BW = f_BW - feq_BW; - f_BE = f_BE - feq_BE; - f_TW = f_TW - feq_TW; - f_TN = f_TN - feq_TN; - f_BS = f_BS - feq_BS; - f_BN = f_BN - feq_BN; - f_TS = f_TS - feq_TS; - f_ZERO = f_ZERO - feq_ZERO; - f_TNE = f_TNE - feq_TNE; - f_TSW = f_TSW - feq_TSW; - f_TSE = f_TSE - feq_TSE; - f_TNW = f_TNW - feq_TNW; - f_BNE = f_BNE - feq_BNE; - f_BSW = f_BSW - feq_BSW; - f_BSE = f_BSE - feq_BSE; - f_BNW = f_BNW - feq_BNW; - - kxyFromfcNEQ_SET = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE); - kyzFromfcNEQ_SET = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW); - kxzFromfcNEQ_SET = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE); - kxxMyyFromfcNEQ_SET = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE); - kxxMzzFromfcNEQ_SET = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE); - - ////////////////////////////////////////////////////////////////////////// - //SEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborCX[k0w]; - ks = k0sw; - ksw = neighborCX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - drho_SEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_SEB = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2_SEB = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3_SEB = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - - drho = drho_SEB; - vx1 = vx1_SEB; - vx2 = vx2_SEB; - vx3 = vx3_SEB; - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - feq_ZERO = c8o27* (drho-cu_sq); - feq_E = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - feq_W = c2o27* (drho+c3o1*(-vx1 )+c9o2*(-vx1 )*(-vx1 )-cu_sq); - feq_N = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - feq_S = c2o27* (drho+c3o1*( -vx2 )+c9o2*( -vx2 )*( -vx2 )-cu_sq); - feq_T = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - feq_B = c2o27* (drho+c3o1*( -vx3)+c9o2*( -vx3)*( -vx3)-cu_sq); - feq_NE = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - feq_SW = c1o54* (drho+c3o1*(-vx1-vx2 )+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq); - feq_SE = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - feq_NW = c1o54* (drho+c3o1*(-vx1+vx2 )+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq); - feq_TE = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - feq_BW = c1o54* (drho+c3o1*(-vx1 -vx3)+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq); - feq_BE = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - feq_TW = c1o54* (drho+c3o1*(-vx1 +vx3)+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq); - feq_TN = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - feq_BS = c1o54* (drho+c3o1*( -vx2-vx3)+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq); - feq_BN = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - feq_TS = c1o54* (drho+c3o1*( -vx2+vx3)+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq); - feq_TNE = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - feq_BSW = c1o216*(drho+c3o1*(-vx1-vx2-vx3)+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq); - feq_BNE = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - feq_TSW = c1o216*(drho+c3o1*(-vx1-vx2+vx3)+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq); - feq_TSE = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - feq_BNW = c1o216*(drho+c3o1*(-vx1+vx2-vx3)+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq); - feq_BSE = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - feq_TNW = c1o216*(drho+c3o1*(-vx1+vx2+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq); - - f_E = f_E - feq_E; - f_W = f_W - feq_W; - f_N = f_N - feq_N; - f_S = f_S - feq_S; - f_T = f_T - feq_T; - f_B = f_B - feq_B; - f_NE = f_NE - feq_NE; - f_SW = f_SW - feq_SW; - f_SE = f_SE - feq_SE; - f_NW = f_NW - feq_NW; - f_TE = f_TE - feq_TE; - f_BW = f_BW - feq_BW; - f_BE = f_BE - feq_BE; - f_TW = f_TW - feq_TW; - f_TN = f_TN - feq_TN; - f_BS = f_BS - feq_BS; - f_BN = f_BN - feq_BN; - f_TS = f_TS - feq_TS; - f_ZERO = f_ZERO - feq_ZERO; - f_TNE = f_TNE - feq_TNE; - f_TSW = f_TSW - feq_TSW; - f_TSE = f_TSE - feq_TSE; - f_TNW = f_TNW - feq_TNW; - f_BNE = f_BNE - feq_BNE; - f_BSW = f_BSW - feq_BSW; - f_BSE = f_BSE - feq_BSE; - f_BNW = f_BNW - feq_BNW; - - kxyFromfcNEQ_SEB = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE); - kyzFromfcNEQ_SEB = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW); - kxzFromfcNEQ_SEB = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE); - kxxMyyFromfcNEQ_SEB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE); - kxxMzzFromfcNEQ_SEB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE); - - ////////////////////////////////////////////////////////////////////////// - //NWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= k0s; - k0w = k0sw; - k0s = neighborCY[k0s]; - k0b = k0bs; - k0sw = neighborCY[k0sw]; - k0bw = k0bsw; - k0bs = neighborCY[k0bs]; - k0bsw = neighborCY[k0bsw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - drho_NWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_NWB = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2_NWB = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3_NWB = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - - drho = drho_NWB; - vx1 = vx1_NWB; - vx2 = vx2_NWB; - vx3 = vx3_NWB; - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - feq_ZERO = c8o27* (drho-cu_sq); - feq_E = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - feq_W = c2o27* (drho+c3o1*(-vx1 )+c9o2*(-vx1 )*(-vx1 )-cu_sq); - feq_N = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - feq_S = c2o27* (drho+c3o1*( -vx2 )+c9o2*( -vx2 )*( -vx2 )-cu_sq); - feq_T = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - feq_B = c2o27* (drho+c3o1*( -vx3)+c9o2*( -vx3)*( -vx3)-cu_sq); - feq_NE = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - feq_SW = c1o54* (drho+c3o1*(-vx1-vx2 )+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq); - feq_SE = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - feq_NW = c1o54* (drho+c3o1*(-vx1+vx2 )+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq); - feq_TE = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - feq_BW = c1o54* (drho+c3o1*(-vx1 -vx3)+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq); - feq_BE = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - feq_TW = c1o54* (drho+c3o1*(-vx1 +vx3)+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq); - feq_TN = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - feq_BS = c1o54* (drho+c3o1*( -vx2-vx3)+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq); - feq_BN = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - feq_TS = c1o54* (drho+c3o1*( -vx2+vx3)+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq); - feq_TNE = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - feq_BSW = c1o216*(drho+c3o1*(-vx1-vx2-vx3)+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq); - feq_BNE = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - feq_TSW = c1o216*(drho+c3o1*(-vx1-vx2+vx3)+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq); - feq_TSE = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - feq_BNW = c1o216*(drho+c3o1*(-vx1+vx2-vx3)+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq); - feq_BSE = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - feq_TNW = c1o216*(drho+c3o1*(-vx1+vx2+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq); - - f_E = f_E - feq_E; - f_W = f_W - feq_W; - f_N = f_N - feq_N; - f_S = f_S - feq_S; - f_T = f_T - feq_T; - f_B = f_B - feq_B; - f_NE = f_NE - feq_NE; - f_SW = f_SW - feq_SW; - f_SE = f_SE - feq_SE; - f_NW = f_NW - feq_NW; - f_TE = f_TE - feq_TE; - f_BW = f_BW - feq_BW; - f_BE = f_BE - feq_BE; - f_TW = f_TW - feq_TW; - f_TN = f_TN - feq_TN; - f_BS = f_BS - feq_BS; - f_BN = f_BN - feq_BN; - f_TS = f_TS - feq_TS; - f_ZERO = f_ZERO - feq_ZERO; - f_TNE = f_TNE - feq_TNE; - f_TSW = f_TSW - feq_TSW; - f_TSE = f_TSE - feq_TSE; - f_TNW = f_TNW - feq_TNW; - f_BNE = f_BNE - feq_BNE; - f_BSW = f_BSW - feq_BSW; - f_BSE = f_BSE - feq_BSE; - f_BNW = f_BNW - feq_BNW; - - kxyFromfcNEQ_NWB = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE); - kyzFromfcNEQ_NWB = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW); - kxzFromfcNEQ_NWB = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE); - kxxMyyFromfcNEQ_NWB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE); - kxxMzzFromfcNEQ_NWB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE); - - ////////////////////////////////////////////////////////////////////////// - //NWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborCZ[kb]; - ksw = kbsw; - kbw = neighborCZ[kbw]; - kbs = neighborCZ[kbs]; - kbsw = neighborCZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - drho_NWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_NWT = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2_NWT = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3_NWT = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - - drho = drho_NWT; - vx1 = vx1_NWT; - vx2 = vx2_NWT; - vx3 = vx3_NWT; - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - feq_ZERO = c8o27* (drho-cu_sq); - feq_E = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - feq_W = c2o27* (drho+c3o1*(-vx1 )+c9o2*(-vx1 )*(-vx1 )-cu_sq); - feq_N = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - feq_S = c2o27* (drho+c3o1*( -vx2 )+c9o2*( -vx2 )*( -vx2 )-cu_sq); - feq_T = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - feq_B = c2o27* (drho+c3o1*( -vx3)+c9o2*( -vx3)*( -vx3)-cu_sq); - feq_NE = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - feq_SW = c1o54* (drho+c3o1*(-vx1-vx2 )+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq); - feq_SE = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - feq_NW = c1o54* (drho+c3o1*(-vx1+vx2 )+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq); - feq_TE = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - feq_BW = c1o54* (drho+c3o1*(-vx1 -vx3)+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq); - feq_BE = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - feq_TW = c1o54* (drho+c3o1*(-vx1 +vx3)+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq); - feq_TN = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - feq_BS = c1o54* (drho+c3o1*( -vx2-vx3)+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq); - feq_BN = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - feq_TS = c1o54* (drho+c3o1*( -vx2+vx3)+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq); - feq_TNE = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - feq_BSW = c1o216*(drho+c3o1*(-vx1-vx2-vx3)+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq); - feq_BNE = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - feq_TSW = c1o216*(drho+c3o1*(-vx1-vx2+vx3)+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq); - feq_TSE = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - feq_BNW = c1o216*(drho+c3o1*(-vx1+vx2-vx3)+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq); - feq_BSE = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - feq_TNW = c1o216*(drho+c3o1*(-vx1+vx2+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq); - - f_E = f_E - feq_E; - f_W = f_W - feq_W; - f_N = f_N - feq_N; - f_S = f_S - feq_S; - f_T = f_T - feq_T; - f_B = f_B - feq_B; - f_NE = f_NE - feq_NE; - f_SW = f_SW - feq_SW; - f_SE = f_SE - feq_SE; - f_NW = f_NW - feq_NW; - f_TE = f_TE - feq_TE; - f_BW = f_BW - feq_BW; - f_BE = f_BE - feq_BE; - f_TW = f_TW - feq_TW; - f_TN = f_TN - feq_TN; - f_BS = f_BS - feq_BS; - f_BN = f_BN - feq_BN; - f_TS = f_TS - feq_TS; - f_ZERO = f_ZERO - feq_ZERO; - f_TNE = f_TNE - feq_TNE; - f_TSW = f_TSW - feq_TSW; - f_TSE = f_TSE - feq_TSE; - f_TNW = f_TNW - feq_TNW; - f_BNE = f_BNE - feq_BNE; - f_BSW = f_BSW - feq_BSW; - f_BSE = f_BSE - feq_BSE; - f_BNW = f_BNW - feq_BNW; - - - kxyFromfcNEQ_NWT = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE); - kyzFromfcNEQ_NWT = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW); - kxzFromfcNEQ_NWT = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE); - kxxMyyFromfcNEQ_NWT = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE); - kxxMzzFromfcNEQ_NWT = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE); - - ////////////////////////////////////////////////////////////////////////// - //NET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborCX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborCX[ksw]; - kbw = neighborCX[kbw]; - kbs = kbsw; - kbsw = neighborCX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - drho_NET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_NET = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2_NET = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3_NET = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - - drho = drho_NET; - vx1 = vx1_NET; - vx2 = vx2_NET; - vx3 = vx3_NET; - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - feq_ZERO = c8o27* (drho-cu_sq); - feq_E = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - feq_W = c2o27* (drho+c3o1*(-vx1 )+c9o2*(-vx1 )*(-vx1 )-cu_sq); - feq_N = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - feq_S = c2o27* (drho+c3o1*( -vx2 )+c9o2*( -vx2 )*( -vx2 )-cu_sq); - feq_T = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - feq_B = c2o27* (drho+c3o1*( -vx3)+c9o2*( -vx3)*( -vx3)-cu_sq); - feq_NE = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - feq_SW = c1o54* (drho+c3o1*(-vx1-vx2 )+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq); - feq_SE = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - feq_NW = c1o54* (drho+c3o1*(-vx1+vx2 )+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq); - feq_TE = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - feq_BW = c1o54* (drho+c3o1*(-vx1 -vx3)+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq); - feq_BE = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - feq_TW = c1o54* (drho+c3o1*(-vx1 +vx3)+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq); - feq_TN = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - feq_BS = c1o54* (drho+c3o1*( -vx2-vx3)+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq); - feq_BN = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - feq_TS = c1o54* (drho+c3o1*( -vx2+vx3)+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq); - feq_TNE = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - feq_BSW = c1o216*(drho+c3o1*(-vx1-vx2-vx3)+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq); - feq_BNE = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - feq_TSW = c1o216*(drho+c3o1*(-vx1-vx2+vx3)+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq); - feq_TSE = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - feq_BNW = c1o216*(drho+c3o1*(-vx1+vx2-vx3)+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq); - feq_BSE = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - feq_TNW = c1o216*(drho+c3o1*(-vx1+vx2+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq); - - f_E = f_E - feq_E; - f_W = f_W - feq_W; - f_N = f_N - feq_N; - f_S = f_S - feq_S; - f_T = f_T - feq_T; - f_B = f_B - feq_B; - f_NE = f_NE - feq_NE; - f_SW = f_SW - feq_SW; - f_SE = f_SE - feq_SE; - f_NW = f_NW - feq_NW; - f_TE = f_TE - feq_TE; - f_BW = f_BW - feq_BW; - f_BE = f_BE - feq_BE; - f_TW = f_TW - feq_TW; - f_TN = f_TN - feq_TN; - f_BS = f_BS - feq_BS; - f_BN = f_BN - feq_BN; - f_TS = f_TS - feq_TS; - f_ZERO = f_ZERO - feq_ZERO; - f_TNE = f_TNE - feq_TNE; - f_TSW = f_TSW - feq_TSW; - f_TSE = f_TSE - feq_TSE; - f_TNW = f_TNW - feq_TNW; - f_BNE = f_BNE - feq_BNE; - f_BSW = f_BSW - feq_BSW; - f_BSE = f_BSE - feq_BSE; - f_BNW = f_BNW - feq_BNW; - - - kxyFromfcNEQ_NET = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE); - kyzFromfcNEQ_NET = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW); - kxzFromfcNEQ_NET = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE); - kxxMyyFromfcNEQ_NET = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE); - kxxMzzFromfcNEQ_NET = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE); - - ////////////////////////////////////////////////////////////////////////// - //NEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborCX[k0w]; - ks = k0sw; - ksw = neighborCX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feC[kzero]; - f_W = fwC[kw]; - f_N = fnC[kzero]; - f_S = fsC[ks]; - f_T = ftC[kzero]; - f_B = fbC[kb]; - f_NE = fneC[kzero]; - f_SW = fswC[ksw]; - f_SE = fseC[ks]; - f_NW = fnwC[kw]; - f_TE = fteC[kzero]; - f_BW = fbwC[kbw]; - f_BE = fbeC[kb]; - f_TW = ftwC[kw]; - f_TN = ftnC[kzero]; - f_BS = fbsC[kbs]; - f_BN = fbnC[kb]; - f_TS = ftsC[ks]; - f_ZERO = fzeroC[kzero]; - f_TNE = ftneC[kzero]; - f_TSW = ftswC[ksw]; - f_TSE = ftseC[ks]; - f_TNW = ftnwC[kw]; - f_BNE = fbneC[kb]; - f_BSW = fbswC[kbsw]; - f_BSE = fbseC[kbs]; - f_BNW = fbnwC[kbw]; - - drho_NEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_NEB = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2_NEB = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3_NEB = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - - drho = drho_NEB; - vx1 = vx1_NEB; - vx2 = vx2_NEB; - vx3 = vx3_NEB; - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - feq_ZERO = c8o27* (drho-cu_sq); - feq_E = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - feq_W = c2o27* (drho+c3o1*(-vx1 )+c9o2*(-vx1 )*(-vx1 )-cu_sq); - feq_N = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - feq_S = c2o27* (drho+c3o1*( -vx2 )+c9o2*( -vx2 )*( -vx2 )-cu_sq); - feq_T = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - feq_B = c2o27* (drho+c3o1*( -vx3)+c9o2*( -vx3)*( -vx3)-cu_sq); - feq_NE = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - feq_SW = c1o54* (drho+c3o1*(-vx1-vx2 )+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq); - feq_SE = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - feq_NW = c1o54* (drho+c3o1*(-vx1+vx2 )+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq); - feq_TE = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - feq_BW = c1o54* (drho+c3o1*(-vx1 -vx3)+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq); - feq_BE = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - feq_TW = c1o54* (drho+c3o1*(-vx1 +vx3)+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq); - feq_TN = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - feq_BS = c1o54* (drho+c3o1*( -vx2-vx3)+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq); - feq_BN = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - feq_TS = c1o54* (drho+c3o1*( -vx2+vx3)+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq); - feq_TNE = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - feq_BSW = c1o216*(drho+c3o1*(-vx1-vx2-vx3)+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq); - feq_BNE = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - feq_TSW = c1o216*(drho+c3o1*(-vx1-vx2+vx3)+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq); - feq_TSE = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - feq_BNW = c1o216*(drho+c3o1*(-vx1+vx2-vx3)+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq); - feq_BSE = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - feq_TNW = c1o216*(drho+c3o1*(-vx1+vx2+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq); - - f_E = f_E - feq_E; - f_W = f_W - feq_W; - f_N = f_N - feq_N; - f_S = f_S - feq_S; - f_T = f_T - feq_T; - f_B = f_B - feq_B; - f_NE = f_NE - feq_NE; - f_SW = f_SW - feq_SW; - f_SE = f_SE - feq_SE; - f_NW = f_NW - feq_NW; - f_TE = f_TE - feq_TE; - f_BW = f_BW - feq_BW; - f_BE = f_BE - feq_BE; - f_TW = f_TW - feq_TW; - f_TN = f_TN - feq_TN; - f_BS = f_BS - feq_BS; - f_BN = f_BN - feq_BN; - f_TS = f_TS - feq_TS; - f_ZERO = f_ZERO - feq_ZERO; - f_TNE = f_TNE - feq_TNE; - f_TSW = f_TSW - feq_TSW; - f_TSE = f_TSE - feq_TSE; - f_TNW = f_TNW - feq_TNW; - f_BNE = f_BNE - feq_BNE; - f_BSW = f_BSW - feq_BSW; - f_BSE = f_BSE - feq_BSE; - f_BNW = f_BNW - feq_BNW; - - kxyFromfcNEQ_NEB = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE); - kyzFromfcNEQ_NEB = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW); - kxzFromfcNEQ_NEB = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE); - kxxMyyFromfcNEQ_NEB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE); - kxxMzzFromfcNEQ_NEB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE); - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //for all - //Version 1 - a0 = c8o1*vx1_SWB + c8o1*vx1_NWT + c8o1*vx1_SET + c8o1*vx1_NEB + c2o1*vx2_SWB - c2o1*vx2_NWT - c2o1*vx2_SET + c2o1*vx2_NEB + c2o1*vx3_SWB - c2o1*vx3_NWT + c2o1*vx3_SET - c2o1*vx3_NEB + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + c2o1*kxyFromfcNEQ_SWB - c2o1*kxyFromfcNEQ_NWT + c2o1*kxyFromfcNEQ_SET - c2o1*kxyFromfcNEQ_NEB + c2o1*kxzFromfcNEQ_SWB - c2o1*kxzFromfcNEQ_NWT - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - ax = (-c4o1*vx1_SWB - c4o1*vx1_NWT + c4o1*vx1_SET + c4o1*vx1_NEB - kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB - kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT - kyzFromfcNEQ_SET - kyzFromfcNEQ_NEB)/epsylon; - ay = (-c2o1*vx1_SWB + c2o1*vx1_NWT - c2o1*vx1_SET + c2o1*vx1_NEB + c2o1*vx2_SWB + c2o1*vx2_NWT - c2o1*vx2_SET - c2o1*vx2_NEB - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB + kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB)/epsylon; - az = (-c2o1*vx1_SWB + c2o1*vx1_NWT + c2o1*vx1_SET - c2o1*vx1_NEB + c2o1*vx3_SWB + c2o1*vx3_NWT - c2o1*vx3_SET - c2o1*vx3_NEB - kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB)/epsylon; - axx= (c2o1*vx2_SWB - c2o1*vx2_NWT - c2o1*vx2_SET + c2o1*vx2_NEB + c2o1*vx3_SWB - c2o1*vx3_NWT + c2o1*vx3_SET - c2o1*vx3_NEB - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB)/(epsylon*epsylon); - ayy= (-c2o1*vx2_SWB + c2o1*vx2_NWT + c2o1*vx2_SET - c2o1*vx2_NEB - c2o1*vx3_SWB + c2o1*vx3_NWT - c2o1*vx3_SET + c2o1*vx3_NEB - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_NWT - c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_NEB - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT - kyzFromfcNEQ_SET - kyzFromfcNEQ_NEB)/(epsylon*epsylon); - azz= (-c2o1*vx2_SWB + c2o1*vx2_NWT + c2o1*vx2_SET - c2o1*vx2_NEB - c2o1*vx3_SWB + c2o1*vx3_NWT - c2o1*vx3_SET + c2o1*vx3_NEB + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_SWB + c2o1*kxzFromfcNEQ_NWT + c2o1*kxzFromfcNEQ_SET - c2o1*kxzFromfcNEQ_NEB - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT - kyzFromfcNEQ_SET - kyzFromfcNEQ_NEB)/(epsylon*epsylon); - axy= (c2o1*vx1_SWB - c2o1*vx1_NWT - c2o1*vx1_SET + c2o1*vx1_NEB + c2o1*vx3_SWB + c2o1*vx3_NWT - c2o1*vx3_SET - c2o1*vx3_NEB - kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB)/(epsylon*epsylon); - axz= (c2o1*vx1_SWB - c2o1*vx1_NWT + c2o1*vx1_SET - c2o1*vx1_NEB + c2o1*vx2_SWB + c2o1*vx2_NWT - c2o1*vx2_SET - c2o1*vx2_NEB - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB + kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB)/(epsylon*epsylon); - ayz= (-kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB - kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT - kyzFromfcNEQ_SET - kyzFromfcNEQ_NEB)/(epsylon*epsylon); - b0 = c2o1*vx1_SWB - c2o1*vx1_NWT - c2o1*vx1_SET + c2o1*vx1_NEB + c8o1*vx2_SWB + c8o1*vx2_NWT + c8o1*vx2_SET + c8o1*vx2_NEB + c2o1*vx3_SWB + c2o1*vx3_NWT - c2o1*vx3_SET - c2o1*vx3_NEB - c2o1*kxxMyyFromfcNEQ_SWB + c2o1*kxxMyyFromfcNEQ_NWT - c2o1*kxxMyyFromfcNEQ_SET + c2o1*kxxMyyFromfcNEQ_NEB + kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_NWT - c2o1*kxyFromfcNEQ_SET - c2o1*kxyFromfcNEQ_NEB + kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB + c2o1*kyzFromfcNEQ_SWB - c2o1*kyzFromfcNEQ_NWT - c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_NEB; - bx = (c2o1*vx1_SWB - c2o1*vx1_NWT + c2o1*vx1_SET - c2o1*vx1_NEB - c2o1*vx2_SWB - c2o1*vx2_NWT + c2o1*vx2_SET + c2o1*vx2_NEB + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB + kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB)/epsylon; - by = (-c4o1*vx2_SWB + c4o1*vx2_NWT - c4o1*vx2_SET + c4o1*vx2_NEB - kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB + kxzFromfcNEQ_SWB - kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET - kxzFromfcNEQ_NEB - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB)/epsylon; - bz = (-c2o1*vx2_SWB + c2o1*vx2_NWT + c2o1*vx2_SET - c2o1*vx2_NEB + c2o1*vx3_SWB - c2o1*vx3_NWT + c2o1*vx3_SET - c2o1*vx3_NEB + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB)/epsylon; - bxx= (-c2o1*vx1_SWB + c2o1*vx1_NWT + c2o1*vx1_SET - c2o1*vx1_NEB - c2o1*vx3_SWB - c2o1*vx3_NWT + c2o1*vx3_SET + c2o1*vx3_NEB + kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_SWB - c2o1*kxyFromfcNEQ_NWT + c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_NEB - kxzFromfcNEQ_SWB - kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET - kxzFromfcNEQ_NEB)/(epsylon*epsylon); - byy= (c2o1*vx1_SWB - c2o1*vx1_NWT - c2o1*vx1_SET + c2o1*vx1_NEB + c2o1*vx3_SWB + c2o1*vx3_NWT - c2o1*vx3_SET - c2o1*vx3_NEB + c2o1*kxxMyyFromfcNEQ_SWB - c2o1*kxxMyyFromfcNEQ_NWT + c2o1*kxxMyyFromfcNEQ_SET - c2o1*kxxMyyFromfcNEQ_NEB - kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB)/(epsylon*epsylon); - bzz= (-c2o1*vx1_SWB + c2o1*vx1_NWT + c2o1*vx1_SET - c2o1*vx1_NEB - c2o1*vx3_SWB - c2o1*vx3_NWT + c2o1*vx3_SET + c2o1*vx3_NEB - kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB - kxzFromfcNEQ_SWB - kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET - kxzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_SWB + c2o1*kyzFromfcNEQ_NWT + c2o1*kyzFromfcNEQ_SET - c2o1*kyzFromfcNEQ_NEB)/(epsylon*epsylon); - bxy= (c2o1*vx2_SWB - c2o1*vx2_NWT - c2o1*vx2_SET + c2o1*vx2_NEB + c2o1*vx3_SWB - c2o1*vx3_NWT + c2o1*vx3_SET - c2o1*vx3_NEB + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB)/(epsylon*epsylon); - bxz= (-kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB + kxzFromfcNEQ_SWB - kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET - kxzFromfcNEQ_NEB - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB)/(epsylon*epsylon); - byz= (c2o1*vx1_SWB - c2o1*vx1_NWT + c2o1*vx1_SET - c2o1*vx1_NEB + c2o1*vx2_SWB + c2o1*vx2_NWT - c2o1*vx2_SET - c2o1*vx2_NEB + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB + kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB)/(epsylon*epsylon); - c0 = c2o1*vx1_SWB - c2o1*vx1_NWT + c2o1*vx1_SET - c2o1*vx1_NEB + c2o1*vx2_SWB + c2o1*vx2_NWT - c2o1*vx2_SET - c2o1*vx2_NEB + c8o1*vx3_SWB + c8o1*vx3_NWT + c8o1*vx3_SET + c8o1*vx3_NEB + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB - c2o1*kxxMzzFromfcNEQ_SWB + c2o1*kxxMzzFromfcNEQ_NWT + c2o1*kxxMzzFromfcNEQ_SET - c2o1*kxxMzzFromfcNEQ_NEB + kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB + c2o1*kxzFromfcNEQ_SWB + c2o1*kxzFromfcNEQ_NWT - c2o1*kxzFromfcNEQ_SET - c2o1*kxzFromfcNEQ_NEB + c2o1*kyzFromfcNEQ_SWB - c2o1*kyzFromfcNEQ_NWT + c2o1*kyzFromfcNEQ_SET - c2o1*kyzFromfcNEQ_NEB; - cx = (c2o1*vx1_SWB - c2o1*vx1_NWT - c2o1*vx1_SET + c2o1*vx1_NEB - c2o1*vx3_SWB - c2o1*vx3_NWT + c2o1*vx3_SET + c2o1*vx3_NEB + kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB)/epsylon; - cy = (c2o1*vx2_SWB - c2o1*vx2_NWT - c2o1*vx2_SET + c2o1*vx2_NEB - c2o1*vx3_SWB + c2o1*vx3_NWT - c2o1*vx3_SET + c2o1*vx3_NEB - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB)/epsylon; - cz = (-c4o1*vx3_SWB + c4o1*vx3_NWT + c4o1*vx3_SET - c4o1*vx3_NEB + kxyFromfcNEQ_SWB - kxyFromfcNEQ_NWT - kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB - kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB)/epsylon; - cxx= (-c2o1*vx1_SWB + c2o1*vx1_NWT - c2o1*vx1_SET + c2o1*vx1_NEB - c2o1*vx2_SWB - c2o1*vx2_NWT + c2o1*vx2_SET + c2o1*vx2_NEB + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB - kxyFromfcNEQ_SWB - kxyFromfcNEQ_NWT - kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_SWB - c2o1*kxzFromfcNEQ_NWT + c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_NEB)/(epsylon*epsylon); - cyy= (-c2o1*vx1_SWB + c2o1*vx1_NWT - c2o1*vx1_SET + c2o1*vx1_NEB - c2o1*vx2_SWB - c2o1*vx2_NWT + c2o1*vx2_SET + c2o1*vx2_NEB - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB - kxyFromfcNEQ_SWB - kxyFromfcNEQ_NWT - kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_SWB + c2o1*kyzFromfcNEQ_NWT - c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_NEB)/(epsylon*epsylon); - czz= (c2o1*vx1_SWB - c2o1*vx1_NWT + c2o1*vx1_SET - c2o1*vx1_NEB + c2o1*vx2_SWB + c2o1*vx2_NWT - c2o1*vx2_SET - c2o1*vx2_NEB - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB + c2o1*kxxMzzFromfcNEQ_SWB - c2o1*kxxMzzFromfcNEQ_NWT - c2o1*kxxMzzFromfcNEQ_SET + c2o1*kxxMzzFromfcNEQ_NEB + kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB)/(epsylon*epsylon); - cxy= (kxyFromfcNEQ_SWB - kxyFromfcNEQ_NWT - kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB - kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB)/(epsylon*epsylon); - cxz= (c2o1*vx2_SWB - c2o1*vx2_NWT - c2o1*vx2_SET + c2o1*vx2_NEB + c2o1*vx3_SWB - c2o1*vx3_NWT + c2o1*vx3_SET - c2o1*vx3_NEB - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB)/(epsylon*epsylon); - cyz= (c2o1*vx1_SWB - c2o1*vx1_NWT - c2o1*vx1_SET + c2o1*vx1_NEB + c2o1*vx3_SWB + c2o1*vx3_NWT - c2o1*vx3_SET - c2o1*vx3_NEB + kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB)/(epsylon*epsylon); - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //Version2 - //a0 = eight*vx1_SWT + eight*vx1_NWB + eight*vx1_SEB + eight*vx1_NET + two*vx2_SWT - two*vx2_NWB - two*vx2_SEB + two*vx2_NET - two*vx3_SWT + two*vx3_NWB - two*vx3_SEB + two*vx3_NET + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - one*kxxMyyFromfcNEQ_SEB - one*kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - one*kxxMzzFromfcNEQ_SEB - one*kxxMzzFromfcNEQ_NET + two*kxyFromfcNEQ_SWT - two*kxyFromfcNEQ_NWB + two*kxyFromfcNEQ_SEB - two*kxyFromfcNEQ_NET - two*kxzFromfcNEQ_SWT + two*kxzFromfcNEQ_NWB + two*kxzFromfcNEQ_SEB - two*kxzFromfcNEQ_NET - one*kyzFromfcNEQ_SWT - one*kyzFromfcNEQ_NWB - one*kyzFromfcNEQ_SEB - one*kyzFromfcNEQ_NET; - //ax = (-four*vx1_SWT - four*vx1_NWB + four*vx1_SEB + four*vx1_NET - one*kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB - one*kxyFromfcNEQ_NET + kxzFromfcNEQ_SWT - one*kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB - one*kxzFromfcNEQ_NET - one*kyzFromfcNEQ_SWT - one*kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/epsylon; - //ay = (-two*vx1_SWT + two*vx1_NWB - two*vx1_SEB + two*vx1_NET + two*vx2_SWT + two*vx2_NWB - two*vx2_SEB - two*vx2_NET - one*kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - one*kxxMyyFromfcNEQ_NET + kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET)/epsylon; - //az = (two*vx1_SWT - two*vx1_NWB - two*vx1_SEB + two*vx1_NET + two*vx3_SWT + two*vx3_NWB - two*vx3_SEB - two*vx3_NET + kxxMzzFromfcNEQ_SWT - one*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - one*kxxMzzFromfcNEQ_NET + kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET)/epsylon; - //axx = (two*vx2_SWT - two*vx2_NWB - two*vx2_SEB + two*vx2_NET - two*vx3_SWT + two*vx3_NWB - two*vx3_SEB + two*vx3_NET - one*kxxMyyFromfcNEQ_SWT - one*kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET - one*kxxMzzFromfcNEQ_SWT - one*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - one*kyzFromfcNEQ_SWT - one*kyzFromfcNEQ_NWB - one*kyzFromfcNEQ_SEB - one*kyzFromfcNEQ_NET)/(epsylon*epsylon); - //ayy = (-two*vx2_SWT + two*vx2_NWB + two*vx2_SEB - two*vx2_NET + two*vx3_SWT - two*vx3_NWB + two*vx3_SEB - two*vx3_NET - one*kxxMyyFromfcNEQ_SWT - one*kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - one*kxxMzzFromfcNEQ_SEB - one*kxxMzzFromfcNEQ_NET - two*kxyFromfcNEQ_SWT + two*kxyFromfcNEQ_NWB - two*kxyFromfcNEQ_SEB + two*kxyFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/(epsylon*epsylon); - //azz = (-two*vx2_SWT + two*vx2_NWB + two*vx2_SEB - two*vx2_NET + two*vx3_SWT - two*vx3_NWB + two*vx3_SEB - two*vx3_NET + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - one*kxxMyyFromfcNEQ_SEB - one*kxxMyyFromfcNEQ_NET - one*kxxMzzFromfcNEQ_SWT - one*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET + two*kxzFromfcNEQ_SWT - two*kxzFromfcNEQ_NWB - two*kxzFromfcNEQ_SEB + two*kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/(epsylon*epsylon); - //axy = (two*vx1_SWT - two*vx1_NWB - two*vx1_SEB + two*vx1_NET - two*vx3_SWT - two*vx3_NWB + two*vx3_SEB + two*vx3_NET - one*kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - one*kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - one*kxzFromfcNEQ_SWT - one*kxzFromfcNEQ_NWB - one*kxzFromfcNEQ_SEB - one*kxzFromfcNEQ_NET)/(epsylon*epsylon); - //axz = (-two*vx1_SWT + two*vx1_NWB - two*vx1_SEB + two*vx1_NET - two*vx2_SWT - two*vx2_NWB + two*vx2_SEB + two*vx2_NET + kxxMyyFromfcNEQ_SWT - one*kxxMyyFromfcNEQ_NWB - one*kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET - one*kxyFromfcNEQ_SWT - one*kxyFromfcNEQ_NWB - one*kxyFromfcNEQ_SEB - one*kxyFromfcNEQ_NET)/(epsylon*epsylon); - //ayz = (kxyFromfcNEQ_SWT - one*kxyFromfcNEQ_NWB - one*kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET - one*kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB - one*kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB - one*kyzFromfcNEQ_SEB - one*kyzFromfcNEQ_NET)/(epsylon*epsylon); - //b0 = two*vx1_SWT - two*vx1_NWB - two*vx1_SEB + two*vx1_NET + eight*vx2_SWT + eight*vx2_NWB + eight*vx2_SEB + eight*vx2_NET - two*vx3_SWT - two*vx3_NWB + two*vx3_SEB + two*vx3_NET - two*kxxMyyFromfcNEQ_SWT + two*kxxMyyFromfcNEQ_NWB - two*kxxMyyFromfcNEQ_SEB + two*kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT - one*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - one*kxxMzzFromfcNEQ_NET + two*kxyFromfcNEQ_SWT + two*kxyFromfcNEQ_NWB - two*kxyFromfcNEQ_SEB - two*kxyFromfcNEQ_NET - one*kxzFromfcNEQ_SWT - one*kxzFromfcNEQ_NWB - one*kxzFromfcNEQ_SEB - one*kxzFromfcNEQ_NET - two*kyzFromfcNEQ_SWT + two*kyzFromfcNEQ_NWB + two*kyzFromfcNEQ_SEB - two*kyzFromfcNEQ_NET; - //bx = (two*vx1_SWT - two*vx1_NWB + two*vx1_SEB - two*vx1_NET - two*vx2_SWT - two*vx2_NWB + two*vx2_SEB + two*vx2_NET + kxxMyyFromfcNEQ_SWT - one*kxxMyyFromfcNEQ_NWB - one*kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET)/epsylon; - //by = (-four*vx2_SWT + four*vx2_NWB - four*vx2_SEB + four*vx2_NET - one*kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB - one*kxyFromfcNEQ_NET - one*kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB - one*kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB - one*kyzFromfcNEQ_SEB - one*kyzFromfcNEQ_NET)/epsylon; - //bz = (two*vx2_SWT - two*vx2_NWB - two*vx2_SEB + two*vx2_NET + two*vx3_SWT - two*vx3_NWB + two*vx3_SEB - two*vx3_NET - one*kxxMyyFromfcNEQ_SWT - one*kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - one*kxxMzzFromfcNEQ_SEB - one*kxxMzzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/epsylon; - //bxx = (-two*vx1_SWT + two*vx1_NWB + two*vx1_SEB - two*vx1_NET + two*vx3_SWT + two*vx3_NWB - two*vx3_SEB - two*vx3_NET + kxxMzzFromfcNEQ_SWT - one*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - one*kxxMzzFromfcNEQ_NET - two*kxyFromfcNEQ_SWT - two*kxyFromfcNEQ_NWB + two*kxyFromfcNEQ_SEB + two*kxyFromfcNEQ_NET + kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET)/(epsylon*epsylon); - //byy = (two*vx1_SWT - two*vx1_NWB - two*vx1_SEB + two*vx1_NET - two*vx3_SWT - two*vx3_NWB + two*vx3_SEB + two*vx3_NET + two*kxxMyyFromfcNEQ_SWT - two*kxxMyyFromfcNEQ_NWB + two*kxxMyyFromfcNEQ_SEB - two*kxxMyyFromfcNEQ_NET - one*kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - one*kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - one*kxzFromfcNEQ_SWT - one*kxzFromfcNEQ_NWB - one*kxzFromfcNEQ_SEB - one*kxzFromfcNEQ_NET)/(epsylon*epsylon); - //bzz = (-two*vx1_SWT + two*vx1_NWB + two*vx1_SEB - two*vx1_NET + two*vx3_SWT + two*vx3_NWB - two*vx3_SEB - two*vx3_NET - one*kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - one*kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET + kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET + two*kyzFromfcNEQ_SWT - two*kyzFromfcNEQ_NWB - two*kyzFromfcNEQ_SEB + two*kyzFromfcNEQ_NET)/(epsylon*epsylon); - //bxy = (two*vx2_SWT - two*vx2_NWB - two*vx2_SEB + two*vx2_NET - two*vx3_SWT + two*vx3_NWB - two*vx3_SEB + two*vx3_NET + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - one*kxxMyyFromfcNEQ_SEB - one*kxxMyyFromfcNEQ_NET - one*kxxMzzFromfcNEQ_SWT - one*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - one*kyzFromfcNEQ_SWT - one*kyzFromfcNEQ_NWB - one*kyzFromfcNEQ_SEB - one*kyzFromfcNEQ_NET)/(epsylon*epsylon); - //bxz = (kxyFromfcNEQ_SWT - one*kxyFromfcNEQ_NWB - one*kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET + kxzFromfcNEQ_SWT - one*kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB - one*kxzFromfcNEQ_NET - one*kyzFromfcNEQ_SWT - one*kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/(epsylon*epsylon); - //byz = (-two*vx1_SWT + two*vx1_NWB - two*vx1_SEB + two*vx1_NET - two*vx2_SWT - two*vx2_NWB + two*vx2_SEB + two*vx2_NET - one*kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - one*kxxMyyFromfcNEQ_NET - one*kxyFromfcNEQ_SWT - one*kxyFromfcNEQ_NWB - one*kxyFromfcNEQ_SEB - one*kxyFromfcNEQ_NET)/(epsylon*epsylon); - //c0 = -two*vx1_SWT + two*vx1_NWB - two*vx1_SEB + two*vx1_NET - two*vx2_SWT - two*vx2_NWB + two*vx2_SEB + two*vx2_NET + eight*vx3_SWT + eight*vx3_NWB + eight*vx3_SEB + eight*vx3_NET - one*kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - one*kxxMyyFromfcNEQ_NET + two*kxxMzzFromfcNEQ_SWT - two*kxxMzzFromfcNEQ_NWB - two*kxxMzzFromfcNEQ_SEB + two*kxxMzzFromfcNEQ_NET - one*kxyFromfcNEQ_SWT - one*kxyFromfcNEQ_NWB - one*kxyFromfcNEQ_SEB - one*kxyFromfcNEQ_NET + two*kxzFromfcNEQ_SWT + two*kxzFromfcNEQ_NWB - two*kxzFromfcNEQ_SEB - two*kxzFromfcNEQ_NET + two*kyzFromfcNEQ_SWT - two*kyzFromfcNEQ_NWB + two*kyzFromfcNEQ_SEB - two*kyzFromfcNEQ_NET; - //cx = (-two*vx1_SWT + two*vx1_NWB + two*vx1_SEB - two*vx1_NET - two*vx3_SWT - two*vx3_NWB + two*vx3_SEB + two*vx3_NET - one*kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - one*kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET + kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET)/epsylon; - //cy = (-two*vx2_SWT + two*vx2_NWB + two*vx2_SEB - two*vx2_NET - two*vx3_SWT + two*vx3_NWB - two*vx3_SEB + two*vx3_NET + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - one*kxxMyyFromfcNEQ_SEB - one*kxxMyyFromfcNEQ_NET - one*kxxMzzFromfcNEQ_SWT - one*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/epsylon; - //cz = (four*vx3_SWT - four*vx3_NWB - four*vx3_SEB + four*vx3_NET + kxyFromfcNEQ_SWT - one*kxyFromfcNEQ_NWB - one*kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET + kxzFromfcNEQ_SWT - one*kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB - one*kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB - one*kyzFromfcNEQ_SEB - one*kyzFromfcNEQ_NET)/epsylon; - //cxx = (two*vx1_SWT - two*vx1_NWB + two*vx1_SEB - two*vx1_NET + two*vx2_SWT + two*vx2_NWB - two*vx2_SEB - two*vx2_NET - one*kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - one*kxxMyyFromfcNEQ_NET + kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET - two*kxzFromfcNEQ_SWT - two*kxzFromfcNEQ_NWB + two*kxzFromfcNEQ_SEB + two*kxzFromfcNEQ_NET)/(epsylon*epsylon); - //cyy = (two*vx1_SWT - two*vx1_NWB + two*vx1_SEB - two*vx1_NET + two*vx2_SWT + two*vx2_NWB - two*vx2_SEB - two*vx2_NET + kxxMyyFromfcNEQ_SWT - one*kxxMyyFromfcNEQ_NWB - one*kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET - two*kyzFromfcNEQ_SWT + two*kyzFromfcNEQ_NWB - two*kyzFromfcNEQ_SEB + two*kyzFromfcNEQ_NET)/(epsylon*epsylon); - //czz = (-two*vx1_SWT + two*vx1_NWB - two*vx1_SEB + two*vx1_NET - two*vx2_SWT - two*vx2_NWB + two*vx2_SEB + two*vx2_NET + kxxMyyFromfcNEQ_SWT - one*kxxMyyFromfcNEQ_NWB - one*kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET - two*kxxMzzFromfcNEQ_SWT + two*kxxMzzFromfcNEQ_NWB + two*kxxMzzFromfcNEQ_SEB - two*kxxMzzFromfcNEQ_NET - one*kxyFromfcNEQ_SWT - one*kxyFromfcNEQ_NWB - one*kxyFromfcNEQ_SEB - one*kxyFromfcNEQ_NET)/(epsylon*epsylon); - //cxy = (-one*kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB - one*kxyFromfcNEQ_NET - one*kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB - one*kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET - one*kyzFromfcNEQ_SWT - one*kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/(epsylon*epsylon); - //cxz = (two*vx2_SWT - two*vx2_NWB - two*vx2_SEB + two*vx2_NET - two*vx3_SWT + two*vx3_NWB - two*vx3_SEB + two*vx3_NET - one*kxxMyyFromfcNEQ_SWT - one*kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - one*kxxMzzFromfcNEQ_SEB - one*kxxMzzFromfcNEQ_NET - one*kyzFromfcNEQ_SWT - one*kyzFromfcNEQ_NWB - one*kyzFromfcNEQ_SEB - one*kyzFromfcNEQ_NET)/(epsylon*epsylon); - //cyz = (two*vx1_SWT - two*vx1_NWB - two*vx1_SEB + two*vx1_NET - two*vx3_SWT - two*vx3_NWB + two*vx3_SEB + two*vx3_NET + kxxMzzFromfcNEQ_SWT - one*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - one*kxxMzzFromfcNEQ_NET - one*kxzFromfcNEQ_SWT - one*kxzFromfcNEQ_NWB - one*kxzFromfcNEQ_SEB - one*kxzFromfcNEQ_NET)/(epsylon*epsylon); - //a0 = one/eight * (four * vx1_SWT + four * vx1_NWB - two * vx2_SWT - two * vx2_NWB + two * vx2_SEB + two * vx2_NET - two * vx3_SWT - two * vx3_NWB + two * vx3_SEB + two * vx3_NET + kxxMyyFromfcNEQ_SWT - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET - kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - two * kxyFromfcNEQ_NWB - two * kxyFromfcNEQ_SEB - two * kxzFromfcNEQ_SWT - two * kxzFromfcNEQ_SEB + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB - kyzFromfcNEQ_SEB - kyzFromfcNEQ_NET); - //ax = -((two * vx1_SWT + two * vx1_NWB - four * vx1_SEB - two * vx2_NWB + two * vx2_NET - two * vx3_SWT + two * vx3_NET - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NET - kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NET - kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB - kxzFromfcNEQ_SWT - kxzFromfcNEQ_SEB - kyzFromfcNEQ_SEB - kyzFromfcNEQ_NET)/(four * epsylon)); - //ay = -((two * vx1_SWT - two * vx1_NWB - two * vx2_SWT + two * vx2_SEB - two * vx3_NWB + two * vx3_SEB - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_SEB - kxyFromfcNEQ_SWT - two * kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET - kxzFromfcNEQ_SWT - kxzFromfcNEQ_SEB + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB)/(four * epsylon)); - //az = -((-two * vx1_SWT + two * vx1_NWB - two * vx2_SWT + two * vx2_SEB - two * vx3_NWB + two * vx3_SEB + kxxMyyFromfcNEQ_SWT - kxxMyyFromfcNEQ_SEB - kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NET - kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB - kxzFromfcNEQ_NWB - two * kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB)/(four * epsylon)); - //axx = -((-two * vx2_SWT + two * vx2_NWB + two * vx2_SEB - two * vx2_NET + two * vx3_SWT - two * vx3_NWB + two * vx3_SEB - two * vx3_NET + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/(eight * epsylon* epsylon)); - //ayy = -((two * vx2_SWT - two * vx2_NWB - two * vx2_SEB + two * vx2_NET - two * vx3_SWT + two * vx3_NWB - two * vx3_SEB + two * vx3_NET + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NET - kxxMzzFromfcNEQ_SWT - kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET + two * kxyFromfcNEQ_SWT - two * kxyFromfcNEQ_NWB + two * kxyFromfcNEQ_SEB - two * kxyFromfcNEQ_NET - kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB - kyzFromfcNEQ_SEB - kyzFromfcNEQ_NET)/(eight * epsylon* epsylon)); - //azz = -((two * vx2_SWT - two * vx2_NWB - two * vx2_SEB + two * vx2_NET - two * vx3_SWT + two * vx3_NWB - two * vx3_SEB + two * vx3_NET - kxxMyyFromfcNEQ_SWT - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NET - two * kxzFromfcNEQ_SWT + two * kxzFromfcNEQ_NWB + two * kxzFromfcNEQ_SEB - two * kxzFromfcNEQ_NET - kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB - kyzFromfcNEQ_SEB - kyzFromfcNEQ_NET)/(eight * epsylon* epsylon)); - //axy = -((-two * vx1_SWT + two * vx1_NWB + two * vx1_SEB - two * vx1_NET + two * vx3_SWT + two * vx3_NWB - two * vx3_SEB - two * vx3_NET + kxxMzzFromfcNEQ_SWT - kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NET + kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET)/(four * epsylon* epsylon)); - //axz = -((two * vx1_SWT - two * vx1_NWB + two * vx1_SEB - two * vx1_NET + two * vx2_SWT + two * vx2_NWB - two * vx2_SEB - two * vx2_NET - kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NET + kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET)/(four * epsylon* epsylon)); - //ayz = -((-kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB - kxyFromfcNEQ_NET + kxzFromfcNEQ_SWT - kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB - kxzFromfcNEQ_NET - kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/(four * epsylon* epsylon)); - //b0 = one/eight * (-two * vx1_SWT + two * vx1_NWB - two * vx1_SEB + two * vx1_NET + four * vx2_SWT + four * vx2_SEB - two * vx3_SWT + two * vx3_NWB - two * vx3_SEB + two * vx3_NET + two * kxxMyyFromfcNEQ_NWB - two * kxxMyyFromfcNEQ_NET - kxxMzzFromfcNEQ_SWT - kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - two * kxyFromfcNEQ_NWB - two * kxyFromfcNEQ_SEB + kxzFromfcNEQ_SWT - kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB - kxzFromfcNEQ_NET - two * kyzFromfcNEQ_SWT - two * kyzFromfcNEQ_NWB); - //bx = -((-two * vx1_SWT + two * vx1_NWB + two * vx2_SWT - two * vx2_SEB + two * vx3_NWB - two * vx3_SEB + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - kxyFromfcNEQ_SWT - two * kxyFromfcNEQ_NWB + kxyFromfcNEQ_NET + kxzFromfcNEQ_SWT + kxzFromfcNEQ_SEB - kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB)/(four * epsylon)); - //by = -((-two * vx1_SEB + two * vx1_NET + two * vx2_SWT - four * vx2_NWB + two * vx2_SEB - two * vx3_SWT + two * vx3_NET + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_SEB - two * kxxMyyFromfcNEQ_NET - kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NET - kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB - kxzFromfcNEQ_NWB - kxzFromfcNEQ_NET - kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB)/(four * epsylon)); - //bz = -((-two * vx1_SWT + two * vx1_NWB - two * vx2_SWT + two * vx2_SEB + two * vx3_NWB - two * vx3_SEB + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NET - kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NET - kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB + kxzFromfcNEQ_SWT + kxzFromfcNEQ_SEB - two * kyzFromfcNEQ_NWB - kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/(four * epsylon)); - //bxx = -((two * vx1_SWT - two * vx1_NWB - two * vx1_SEB + two * vx1_NET - two * vx3_SWT - two * vx3_NWB + two * vx3_SEB + two * vx3_NET - kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET + two * kxyFromfcNEQ_SWT + two * kxyFromfcNEQ_NWB - two * kxyFromfcNEQ_SEB - two * kxyFromfcNEQ_NET - kxzFromfcNEQ_SWT - kxzFromfcNEQ_NWB - kxzFromfcNEQ_SEB - kxzFromfcNEQ_NET)/(eight * epsylon* epsylon)); - //byy = -((-two * vx1_SWT + two * vx1_NWB + two * vx1_SEB - two * vx1_NET + two * vx3_SWT + two * vx3_NWB - two * vx3_SEB - two * vx3_NET - two * kxxMyyFromfcNEQ_SWT + two * kxxMyyFromfcNEQ_NWB - two * kxxMyyFromfcNEQ_SEB + two * kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT - kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NET + kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET)/(eight * epsylon* epsylon)); - //bzz = -((two * vx1_SWT - two * vx1_NWB - two * vx1_SEB + two * vx1_NET - two * vx3_SWT - two * vx3_NWB + two * vx3_SEB + two * vx3_NET + kxxMzzFromfcNEQ_SWT - kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NET - kxzFromfcNEQ_SWT - kxzFromfcNEQ_NWB - kxzFromfcNEQ_SEB - kxzFromfcNEQ_NET - two * kyzFromfcNEQ_SWT + two * kyzFromfcNEQ_NWB + two * kyzFromfcNEQ_SEB - two * kyzFromfcNEQ_NET)/(eight * epsylon* epsylon)); - //bxy = -((-two * vx2_SWT + two * vx2_NWB + two * vx2_SEB - two * vx2_NET + two * vx3_SWT - two * vx3_NWB + two * vx3_SEB - two * vx3_NET - kxxMyyFromfcNEQ_SWT - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/(four * epsylon* epsylon)); - //bxz = -((-kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB - kxyFromfcNEQ_NET - kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB - kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB - kyzFromfcNEQ_SEB - kyzFromfcNEQ_NET)/(four * epsylon* epsylon)); - //byz = -((two * vx1_SWT - two * vx1_NWB + two * vx1_SEB - two * vx1_NET + two * vx2_SWT + two * vx2_NWB - two * vx2_SEB - two * vx2_NET + kxxMyyFromfcNEQ_SWT - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET)/(four * epsylon* epsylon)); - //c0 = one/eight * (two * vx1_SWT - two * vx1_NWB - two * vx1_SEB + two * vx1_NET + two * vx2_SWT - two * vx2_NWB - two * vx2_SEB + two * vx2_NET + four * vx3_NWB + four * vx3_SEB - kxxMyyFromfcNEQ_SWT - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + two * kxxMzzFromfcNEQ_SWT - two * kxxMzzFromfcNEQ_NET - kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB - kxyFromfcNEQ_NET - two * kxzFromfcNEQ_SWT - two * kxzFromfcNEQ_SEB - two * kyzFromfcNEQ_SWT - two * kyzFromfcNEQ_NWB); - //cx = -((two * vx1_SWT - two * vx1_NWB + two * vx2_SWT - two * vx2_SEB + two * vx3_NWB - two * vx3_SEB - kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_SEB + kxxMzzFromfcNEQ_SWT - kxxMzzFromfcNEQ_NET + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB - two * kxzFromfcNEQ_SWT - kxzFromfcNEQ_NWB + kxzFromfcNEQ_NET - kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB)/(four * epsylon)); - //cy = -((two * vx1_SWT - two * vx1_NWB + two * vx2_SWT - two * vx2_SEB - two * vx3_NWB + two * vx3_SEB - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT - kxxMzzFromfcNEQ_NET + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB - kxzFromfcNEQ_SWT - kxzFromfcNEQ_SEB - two * kyzFromfcNEQ_SWT - kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/(four * epsylon)); - //cz = -((-two * vx1_SEB + two * vx1_NET - two * vx2_NWB + two * vx2_NET - four * vx3_SWT + two * vx3_NWB + two * vx3_SEB - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - two * kxxMzzFromfcNEQ_NET - kxyFromfcNEQ_SWT - kxyFromfcNEQ_NET - kxzFromfcNEQ_SWT - kxzFromfcNEQ_SEB - kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB)/(four * epsylon)); - //cxx = -((-two * vx1_SWT + two * vx1_NWB - two * vx1_SEB + two * vx1_NET - two * vx2_SWT - two * vx2_NWB + two * vx2_SEB + two * vx2_NET + kxxMyyFromfcNEQ_SWT - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET - kxyFromfcNEQ_SWT - kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB - kxyFromfcNEQ_NET + two * kxzFromfcNEQ_SWT + two * kxzFromfcNEQ_NWB - two * kxzFromfcNEQ_SEB - two * kxzFromfcNEQ_NET)/(eight * epsylon* epsylon)); - //cyy = -((-two * vx1_SWT + two * vx1_NWB - two * vx1_SEB + two * vx1_NET - two * vx2_SWT - two * vx2_NWB + two * vx2_SEB + two * vx2_NET - kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NET - kxyFromfcNEQ_SWT - kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB - kxyFromfcNEQ_NET + two * kyzFromfcNEQ_SWT - two * kyzFromfcNEQ_NWB + two * kyzFromfcNEQ_SEB - two * kyzFromfcNEQ_NET)/(eight * epsylon* epsylon)); - //czz = -((two * vx1_SWT - two * vx1_NWB + two * vx1_SEB - two * vx1_NET + two * vx2_SWT + two * vx2_NWB - two * vx2_SEB - two * vx2_NET - kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NET + two * kxxMzzFromfcNEQ_SWT - two * kxxMzzFromfcNEQ_NWB - two * kxxMzzFromfcNEQ_SEB + two * kxxMzzFromfcNEQ_NET + kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET)/(eight * epsylon* epsylon)); - //cxy = -((kxyFromfcNEQ_SWT - kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET + kxzFromfcNEQ_SWT - kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB - kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB - kyzFromfcNEQ_SEB - kyzFromfcNEQ_NET)/(four * epsylon* epsylon)); - //cxz = -((-two * vx2_SWT + two * vx2_NWB + two * vx2_SEB - two * vx2_NET + two * vx3_SWT - two * vx3_NWB + two * vx3_SEB - two * vx3_NET + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NET - kxxMzzFromfcNEQ_SWT - kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/(four * epsylon* epsylon)); - //cyz = -((-two * vx1_SWT + two * vx1_NWB + two * vx1_SEB - two * vx1_NET + two * vx3_SWT + two * vx3_NWB - two * vx3_SEB - two * vx3_NET - kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET + kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET)/(four * epsylon* epsylon)); - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - ////merged - a0 += c8o1*vx1_SWT + c8o1*vx1_NWB + c8o1*vx1_SEB + c8o1*vx1_NET + c2o1*vx2_SWT - c2o1*vx2_NWB - c2o1*vx2_SEB + c2o1*vx2_NET - c2o1*vx3_SWT + c2o1*vx3_NWB - c2o1*vx3_SEB + c2o1*vx3_NET + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - c1o1*kxxMyyFromfcNEQ_SEB - c1o1*kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - c1o1*kxxMzzFromfcNEQ_SEB - c1o1*kxxMzzFromfcNEQ_NET + c2o1*kxyFromfcNEQ_SWT - c2o1*kxyFromfcNEQ_NWB + c2o1*kxyFromfcNEQ_SEB - c2o1*kxyFromfcNEQ_NET - c2o1*kxzFromfcNEQ_SWT + c2o1*kxzFromfcNEQ_NWB + c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_NET - c1o1*kyzFromfcNEQ_SWT - c1o1*kyzFromfcNEQ_NWB - c1o1*kyzFromfcNEQ_SEB - c1o1*kyzFromfcNEQ_NET; - ax += (-c4o1*vx1_SWT - c4o1*vx1_NWB + c4o1*vx1_SEB + c4o1*vx1_NET - c1o1*kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB - c1o1*kxyFromfcNEQ_NET + kxzFromfcNEQ_SWT - c1o1*kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB - c1o1*kxzFromfcNEQ_NET - c1o1*kyzFromfcNEQ_SWT - c1o1*kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/epsylon; - ay += (-c2o1*vx1_SWT + c2o1*vx1_NWB - c2o1*vx1_SEB + c2o1*vx1_NET + c2o1*vx2_SWT + c2o1*vx2_NWB - c2o1*vx2_SEB - c2o1*vx2_NET - c1o1*kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - c1o1*kxxMyyFromfcNEQ_NET + kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET)/epsylon; - az += (c2o1*vx1_SWT - c2o1*vx1_NWB - c2o1*vx1_SEB + c2o1*vx1_NET + c2o1*vx3_SWT + c2o1*vx3_NWB - c2o1*vx3_SEB - c2o1*vx3_NET + kxxMzzFromfcNEQ_SWT - c1o1*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - c1o1*kxxMzzFromfcNEQ_NET + kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET)/epsylon; - axx += (c2o1*vx2_SWT - c2o1*vx2_NWB - c2o1*vx2_SEB + c2o1*vx2_NET - c2o1*vx3_SWT + c2o1*vx3_NWB - c2o1*vx3_SEB + c2o1*vx3_NET - c1o1*kxxMyyFromfcNEQ_SWT - c1o1*kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET - c1o1*kxxMzzFromfcNEQ_SWT - c1o1*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - c1o1*kyzFromfcNEQ_SWT - c1o1*kyzFromfcNEQ_NWB - c1o1*kyzFromfcNEQ_SEB - c1o1*kyzFromfcNEQ_NET)/(epsylon*epsylon); - ayy += (-c2o1*vx2_SWT + c2o1*vx2_NWB + c2o1*vx2_SEB - c2o1*vx2_NET + c2o1*vx3_SWT - c2o1*vx3_NWB + c2o1*vx3_SEB - c2o1*vx3_NET - c1o1*kxxMyyFromfcNEQ_SWT - c1o1*kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - c1o1*kxxMzzFromfcNEQ_SEB - c1o1*kxxMzzFromfcNEQ_NET - c2o1*kxyFromfcNEQ_SWT + c2o1*kxyFromfcNEQ_NWB - c2o1*kxyFromfcNEQ_SEB + c2o1*kxyFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/(epsylon*epsylon); - azz += (-c2o1*vx2_SWT + c2o1*vx2_NWB + c2o1*vx2_SEB - c2o1*vx2_NET + c2o1*vx3_SWT - c2o1*vx3_NWB + c2o1*vx3_SEB - c2o1*vx3_NET + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - c1o1*kxxMyyFromfcNEQ_SEB - c1o1*kxxMyyFromfcNEQ_NET - c1o1*kxxMzzFromfcNEQ_SWT - c1o1*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_SWT - c2o1*kxzFromfcNEQ_NWB - c2o1*kxzFromfcNEQ_SEB + c2o1*kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/(epsylon*epsylon); - axy += (c2o1*vx1_SWT - c2o1*vx1_NWB - c2o1*vx1_SEB + c2o1*vx1_NET - c2o1*vx3_SWT - c2o1*vx3_NWB + c2o1*vx3_SEB + c2o1*vx3_NET - c1o1*kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - c1o1*kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - c1o1*kxzFromfcNEQ_SWT - c1o1*kxzFromfcNEQ_NWB - c1o1*kxzFromfcNEQ_SEB - c1o1*kxzFromfcNEQ_NET)/(epsylon*epsylon); - axz += (-c2o1*vx1_SWT + c2o1*vx1_NWB - c2o1*vx1_SEB + c2o1*vx1_NET - c2o1*vx2_SWT - c2o1*vx2_NWB + c2o1*vx2_SEB + c2o1*vx2_NET + kxxMyyFromfcNEQ_SWT - c1o1*kxxMyyFromfcNEQ_NWB - c1o1*kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET - c1o1*kxyFromfcNEQ_SWT - c1o1*kxyFromfcNEQ_NWB - c1o1*kxyFromfcNEQ_SEB - c1o1*kxyFromfcNEQ_NET)/(epsylon*epsylon); - ayz += (kxyFromfcNEQ_SWT - c1o1*kxyFromfcNEQ_NWB - c1o1*kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET - c1o1*kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB - c1o1*kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB - c1o1*kyzFromfcNEQ_SEB - c1o1*kyzFromfcNEQ_NET)/(epsylon*epsylon); - b0 += c2o1*vx1_SWT - c2o1*vx1_NWB - c2o1*vx1_SEB + c2o1*vx1_NET + c8o1*vx2_SWT + c8o1*vx2_NWB + c8o1*vx2_SEB + c8o1*vx2_NET - c2o1*vx3_SWT - c2o1*vx3_NWB + c2o1*vx3_SEB + c2o1*vx3_NET - c2o1*kxxMyyFromfcNEQ_SWT + c2o1*kxxMyyFromfcNEQ_NWB - c2o1*kxxMyyFromfcNEQ_SEB + c2o1*kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT - c1o1*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - c1o1*kxxMzzFromfcNEQ_NET + c2o1*kxyFromfcNEQ_SWT + c2o1*kxyFromfcNEQ_NWB - c2o1*kxyFromfcNEQ_SEB - c2o1*kxyFromfcNEQ_NET - c1o1*kxzFromfcNEQ_SWT - c1o1*kxzFromfcNEQ_NWB - c1o1*kxzFromfcNEQ_SEB - c1o1*kxzFromfcNEQ_NET - c2o1*kyzFromfcNEQ_SWT + c2o1*kyzFromfcNEQ_NWB + c2o1*kyzFromfcNEQ_SEB - c2o1*kyzFromfcNEQ_NET; - bx += (c2o1*vx1_SWT - c2o1*vx1_NWB + c2o1*vx1_SEB - c2o1*vx1_NET - c2o1*vx2_SWT - c2o1*vx2_NWB + c2o1*vx2_SEB + c2o1*vx2_NET + kxxMyyFromfcNEQ_SWT - c1o1*kxxMyyFromfcNEQ_NWB - c1o1*kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET)/epsylon; - by += (-c4o1*vx2_SWT + c4o1*vx2_NWB - c4o1*vx2_SEB + c4o1*vx2_NET - c1o1*kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB - c1o1*kxyFromfcNEQ_NET - c1o1*kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB - c1o1*kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB - c1o1*kyzFromfcNEQ_SEB - c1o1*kyzFromfcNEQ_NET)/epsylon; - bz += (c2o1*vx2_SWT - c2o1*vx2_NWB - c2o1*vx2_SEB + c2o1*vx2_NET + c2o1*vx3_SWT - c2o1*vx3_NWB + c2o1*vx3_SEB - c2o1*vx3_NET - c1o1*kxxMyyFromfcNEQ_SWT - c1o1*kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - c1o1*kxxMzzFromfcNEQ_SEB - c1o1*kxxMzzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/epsylon; - bxx += (-c2o1*vx1_SWT + c2o1*vx1_NWB + c2o1*vx1_SEB - c2o1*vx1_NET + c2o1*vx3_SWT + c2o1*vx3_NWB - c2o1*vx3_SEB - c2o1*vx3_NET + kxxMzzFromfcNEQ_SWT - c1o1*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - c1o1*kxxMzzFromfcNEQ_NET - c2o1*kxyFromfcNEQ_SWT - c2o1*kxyFromfcNEQ_NWB + c2o1*kxyFromfcNEQ_SEB + c2o1*kxyFromfcNEQ_NET + kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET)/(epsylon*epsylon); - byy += (c2o1*vx1_SWT - c2o1*vx1_NWB - c2o1*vx1_SEB + c2o1*vx1_NET - c2o1*vx3_SWT - c2o1*vx3_NWB + c2o1*vx3_SEB + c2o1*vx3_NET + c2o1*kxxMyyFromfcNEQ_SWT - c2o1*kxxMyyFromfcNEQ_NWB + c2o1*kxxMyyFromfcNEQ_SEB - c2o1*kxxMyyFromfcNEQ_NET - c1o1*kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - c1o1*kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - c1o1*kxzFromfcNEQ_SWT - c1o1*kxzFromfcNEQ_NWB - c1o1*kxzFromfcNEQ_SEB - c1o1*kxzFromfcNEQ_NET)/(epsylon*epsylon); - bzz += (-c2o1*vx1_SWT + c2o1*vx1_NWB + c2o1*vx1_SEB - c2o1*vx1_NET + c2o1*vx3_SWT + c2o1*vx3_NWB - c2o1*vx3_SEB - c2o1*vx3_NET - c1o1*kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - c1o1*kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET + kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET + c2o1*kyzFromfcNEQ_SWT - c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_SEB + c2o1*kyzFromfcNEQ_NET)/(epsylon*epsylon); - bxy += (c2o1*vx2_SWT - c2o1*vx2_NWB - c2o1*vx2_SEB + c2o1*vx2_NET - c2o1*vx3_SWT + c2o1*vx3_NWB - c2o1*vx3_SEB + c2o1*vx3_NET + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - c1o1*kxxMyyFromfcNEQ_SEB - c1o1*kxxMyyFromfcNEQ_NET - c1o1*kxxMzzFromfcNEQ_SWT - c1o1*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - c1o1*kyzFromfcNEQ_SWT - c1o1*kyzFromfcNEQ_NWB - c1o1*kyzFromfcNEQ_SEB - c1o1*kyzFromfcNEQ_NET)/(epsylon*epsylon); - bxz += (kxyFromfcNEQ_SWT - c1o1*kxyFromfcNEQ_NWB - c1o1*kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET + kxzFromfcNEQ_SWT - c1o1*kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB - c1o1*kxzFromfcNEQ_NET - c1o1*kyzFromfcNEQ_SWT - c1o1*kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/(epsylon*epsylon); - byz += (-c2o1*vx1_SWT + c2o1*vx1_NWB - c2o1*vx1_SEB + c2o1*vx1_NET - c2o1*vx2_SWT - c2o1*vx2_NWB + c2o1*vx2_SEB + c2o1*vx2_NET - c1o1*kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - c1o1*kxxMyyFromfcNEQ_NET - c1o1*kxyFromfcNEQ_SWT - c1o1*kxyFromfcNEQ_NWB - c1o1*kxyFromfcNEQ_SEB - c1o1*kxyFromfcNEQ_NET)/(epsylon*epsylon); - c0 += -c2o1*vx1_SWT + c2o1*vx1_NWB - c2o1*vx1_SEB + c2o1*vx1_NET - c2o1*vx2_SWT - c2o1*vx2_NWB + c2o1*vx2_SEB + c2o1*vx2_NET + c8o1*vx3_SWT + c8o1*vx3_NWB + c8o1*vx3_SEB + c8o1*vx3_NET - c1o1*kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - c1o1*kxxMyyFromfcNEQ_NET + c2o1*kxxMzzFromfcNEQ_SWT - c2o1*kxxMzzFromfcNEQ_NWB - c2o1*kxxMzzFromfcNEQ_SEB + c2o1*kxxMzzFromfcNEQ_NET - c1o1*kxyFromfcNEQ_SWT - c1o1*kxyFromfcNEQ_NWB - c1o1*kxyFromfcNEQ_SEB - c1o1*kxyFromfcNEQ_NET + c2o1*kxzFromfcNEQ_SWT + c2o1*kxzFromfcNEQ_NWB - c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_NET + c2o1*kyzFromfcNEQ_SWT - c2o1*kyzFromfcNEQ_NWB + c2o1*kyzFromfcNEQ_SEB - c2o1*kyzFromfcNEQ_NET; - cx += (-c2o1*vx1_SWT + c2o1*vx1_NWB + c2o1*vx1_SEB - c2o1*vx1_NET - c2o1*vx3_SWT - c2o1*vx3_NWB + c2o1*vx3_SEB + c2o1*vx3_NET - c1o1*kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - c1o1*kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET + kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET)/epsylon; - cy += (-c2o1*vx2_SWT + c2o1*vx2_NWB + c2o1*vx2_SEB - c2o1*vx2_NET - c2o1*vx3_SWT + c2o1*vx3_NWB - c2o1*vx3_SEB + c2o1*vx3_NET + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - c1o1*kxxMyyFromfcNEQ_SEB - c1o1*kxxMyyFromfcNEQ_NET - c1o1*kxxMzzFromfcNEQ_SWT - c1o1*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/epsylon; - cz += (c4o1*vx3_SWT - c4o1*vx3_NWB - c4o1*vx3_SEB + c4o1*vx3_NET + kxyFromfcNEQ_SWT - c1o1*kxyFromfcNEQ_NWB - c1o1*kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET + kxzFromfcNEQ_SWT - c1o1*kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB - c1o1*kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB - c1o1*kyzFromfcNEQ_SEB - c1o1*kyzFromfcNEQ_NET)/epsylon; - cxx += (c2o1*vx1_SWT - c2o1*vx1_NWB + c2o1*vx1_SEB - c2o1*vx1_NET + c2o1*vx2_SWT + c2o1*vx2_NWB - c2o1*vx2_SEB - c2o1*vx2_NET - c1o1*kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - c1o1*kxxMyyFromfcNEQ_NET + kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET - c2o1*kxzFromfcNEQ_SWT - c2o1*kxzFromfcNEQ_NWB + c2o1*kxzFromfcNEQ_SEB + c2o1*kxzFromfcNEQ_NET)/(epsylon*epsylon); - cyy += (c2o1*vx1_SWT - c2o1*vx1_NWB + c2o1*vx1_SEB - c2o1*vx1_NET + c2o1*vx2_SWT + c2o1*vx2_NWB - c2o1*vx2_SEB - c2o1*vx2_NET + kxxMyyFromfcNEQ_SWT - c1o1*kxxMyyFromfcNEQ_NWB - c1o1*kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET - c2o1*kyzFromfcNEQ_SWT + c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_SEB + c2o1*kyzFromfcNEQ_NET)/(epsylon*epsylon); - czz += (-c2o1*vx1_SWT + c2o1*vx1_NWB - c2o1*vx1_SEB + c2o1*vx1_NET - c2o1*vx2_SWT - c2o1*vx2_NWB + c2o1*vx2_SEB + c2o1*vx2_NET + kxxMyyFromfcNEQ_SWT - c1o1*kxxMyyFromfcNEQ_NWB - c1o1*kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET - c2o1*kxxMzzFromfcNEQ_SWT + c2o1*kxxMzzFromfcNEQ_NWB + c2o1*kxxMzzFromfcNEQ_SEB - c2o1*kxxMzzFromfcNEQ_NET - c1o1*kxyFromfcNEQ_SWT - c1o1*kxyFromfcNEQ_NWB - c1o1*kxyFromfcNEQ_SEB - c1o1*kxyFromfcNEQ_NET)/(epsylon*epsylon); - cxy += (-c1o1*kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB - c1o1*kxyFromfcNEQ_NET - c1o1*kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB - c1o1*kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET - c1o1*kyzFromfcNEQ_SWT - c1o1*kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/(epsylon*epsylon); - cxz += (c2o1*vx2_SWT - c2o1*vx2_NWB - c2o1*vx2_SEB + c2o1*vx2_NET - c2o1*vx3_SWT + c2o1*vx3_NWB - c2o1*vx3_SEB + c2o1*vx3_NET - c1o1*kxxMyyFromfcNEQ_SWT - c1o1*kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - c1o1*kxxMzzFromfcNEQ_SEB - c1o1*kxxMzzFromfcNEQ_NET - c1o1*kyzFromfcNEQ_SWT - c1o1*kyzFromfcNEQ_NWB - c1o1*kyzFromfcNEQ_SEB - c1o1*kyzFromfcNEQ_NET)/(epsylon*epsylon); - cyz += (c2o1*vx1_SWT - c2o1*vx1_NWB - c2o1*vx1_SEB + c2o1*vx1_NET - c2o1*vx3_SWT - c2o1*vx3_NWB + c2o1*vx3_SEB + c2o1*vx3_NET + kxxMzzFromfcNEQ_SWT - c1o1*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - c1o1*kxxMzzFromfcNEQ_NET - c1o1*kxzFromfcNEQ_SWT - c1o1*kxzFromfcNEQ_NWB - c1o1*kxzFromfcNEQ_SEB - c1o1*kxzFromfcNEQ_NET)/(epsylon*epsylon); - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - a0 /= c2o1; - ax /= c2o1; - ay /= c2o1; - az /= c2o1; - axx /= c2o1; - ayy /= c2o1; - azz /= c2o1; - axy /= c2o1; - axz /= c2o1; - ayz /= c2o1; - b0 /= c2o1; - bx /= c2o1; - by /= c2o1; - bz /= c2o1; - bxx /= c2o1; - byy /= c2o1; - bzz /= c2o1; - bxy /= c2o1; - bxz /= c2o1; - byz /= c2o1; - c0 /= c2o1; - cx /= c2o1; - cy /= c2o1; - cz /= c2o1; - cxx /= c2o1; - cyy /= c2o1; - czz /= c2o1; - cxy /= c2o1; - cxz /= c2o1; - cyz /= c2o1; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - a0 /= c32o1; - ax /= c8o1; - ay /= c8o1; - az /= c8o1; - axx /= c8o1; - ayy /= c8o1; - azz /= c8o1; - axy /= c4o1; - axz /= c4o1; - ayz /= c4o1; - b0 /= c32o1; - bx /= c8o1; - by /= c8o1; - bz /= c8o1; - bxx /= c8o1; - byy /= c8o1; - bzz /= c8o1; - bxy /= c4o1; - bxz /= c4o1; - byz /= c4o1; - c0 /= c32o1; - cx /= c8o1; - cy /= c8o1; - cz /= c8o1; - cxx /= c8o1; - cyy /= c8o1; - czz /= c8o1; - cxy /= c4o1; - cxz /= c4o1; - cyz /= c4o1; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //Position SWB -0.25, -0.25, -0.25 - x = -c1o4; - y = -c1o4; - z = -c1o4; - - drho = (drho_NEB*(c1o1 + c2o1*x + c2o1*y + c4o1*x*y - c2o1*z - c4o1*x*z - c4o1*y*z - c8o1*x*y*z) + - drho_SET*(c1o1 + c2o1*x - c2o1*y - c4o1*x*y + c2o1*z + c4o1*x*z - c4o1*y*z - c8o1*x*y*z) + - drho_NWT*(c1o1 - c2o1*x + c2o1*y - c4o1*x*y + c2o1*z - c4o1*x*z + c4o1*y*z - c8o1*x*y*z) + - drho_SWB*(c1o1 - c2o1*x - c2o1*y + c4o1*x*y - c2o1*z + c4o1*x*z + c4o1*y*z - c8o1*x*y*z) + - drho_SWT*(c1o1 - c2o1*x - c2o1*y + c4o1*x*y + c2o1*z - c4o1*x*z - c4o1*y*z + c8o1*x*y*z) + - drho_NWB*(c1o1 - c2o1*x + c2o1*y - c4o1*x*y - c2o1*z + c4o1*x*z - c4o1*y*z + c8o1*x*y*z) + - drho_SEB*(c1o1 + c2o1*x - c2o1*y - c4o1*x*y - c2o1*z - c4o1*x*z + c4o1*y*z + c8o1*x*y*z) + - drho_NET*(c1o1 + c2o1*x + c2o1*y + c4o1*x*y + c2o1*z + c4o1*x*z + c4o1*y*z + c8o1*x*y*z))/c8o1; - vx1 = a0 + ax*x + ay*y + az*z + axx*x*x + ayy*y*y + azz*z*z + axy*x*y + axz*x*z + ayz*y*z; - vx2 = b0 + bx*x + by*y + bz*z + bxx*x*x + byy*y*y + bzz*z*z + bxy*x*y + bxz*x*z + byz*y*z; - vx3 = c0 + cx*x + cy*y + cz*z + cxx*x*x + cyy*y*y + czz*z*z + cxy*x*y + cxz*x*z + cyz*y*z; - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - feq_ZERO = c8o27* (drho-cu_sq); - feq_E = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - feq_W = c2o27* (drho+c3o1*(-vx1 )+c9o2*(-vx1 )*(-vx1 )-cu_sq); - feq_N = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - feq_S = c2o27* (drho+c3o1*( -vx2 )+c9o2*( -vx2 )*( -vx2 )-cu_sq); - feq_T = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - feq_B = c2o27* (drho+c3o1*( -vx3)+c9o2*( -vx3)*( -vx3)-cu_sq); - feq_NE = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - feq_SW = c1o54* (drho+c3o1*(-vx1-vx2 )+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq); - feq_SE = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - feq_NW = c1o54* (drho+c3o1*(-vx1+vx2 )+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq); - feq_TE = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - feq_BW = c1o54* (drho+c3o1*(-vx1 -vx3)+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq); - feq_BE = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - feq_TW = c1o54* (drho+c3o1*(-vx1 +vx3)+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq); - feq_TN = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - feq_BS = c1o54* (drho+c3o1*( -vx2-vx3)+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq); - feq_BN = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - feq_TS = c1o54* (drho+c3o1*( -vx2+vx3)+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq); - feq_TNE = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - feq_BSW = c1o216*(drho+c3o1*(-vx1-vx2-vx3)+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq); - feq_BNE = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - feq_TSW = c1o216*(drho+c3o1*(-vx1-vx2+vx3)+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq); - feq_TSE = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - feq_BNW = c1o216*(drho+c3o1*(-vx1+vx2-vx3)+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq); - feq_BSE = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - feq_TNW = c1o216*(drho+c3o1*(-vx1+vx2+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq); - - f_E = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o - c8o1*ax*op + c4o1*by*op + c4o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - 16*axx*op*x + c4o1*bxy*op*x + c4o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c8o1*axy*op*y + c8o1*byy*op*y + c4o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(-c2o1*axz + byz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_W = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o - c8o1*ax*op + c4o1*by*op + c4o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - 16*axx*op*x + c4o1*bxy*op*x + c4o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c8o1*axy*op*y + c8o1*byy*op*y + c4o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(-c2o1*axz + byz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_N = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o + c4o1*ax*op - c8o1*by*op + c4o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c8o1*axx*op*x - c8o1*bxy*op*x + c4o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + c4o1*axy*op*y - 16*byy*op*y + c4o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(axz - c2o1*byz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_S = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o + c4o1*ax*op - c8o1*by*op + c4o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c8o1*axx*op*x - c8o1*bxy*op*x + c4o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + c4o1*axy*op*y - 16*byy*op*y + c4o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(axz - c2o1*byz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_T = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o + c4o1*ax*op + c4o1*by*op - c8o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c8o1*axx*op*x + c4o1*bxy*op*x - c8o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + c4o1*axy*op*y + c8o1*byy*op*y - c8o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(axz + byz - c4o1*czz)*op)*z)/(c54o1*o*op)); - f_B = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o + c4o1*ax*op + c4o1*by*op - c8o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c8o1*axx*op*x + c4o1*bxy*op*x - c8o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + c4o1*axy*op*y + c8o1*byy*op*y - c8o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(axz + byz - c4o1*czz)*op)*z)/(c54o1*o*op)); - f_NE = eps_new *(-(c5o1*cz*o + c3o1*(ay + bx)*op - c2o1*cz*op + ax*(c5o1*o + op) + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x + c3o1*axy*op*x + c6o1*bxx*op*x + bxy*op*x - c2o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y + c6o1*ayy*op*y + c3o1*bxy*op*y + c2o1*byy*op*y - c2o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz + c3o1*ayz + c3o1*bxz + byz - c4o1*czz)*op)*z)/(c54o1*o*op)); - f_SW = eps_new *(-(c5o1*cz*o + c3o1*(ay + bx)*op - c2o1*cz*op + ax*(c5o1*o + op) + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x + c3o1*axy*op*x + c6o1*bxx*op*x + bxy*op*x - c2o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y + c6o1*ayy*op*y + c3o1*bxy*op*y + c2o1*byy*op*y - c2o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz + c3o1*ayz + c3o1*bxz + byz - c4o1*czz)*op)*z)/(c54o1*o*op)); - f_SE = eps_new *(-(c5o1*cz*o - c3o1*(ay + bx)*op - c2o1*cz*op + ax*(c5o1*o + op) + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x - c3o1*axy*op*x - c6o1*bxx*op*x + bxy*op*x - c2o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y - c6o1*ayy*op*y - c3o1*bxy*op*y + c2o1*byy*op*y - c2o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz - c3o1*ayz - c3o1*bxz + byz - c4o1*czz)*op)*z)/(c54o1*o*op)); - f_NW = eps_new *(-(c5o1*cz*o - c3o1*(ay + bx)*op - c2o1*cz*op + ax*(c5o1*o + op) + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x - c3o1*axy*op*x - c6o1*bxx*op*x + bxy*op*x - c2o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y - c6o1*ayy*op*y - c3o1*bxy*op*y + c2o1*byy*op*y - c2o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz - c3o1*ayz - c3o1*bxz + byz - c4o1*czz)*op)*z)/(c54o1*o*op)); - f_TE = eps_new *(-(c5o1*cz*o + by*(c5o1*o - c2o1*op) + c3o1*(az + cx)*op + cz*op + ax*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x + c3o1*axz*op*x - c2o1*bxy*op*x + c6o1*cxx*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y + c3o1*ayz*op*y - c4o1*byy*op*y + c3o1*cxy*op*y + cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz + c6o1*azz - c2o1*byz + c3o1*cxz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_BW = eps_new *(-(c5o1*cz*o + by*(c5o1*o - c2o1*op) + c3o1*(az + cx)*op + cz*op + ax*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x + c3o1*axz*op*x - c2o1*bxy*op*x + c6o1*cxx*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y + c3o1*ayz*op*y - c4o1*byy*op*y + c3o1*cxy*op*y + cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz + c6o1*azz - c2o1*byz + c3o1*cxz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_BE = eps_new *(-(c5o1*cz*o + by*(c5o1*o - c2o1*op) - c3o1*(az + cx)*op + cz*op + ax*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x - c3o1*axz*op*x - c2o1*bxy*op*x - c6o1*cxx*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y - c3o1*ayz*op*y - c4o1*byy*op*y - c3o1*cxy*op*y + cyz*op*y + c5o1*axz*o*z + c5o1*byz*o*z + c10o1*czz*o*z + axz*op*z - c6o1*azz*op*z - c2o1*byz*op*z - c3o1*cxz*op*z + c2o1*czz*op*z)/(c54o1*o*op)); - f_TW = eps_new *(-(c5o1*cz*o + by*(c5o1*o - c2o1*op) - c3o1*(az + cx)*op + cz*op + ax*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x - c3o1*axz*op*x - c2o1*bxy*op*x - c6o1*cxx*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y - c3o1*ayz*op*y - c4o1*byy*op*y - c3o1*cxy*op*y + cyz*op*y + c5o1*axz*o*z + c5o1*byz*o*z + c10o1*czz*o*z + axz*op*z - c6o1*azz*op*z - c2o1*byz*op*z - c3o1*cxz*op*z + c2o1*czz*op*z)/(c54o1*o*op)); - f_TN = eps_new *(-(c5o1*ax*o + c5o1*by*o + c5o1*cz*o - c2o1*ax*op + by*op + c3o1*bz*op + c3o1*cy*op + cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - c4o1*axx*op*x + bxy*op*x + c3o1*bxz*op*x + c3o1*cxy*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c2o1*axy*op*y + c2o1*byy*op*y + c3o1*byz*op*y + c6o1*cyy*op*y + cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (-c2o1*axz + byz + c6o1*bzz + c3o1*cyz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_BS = eps_new *(-(c5o1*ax*o + c5o1*by*o + c5o1*cz*o - c2o1*ax*op + by*op + c3o1*bz*op + c3o1*cy*op + cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - c4o1*axx*op*x + bxy*op*x + c3o1*bxz*op*x + c3o1*cxy*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c2o1*axy*op*y + c2o1*byy*op*y + c3o1*byz*op*y + c6o1*cyy*op*y + cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (-c2o1*axz + byz + c6o1*bzz + c3o1*cyz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_BN = eps_new *(-(c5o1*cz*o + ax*(c5o1*o - c2o1*op) - c3o1*(bz + cy)*op + cz*op + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - c4o1*axx*op*x + bxy*op*x - c3o1*bxz*op*x - c3o1*cxy*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c2o1*axy*op*y + c2o1*byy*op*y - c3o1*byz*op*y - c6o1*cyy*op*y + cyz*op*y + c5o1*axz*o*z + c5o1*byz*o*z + c10o1*czz*o*z - c2o1*axz*op*z + byz*op*z - c6o1*bzz*op*z - c3o1*cyz*op*z + c2o1*czz*op*z)/(c54o1*o*op)); - f_TS = eps_new *(-(c5o1*cz*o + ax*(c5o1*o - c2o1*op) - c3o1*(bz + cy)*op + cz*op + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - c4o1*axx*op*x + bxy*op*x - c3o1*bxz*op*x - c3o1*cxy*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c2o1*axy*op*y + c2o1*byy*op*y - c3o1*byz*op*y - c6o1*cyy*op*y + cyz*op*y + c5o1*axz*o*z + c5o1*byz*o*z + c10o1*czz*o*z - c2o1*axz*op*z + byz*op*z - c6o1*bzz*op*z - c3o1*cyz*op*z + c2o1*czz*op*z)/(c54o1*o*op)); - f_ZERO = eps_new *((c5o1*(ax + by + cz + (c2o1*axx + bxy + cxz)*x + (axy + c2o1*byy + cyz)*y + (axz + byz + c2o1*czz)*z))/(c9o1*op)); - f_TNE = eps_new *(-(ay + az + bx + bz + cx + cy + axy*x + axz*x + c2o1*bxx*x + bxz*x + c2o1*cxx*x + cxy*x + (c2o1*ayy + ayz + bxy + byz)*y + cxy*y + c2o1*cyy*y + (ayz + c2o1*azz)*z + (bxz + c2o1*bzz + cxz + cyz)*z)/(c72o1*o)); - f_TSW = eps_new *((-ay + az - bx + bz + cx + cy - axy*x + axz*x - c2o1*bxx*x + bxz*x + c2o1*cxx*x + cxy*x - c2o1*ayy*y + ayz*y - bxy*y + byz*y + cxy*y + c2o1*cyy*y + (-ayz + c2o1*azz - bxz + c2o1*bzz + cxz + cyz)*z)/(c72o1*o)); - f_TSE = eps_new *((ay - az + bx + bz - cx + cy + axy*x - axz*x + c2o1*bxx*x + bxz*x - c2o1*cxx*x + cxy*x + c2o1*ayy*y - ayz*y + bxy*y + byz*y - cxy*y + c2o1*cyy*y + (ayz - c2o1*azz + bxz + c2o1*bzz - cxz + cyz)*z)/(c72o1*o)); - f_TNW = eps_new *((ay + az + bx - bz + cx - cy + axy*x + axz*x + c2o1*bxx*x - bxz*x + c2o1*cxx*x - cxy*x + c2o1*ayy*y + ayz*y + bxy*y - byz*y + cxy*y - c2o1*cyy*y + (ayz + c2o1*azz + bxz - c2o1*bzz + cxz - cyz)*z)/(c72o1*o)); - f_BNE = eps_new *((-ay + az - bx + bz + cx + cy - axy*x + axz*x - c2o1*bxx*x + bxz*x + c2o1*cxx*x + cxy*x - c2o1*ayy*y + ayz*y - bxy*y + byz*y + cxy*y + c2o1*cyy*y + (-ayz + c2o1*azz - bxz + c2o1*bzz + cxz + cyz)*z)/(c72o1*o)); - f_BSW = eps_new *(-(ay + az + bx + bz + cx + cy + axy*x + axz*x + c2o1*bxx*x + bxz*x + c2o1*cxx*x + cxy*x + (c2o1*ayy + ayz + bxy + byz)*y + cxy*y + c2o1*cyy*y + (ayz + c2o1*azz)*z + (bxz + c2o1*bzz + cxz + cyz)*z)/(c72o1*o)); - f_BSE = eps_new *((ay + az + bx - bz + cx - cy + axy*x + axz*x + c2o1*bxx*x - bxz*x + c2o1*cxx*x - cxy*x + c2o1*ayy*y + ayz*y + bxy*y - byz*y + cxy*y - c2o1*cyy*y + (ayz + c2o1*azz + bxz - c2o1*bzz + cxz - cyz)*z)/(c72o1*o)); - f_BNW = eps_new *((ay - az + bx + bz - cx + cy + axy*x - axz*x + c2o1*bxx*x + bxz*x - c2o1*cxx*x + cxy*x + c2o1*ayy*y - ayz*y + bxy*y + byz*y - cxy*y + c2o1*cyy*y + (ayz - c2o1*azz + bxz + c2o1*bzz - cxz + cyz)*z)/(c72o1*o)); - - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= posFSWB[k]; - k0w = neighborFX[k0zero]; - k0s = neighborFY[k0zero]; - k0b = neighborFZ[k0zero]; - k0sw = neighborFY[k0w]; - k0bw = neighborFZ[k0w]; - k0bs = neighborFZ[k0s]; - k0bsw = neighborFZ[k0sw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - feF[kzero] = f_E + feq_E; - fwF[kw] = f_W + feq_W; - fnF[kzero] = f_N + feq_N; - fsF[ks] = f_S + feq_S; - ftF[kzero] = f_T + feq_T; - fbF[kb] = f_B + feq_B; - fneF[kzero] = f_NE + feq_NE; - fswF[ksw] = f_SW + feq_SW; - fseF[ks] = f_SE + feq_SE; - fnwF[kw] = f_NW + feq_NW; - fteF[kzero] = f_TE + feq_TE; - fbwF[kbw] = f_BW + feq_BW; - fbeF[kb] = f_BE + feq_BE; - ftwF[kw] = f_TW + feq_TW; - ftnF[kzero] = f_TN + feq_TN; - fbsF[kbs] = f_BS + feq_BS; - fbnF[kb] = f_BN + feq_BN; - ftsF[ks] = f_TS + feq_TS; - fzeroF[kzero]= f_ZERO + feq_ZERO; - ftneF[kzero] = f_TNE + feq_TNE; - ftswF[ksw] = f_TSW + feq_TSW; - ftseF[ks] = f_TSE + feq_TSE; - ftnwF[kw] = f_TNW + feq_TNW; - fbneF[kb] = f_BNE + feq_BNE; - fbswF[kbsw] = f_BSW + feq_BSW; - fbseF[kbs] = f_BSE + feq_BSE; - fbnwF[kbw] = f_BNW + feq_BNW; - - //Position SWT -0.25, -0.25, 0.25 - x = -c1o4; - y = -c1o4; - z = c1o4; - - drho = (drho_NEB*(c1o1 + c2o1*x + c2o1*y + c4o1*x*y - c2o1*z - c4o1*x*z - c4o1*y*z - c8o1*x*y*z) + - drho_SET*(c1o1 + c2o1*x - c2o1*y - c4o1*x*y + c2o1*z + c4o1*x*z - c4o1*y*z - c8o1*x*y*z) + - drho_NWT*(c1o1 - c2o1*x + c2o1*y - c4o1*x*y + c2o1*z - c4o1*x*z + c4o1*y*z - c8o1*x*y*z) + - drho_SWB*(c1o1 - c2o1*x - c2o1*y + c4o1*x*y - c2o1*z + c4o1*x*z + c4o1*y*z - c8o1*x*y*z) + - drho_SWT*(c1o1 - c2o1*x - c2o1*y + c4o1*x*y + c2o1*z - c4o1*x*z - c4o1*y*z + c8o1*x*y*z) + - drho_NWB*(c1o1 - c2o1*x + c2o1*y - c4o1*x*y - c2o1*z + c4o1*x*z - c4o1*y*z + c8o1*x*y*z) + - drho_SEB*(c1o1 + c2o1*x - c2o1*y - c4o1*x*y - c2o1*z - c4o1*x*z + c4o1*y*z + c8o1*x*y*z) + - drho_NET*(c1o1 + c2o1*x + c2o1*y + c4o1*x*y + c2o1*z + c4o1*x*z + c4o1*y*z + c8o1*x*y*z))/c8o1; - vx1 = a0 + ax*x + ay*y + az*z + axx*x*x + ayy*y*y + azz*z*z + axy*x*y + axz*x*z + ayz*y*z; - vx2 = b0 + bx*x + by*y + bz*z + bxx*x*x + byy*y*y + bzz*z*z + bxy*x*y + bxz*x*z + byz*y*z; - vx3 = c0 + cx*x + cy*y + cz*z + cxx*x*x + cyy*y*y + czz*z*z + cxy*x*y + cxz*x*z + cyz*y*z; - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - feq_ZERO = c8o27* (drho-cu_sq); - feq_E = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - feq_W = c2o27* (drho+c3o1*(-vx1 )+c9o2*(-vx1 )*(-vx1 )-cu_sq); - feq_N = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - feq_S = c2o27* (drho+c3o1*( -vx2 )+c9o2*( -vx2 )*( -vx2 )-cu_sq); - feq_T = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - feq_B = c2o27* (drho+c3o1*( -vx3)+c9o2*( -vx3)*( -vx3)-cu_sq); - feq_NE = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - feq_SW = c1o54* (drho+c3o1*(-vx1-vx2 )+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq); - feq_SE = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - feq_NW = c1o54* (drho+c3o1*(-vx1+vx2 )+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq); - feq_TE = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - feq_BW = c1o54* (drho+c3o1*(-vx1 -vx3)+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq); - feq_BE = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - feq_TW = c1o54* (drho+c3o1*(-vx1 +vx3)+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq); - feq_TN = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - feq_BS = c1o54* (drho+c3o1*( -vx2-vx3)+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq); - feq_BN = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - feq_TS = c1o54* (drho+c3o1*( -vx2+vx3)+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq); - feq_TNE = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - feq_BSW = c1o216*(drho+c3o1*(-vx1-vx2-vx3)+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq); - feq_BNE = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - feq_TSW = c1o216*(drho+c3o1*(-vx1-vx2+vx3)+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq); - feq_TSE = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - feq_BNW = c1o216*(drho+c3o1*(-vx1+vx2-vx3)+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq); - feq_BSE = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - feq_TNW = c1o216*(drho+c3o1*(-vx1+vx2+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq); - - f_E = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o - c8o1*ax*op + c4o1*by*op + c4o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - 16*axx*op*x + c4o1*bxy*op*x + c4o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c8o1*axy*op*y + c8o1*byy*op*y + c4o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(-c2o1*axz + byz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_W = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o - c8o1*ax*op + c4o1*by*op + c4o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - 16*axx*op*x + c4o1*bxy*op*x + c4o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c8o1*axy*op*y + c8o1*byy*op*y + c4o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(-c2o1*axz + byz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_N = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o + c4o1*ax*op - c8o1*by*op + c4o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c8o1*axx*op*x - c8o1*bxy*op*x + c4o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + c4o1*axy*op*y - 16*byy*op*y + c4o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(axz - c2o1*byz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_S = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o + c4o1*ax*op - c8o1*by*op + c4o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c8o1*axx*op*x - c8o1*bxy*op*x + c4o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + c4o1*axy*op*y - 16*byy*op*y + c4o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(axz - c2o1*byz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_T = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o + c4o1*ax*op + c4o1*by*op - c8o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c8o1*axx*op*x + c4o1*bxy*op*x - c8o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + c4o1*axy*op*y + c8o1*byy*op*y - c8o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(axz + byz - c4o1*czz)*op)*z)/(c54o1*o*op)); - f_B = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o + c4o1*ax*op + c4o1*by*op - c8o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c8o1*axx*op*x + c4o1*bxy*op*x - c8o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + c4o1*axy*op*y + c8o1*byy*op*y - c8o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(axz + byz - c4o1*czz)*op)*z)/(c54o1*o*op)); - f_NE = eps_new *(-(c5o1*cz*o + c3o1*(ay + bx)*op - c2o1*cz*op + ax*(c5o1*o + op) + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x + c3o1*axy*op*x + c6o1*bxx*op*x + bxy*op*x - c2o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y + c6o1*ayy*op*y + c3o1*bxy*op*y + c2o1*byy*op*y - c2o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz + c3o1*ayz + c3o1*bxz + byz - c4o1*czz)*op)*z)/(c54o1*o*op)); - f_SW = eps_new *(-(c5o1*cz*o + c3o1*(ay + bx)*op - c2o1*cz*op + ax*(c5o1*o + op) + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x + c3o1*axy*op*x + c6o1*bxx*op*x + bxy*op*x - c2o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y + c6o1*ayy*op*y + c3o1*bxy*op*y + c2o1*byy*op*y - c2o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz + c3o1*ayz + c3o1*bxz + byz - c4o1*czz)*op)*z)/(c54o1*o*op)); - f_SE = eps_new *(-(c5o1*cz*o - c3o1*(ay + bx)*op - c2o1*cz*op + ax*(c5o1*o + op) + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x - c3o1*axy*op*x - c6o1*bxx*op*x + bxy*op*x - c2o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y - c6o1*ayy*op*y - c3o1*bxy*op*y + c2o1*byy*op*y - c2o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz - c3o1*ayz - c3o1*bxz + byz - c4o1*czz)*op)*z)/(c54o1*o*op)); - f_NW = eps_new *(-(c5o1*cz*o - c3o1*(ay + bx)*op - c2o1*cz*op + ax*(c5o1*o + op) + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x - c3o1*axy*op*x - c6o1*bxx*op*x + bxy*op*x - c2o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y - c6o1*ayy*op*y - c3o1*bxy*op*y + c2o1*byy*op*y - c2o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz - c3o1*ayz - c3o1*bxz + byz - c4o1*czz)*op)*z)/(c54o1*o*op)); - f_TE = eps_new *(-(c5o1*cz*o + by*(c5o1*o - c2o1*op) + c3o1*(az + cx)*op + cz*op + ax*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x + c3o1*axz*op*x - c2o1*bxy*op*x + c6o1*cxx*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y + c3o1*ayz*op*y - c4o1*byy*op*y + c3o1*cxy*op*y + cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz + c6o1*azz - c2o1*byz + c3o1*cxz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_BW = eps_new *(-(c5o1*cz*o + by*(c5o1*o - c2o1*op) + c3o1*(az + cx)*op + cz*op + ax*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x + c3o1*axz*op*x - c2o1*bxy*op*x + c6o1*cxx*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y + c3o1*ayz*op*y - c4o1*byy*op*y + c3o1*cxy*op*y + cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz + c6o1*azz - c2o1*byz + c3o1*cxz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_BE = eps_new *(-(c5o1*cz*o + by*(c5o1*o - c2o1*op) - c3o1*(az + cx)*op + cz*op + ax*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x - c3o1*axz*op*x - c2o1*bxy*op*x - c6o1*cxx*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y - c3o1*ayz*op*y - c4o1*byy*op*y - c3o1*cxy*op*y + cyz*op*y + c5o1*axz*o*z + c5o1*byz*o*z + c10o1*czz*o*z + axz*op*z - c6o1*azz*op*z - c2o1*byz*op*z - c3o1*cxz*op*z + c2o1*czz*op*z)/(c54o1*o*op)); - f_TW = eps_new *(-(c5o1*cz*o + by*(c5o1*o - c2o1*op) - c3o1*(az + cx)*op + cz*op + ax*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x - c3o1*axz*op*x - c2o1*bxy*op*x - c6o1*cxx*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y - c3o1*ayz*op*y - c4o1*byy*op*y - c3o1*cxy*op*y + cyz*op*y + c5o1*axz*o*z + c5o1*byz*o*z + c10o1*czz*o*z + axz*op*z - c6o1*azz*op*z - c2o1*byz*op*z - c3o1*cxz*op*z + c2o1*czz*op*z)/(c54o1*o*op)); - f_TN = eps_new *(-(c5o1*ax*o + c5o1*by*o + c5o1*cz*o - c2o1*ax*op + by*op + c3o1*bz*op + c3o1*cy*op + cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - c4o1*axx*op*x + bxy*op*x + c3o1*bxz*op*x + c3o1*cxy*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c2o1*axy*op*y + c2o1*byy*op*y + c3o1*byz*op*y + c6o1*cyy*op*y + cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (-c2o1*axz + byz + c6o1*bzz + c3o1*cyz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_BS = eps_new *(-(c5o1*ax*o + c5o1*by*o + c5o1*cz*o - c2o1*ax*op + by*op + c3o1*bz*op + c3o1*cy*op + cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - c4o1*axx*op*x + bxy*op*x + c3o1*bxz*op*x + c3o1*cxy*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c2o1*axy*op*y + c2o1*byy*op*y + c3o1*byz*op*y + c6o1*cyy*op*y + cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (-c2o1*axz + byz + c6o1*bzz + c3o1*cyz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_BN = eps_new *(-(c5o1*cz*o + ax*(c5o1*o - c2o1*op) - c3o1*(bz + cy)*op + cz*op + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - c4o1*axx*op*x + bxy*op*x - c3o1*bxz*op*x - c3o1*cxy*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c2o1*axy*op*y + c2o1*byy*op*y - c3o1*byz*op*y - c6o1*cyy*op*y + cyz*op*y + c5o1*axz*o*z + c5o1*byz*o*z + c10o1*czz*o*z - c2o1*axz*op*z + byz*op*z - c6o1*bzz*op*z - c3o1*cyz*op*z + c2o1*czz*op*z)/(c54o1*o*op)); - f_TS = eps_new *(-(c5o1*cz*o + ax*(c5o1*o - c2o1*op) - c3o1*(bz + cy)*op + cz*op + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - c4o1*axx*op*x + bxy*op*x - c3o1*bxz*op*x - c3o1*cxy*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c2o1*axy*op*y + c2o1*byy*op*y - c3o1*byz*op*y - c6o1*cyy*op*y + cyz*op*y + c5o1*axz*o*z + c5o1*byz*o*z + c10o1*czz*o*z - c2o1*axz*op*z + byz*op*z - c6o1*bzz*op*z - c3o1*cyz*op*z + c2o1*czz*op*z)/(c54o1*o*op)); - f_ZERO = eps_new *((c5o1*(ax + by + cz + (c2o1*axx + bxy + cxz)*x + (axy + c2o1*byy + cyz)*y + (axz + byz + c2o1*czz)*z))/(c9o1*op)); - f_TNE = eps_new *(-(ay + az + bx + bz + cx + cy + axy*x + axz*x + c2o1*bxx*x + bxz*x + c2o1*cxx*x + cxy*x + (c2o1*ayy + ayz + bxy + byz)*y + cxy*y + c2o1*cyy*y + (ayz + c2o1*azz)*z + (bxz + c2o1*bzz + cxz + cyz)*z)/(c72o1*o)); - f_TSW = eps_new *((-ay + az - bx + bz + cx + cy - axy*x + axz*x - c2o1*bxx*x + bxz*x + c2o1*cxx*x + cxy*x - c2o1*ayy*y + ayz*y - bxy*y + byz*y + cxy*y + c2o1*cyy*y + (-ayz + c2o1*azz - bxz + c2o1*bzz + cxz + cyz)*z)/(c72o1*o)); - f_TSE = eps_new *((ay - az + bx + bz - cx + cy + axy*x - axz*x + c2o1*bxx*x + bxz*x - c2o1*cxx*x + cxy*x + c2o1*ayy*y - ayz*y + bxy*y + byz*y - cxy*y + c2o1*cyy*y + (ayz - c2o1*azz + bxz + c2o1*bzz - cxz + cyz)*z)/(c72o1*o)); - f_TNW = eps_new *((ay + az + bx - bz + cx - cy + axy*x + axz*x + c2o1*bxx*x - bxz*x + c2o1*cxx*x - cxy*x + c2o1*ayy*y + ayz*y + bxy*y - byz*y + cxy*y - c2o1*cyy*y + (ayz + c2o1*azz + bxz - c2o1*bzz + cxz - cyz)*z)/(c72o1*o)); - f_BNE = eps_new *((-ay + az - bx + bz + cx + cy - axy*x + axz*x - c2o1*bxx*x + bxz*x + c2o1*cxx*x + cxy*x - c2o1*ayy*y + ayz*y - bxy*y + byz*y + cxy*y + c2o1*cyy*y + (-ayz + c2o1*azz - bxz + c2o1*bzz + cxz + cyz)*z)/(c72o1*o)); - f_BSW = eps_new *(-(ay + az + bx + bz + cx + cy + axy*x + axz*x + c2o1*bxx*x + bxz*x + c2o1*cxx*x + cxy*x + (c2o1*ayy + ayz + bxy + byz)*y + cxy*y + c2o1*cyy*y + (ayz + c2o1*azz)*z + (bxz + c2o1*bzz + cxz + cyz)*z)/(c72o1*o)); - f_BSE = eps_new *((ay + az + bx - bz + cx - cy + axy*x + axz*x + c2o1*bxx*x - bxz*x + c2o1*cxx*x - cxy*x + c2o1*ayy*y + ayz*y + bxy*y - byz*y + cxy*y - c2o1*cyy*y + (ayz + c2o1*azz + bxz - c2o1*bzz + cxz - cyz)*z)/(c72o1*o)); - f_BNW = eps_new *((ay - az + bx + bz - cx + cy + axy*x - axz*x + c2o1*bxx*x + bxz*x - c2o1*cxx*x + cxy*x + c2o1*ayy*y - ayz*y + bxy*y + byz*y - cxy*y + c2o1*cyy*y + (ayz - c2o1*azz + bxz + c2o1*bzz - cxz + cyz)*z)/(c72o1*o)); - - //////////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - feF[kzero] = f_E + feq_E; - fwF[kw] = f_W + feq_W; - fnF[kzero] = f_N + feq_N; - fsF[ks] = f_S + feq_S; - ftF[kzero] = f_T + feq_T; - fbF[kb] = f_B + feq_B; - fneF[kzero] = f_NE + feq_NE; - fswF[ksw] = f_SW + feq_SW; - fseF[ks] = f_SE + feq_SE; - fnwF[kw] = f_NW + feq_NW; - fteF[kzero] = f_TE + feq_TE; - fbwF[kbw] = f_BW + feq_BW; - fbeF[kb] = f_BE + feq_BE; - ftwF[kw] = f_TW + feq_TW; - ftnF[kzero] = f_TN + feq_TN; - fbsF[kbs] = f_BS + feq_BS; - fbnF[kb] = f_BN + feq_BN; - ftsF[ks] = f_TS + feq_TS; - fzeroF[kzero]= f_ZERO + feq_ZERO; - ftneF[kzero] = f_TNE + feq_TNE; - ftswF[ksw] = f_TSW + feq_TSW; - ftseF[ks] = f_TSE + feq_TSE; - ftnwF[kw] = f_TNW + feq_TNW; - fbneF[kb] = f_BNE + feq_BNE; - fbswF[kbsw] = f_BSW + feq_BSW; - fbseF[kbs] = f_BSE + feq_BSE; - fbnwF[kbw] = f_BNW + feq_BNW; - - //Position SET c1o4, -c1o4, c1o4 - x = c1o4; - y = -c1o4; - z = c1o4; - - drho = (drho_NEB*(c1o1 + c2o1*x + c2o1*y + c4o1*x*y - c2o1*z - c4o1*x*z - c4o1*y*z - c8o1*x*y*z) + - drho_SET*(c1o1 + c2o1*x - c2o1*y - c4o1*x*y + c2o1*z + c4o1*x*z - c4o1*y*z - c8o1*x*y*z) + - drho_NWT*(c1o1 - c2o1*x + c2o1*y - c4o1*x*y + c2o1*z - c4o1*x*z + c4o1*y*z - c8o1*x*y*z) + - drho_SWB*(c1o1 - c2o1*x - c2o1*y + c4o1*x*y - c2o1*z + c4o1*x*z + c4o1*y*z - c8o1*x*y*z) + - drho_SWT*(c1o1 - c2o1*x - c2o1*y + c4o1*x*y + c2o1*z - c4o1*x*z - c4o1*y*z + c8o1*x*y*z) + - drho_NWB*(c1o1 - c2o1*x + c2o1*y - c4o1*x*y - c2o1*z + c4o1*x*z - c4o1*y*z + c8o1*x*y*z) + - drho_SEB*(c1o1 + c2o1*x - c2o1*y - c4o1*x*y - c2o1*z - c4o1*x*z + c4o1*y*z + c8o1*x*y*z) + - drho_NET*(c1o1 + c2o1*x + c2o1*y + c4o1*x*y + c2o1*z + c4o1*x*z + c4o1*y*z + c8o1*x*y*z))/c8o1; - vx1 = a0 + ax*x + ay*y + az*z + axx*x*x + ayy*y*y + azz*z*z + axy*x*y + axz*x*z + ayz*y*z; - vx2 = b0 + bx*x + by*y + bz*z + bxx*x*x + byy*y*y + bzz*z*z + bxy*x*y + bxz*x*z + byz*y*z; - vx3 = c0 + cx*x + cy*y + cz*z + cxx*x*x + cyy*y*y + czz*z*z + cxy*x*y + cxz*x*z + cyz*y*z; - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - feq_ZERO = c8o27* (drho-cu_sq); - feq_E = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - feq_W = c2o27* (drho+c3o1*(-vx1 )+c9o2*(-vx1 )*(-vx1 )-cu_sq); - feq_N = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - feq_S = c2o27* (drho+c3o1*( -vx2 )+c9o2*( -vx2 )*( -vx2 )-cu_sq); - feq_T = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - feq_B = c2o27* (drho+c3o1*( -vx3)+c9o2*( -vx3)*( -vx3)-cu_sq); - feq_NE = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - feq_SW = c1o54* (drho+c3o1*(-vx1-vx2 )+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq); - feq_SE = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - feq_NW = c1o54* (drho+c3o1*(-vx1+vx2 )+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq); - feq_TE = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - feq_BW = c1o54* (drho+c3o1*(-vx1 -vx3)+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq); - feq_BE = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - feq_TW = c1o54* (drho+c3o1*(-vx1 +vx3)+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq); - feq_TN = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - feq_BS = c1o54* (drho+c3o1*( -vx2-vx3)+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq); - feq_BN = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - feq_TS = c1o54* (drho+c3o1*( -vx2+vx3)+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq); - feq_TNE = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - feq_BSW = c1o216*(drho+c3o1*(-vx1-vx2-vx3)+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq); - feq_BNE = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - feq_TSW = c1o216*(drho+c3o1*(-vx1-vx2+vx3)+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq); - feq_TSE = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - feq_BNW = c1o216*(drho+c3o1*(-vx1+vx2-vx3)+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq); - feq_BSE = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - feq_TNW = c1o216*(drho+c3o1*(-vx1+vx2+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq); - - f_E = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o - c8o1*ax*op + c4o1*by*op + c4o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - 16*axx*op*x + c4o1*bxy*op*x + c4o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c8o1*axy*op*y + c8o1*byy*op*y + c4o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(-c2o1*axz + byz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_W = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o - c8o1*ax*op + c4o1*by*op + c4o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - 16*axx*op*x + c4o1*bxy*op*x + c4o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c8o1*axy*op*y + c8o1*byy*op*y + c4o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(-c2o1*axz + byz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_N = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o + c4o1*ax*op - c8o1*by*op + c4o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c8o1*axx*op*x - c8o1*bxy*op*x + c4o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + c4o1*axy*op*y - 16*byy*op*y + c4o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(axz - c2o1*byz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_S = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o + c4o1*ax*op - c8o1*by*op + c4o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c8o1*axx*op*x - c8o1*bxy*op*x + c4o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + c4o1*axy*op*y - 16*byy*op*y + c4o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(axz - c2o1*byz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_T = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o + c4o1*ax*op + c4o1*by*op - c8o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c8o1*axx*op*x + c4o1*bxy*op*x - c8o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + c4o1*axy*op*y + c8o1*byy*op*y - c8o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(axz + byz - c4o1*czz)*op)*z)/(c54o1*o*op)); - f_B = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o + c4o1*ax*op + c4o1*by*op - c8o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c8o1*axx*op*x + c4o1*bxy*op*x - c8o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + c4o1*axy*op*y + c8o1*byy*op*y - c8o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(axz + byz - c4o1*czz)*op)*z)/(c54o1*o*op)); - f_NE = eps_new *(-(c5o1*cz*o + c3o1*(ay + bx)*op - c2o1*cz*op + ax*(c5o1*o + op) + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x + c3o1*axy*op*x + c6o1*bxx*op*x + bxy*op*x - c2o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y + c6o1*ayy*op*y + c3o1*bxy*op*y + c2o1*byy*op*y - c2o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz + c3o1*ayz + c3o1*bxz + byz - c4o1*czz)*op)*z)/(c54o1*o*op)); - f_SW = eps_new *(-(c5o1*cz*o + c3o1*(ay + bx)*op - c2o1*cz*op + ax*(c5o1*o + op) + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x + c3o1*axy*op*x + c6o1*bxx*op*x + bxy*op*x - c2o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y + c6o1*ayy*op*y + c3o1*bxy*op*y + c2o1*byy*op*y - c2o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz + c3o1*ayz + c3o1*bxz + byz - c4o1*czz)*op)*z)/(c54o1*o*op)); - f_SE = eps_new *(-(c5o1*cz*o - c3o1*(ay + bx)*op - c2o1*cz*op + ax*(c5o1*o + op) + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x - c3o1*axy*op*x - c6o1*bxx*op*x + bxy*op*x - c2o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y - c6o1*ayy*op*y - c3o1*bxy*op*y + c2o1*byy*op*y - c2o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz - c3o1*ayz - c3o1*bxz + byz - c4o1*czz)*op)*z)/(c54o1*o*op)); - f_NW = eps_new *(-(c5o1*cz*o - c3o1*(ay + bx)*op - c2o1*cz*op + ax*(c5o1*o + op) + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x - c3o1*axy*op*x - c6o1*bxx*op*x + bxy*op*x - c2o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y - c6o1*ayy*op*y - c3o1*bxy*op*y + c2o1*byy*op*y - c2o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz - c3o1*ayz - c3o1*bxz + byz - c4o1*czz)*op)*z)/(c54o1*o*op)); - f_TE = eps_new *(-(c5o1*cz*o + by*(c5o1*o - c2o1*op) + c3o1*(az + cx)*op + cz*op + ax*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x + c3o1*axz*op*x - c2o1*bxy*op*x + c6o1*cxx*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y + c3o1*ayz*op*y - c4o1*byy*op*y + c3o1*cxy*op*y + cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz + c6o1*azz - c2o1*byz + c3o1*cxz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_BW = eps_new *(-(c5o1*cz*o + by*(c5o1*o - c2o1*op) + c3o1*(az + cx)*op + cz*op + ax*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x + c3o1*axz*op*x - c2o1*bxy*op*x + c6o1*cxx*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y + c3o1*ayz*op*y - c4o1*byy*op*y + c3o1*cxy*op*y + cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz + c6o1*azz - c2o1*byz + c3o1*cxz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_BE = eps_new *(-(c5o1*cz*o + by*(c5o1*o - c2o1*op) - c3o1*(az + cx)*op + cz*op + ax*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x - c3o1*axz*op*x - c2o1*bxy*op*x - c6o1*cxx*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y - c3o1*ayz*op*y - c4o1*byy*op*y - c3o1*cxy*op*y + cyz*op*y + c5o1*axz*o*z + c5o1*byz*o*z + c10o1*czz*o*z + axz*op*z - c6o1*azz*op*z - c2o1*byz*op*z - c3o1*cxz*op*z + c2o1*czz*op*z)/(c54o1*o*op)); - f_TW = eps_new *(-(c5o1*cz*o + by*(c5o1*o - c2o1*op) - c3o1*(az + cx)*op + cz*op + ax*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x - c3o1*axz*op*x - c2o1*bxy*op*x - c6o1*cxx*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y - c3o1*ayz*op*y - c4o1*byy*op*y - c3o1*cxy*op*y + cyz*op*y + c5o1*axz*o*z + c5o1*byz*o*z + c10o1*czz*o*z + axz*op*z - c6o1*azz*op*z - c2o1*byz*op*z - c3o1*cxz*op*z + c2o1*czz*op*z)/(c54o1*o*op)); - f_TN = eps_new *(-(c5o1*ax*o + c5o1*by*o + c5o1*cz*o - c2o1*ax*op + by*op + c3o1*bz*op + c3o1*cy*op + cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - c4o1*axx*op*x + bxy*op*x + c3o1*bxz*op*x + c3o1*cxy*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c2o1*axy*op*y + c2o1*byy*op*y + c3o1*byz*op*y + c6o1*cyy*op*y + cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (-c2o1*axz + byz + c6o1*bzz + c3o1*cyz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_BS = eps_new *(-(c5o1*ax*o + c5o1*by*o + c5o1*cz*o - c2o1*ax*op + by*op + c3o1*bz*op + c3o1*cy*op + cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - c4o1*axx*op*x + bxy*op*x + c3o1*bxz*op*x + c3o1*cxy*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c2o1*axy*op*y + c2o1*byy*op*y + c3o1*byz*op*y + c6o1*cyy*op*y + cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (-c2o1*axz + byz + c6o1*bzz + c3o1*cyz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_BN = eps_new *(-(c5o1*cz*o + ax*(c5o1*o - c2o1*op) - c3o1*(bz + cy)*op + cz*op + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - c4o1*axx*op*x + bxy*op*x - c3o1*bxz*op*x - c3o1*cxy*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c2o1*axy*op*y + c2o1*byy*op*y - c3o1*byz*op*y - c6o1*cyy*op*y + cyz*op*y + c5o1*axz*o*z + c5o1*byz*o*z + c10o1*czz*o*z - c2o1*axz*op*z + byz*op*z - c6o1*bzz*op*z - c3o1*cyz*op*z + c2o1*czz*op*z)/(c54o1*o*op)); - f_TS = eps_new *(-(c5o1*cz*o + ax*(c5o1*o - c2o1*op) - c3o1*(bz + cy)*op + cz*op + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - c4o1*axx*op*x + bxy*op*x - c3o1*bxz*op*x - c3o1*cxy*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c2o1*axy*op*y + c2o1*byy*op*y - c3o1*byz*op*y - c6o1*cyy*op*y + cyz*op*y + c5o1*axz*o*z + c5o1*byz*o*z + c10o1*czz*o*z - c2o1*axz*op*z + byz*op*z - c6o1*bzz*op*z - c3o1*cyz*op*z + c2o1*czz*op*z)/(c54o1*o*op)); - f_ZERO = eps_new *((c5o1*(ax + by + cz + (c2o1*axx + bxy + cxz)*x + (axy + c2o1*byy + cyz)*y + (axz + byz + c2o1*czz)*z))/(c9o1*op)); - f_TNE = eps_new *(-(ay + az + bx + bz + cx + cy + axy*x + axz*x + c2o1*bxx*x + bxz*x + c2o1*cxx*x + cxy*x + (c2o1*ayy + ayz + bxy + byz)*y + cxy*y + c2o1*cyy*y + (ayz + c2o1*azz)*z + (bxz + c2o1*bzz + cxz + cyz)*z)/(c72o1*o)); - f_TSW = eps_new *((-ay + az - bx + bz + cx + cy - axy*x + axz*x - c2o1*bxx*x + bxz*x + c2o1*cxx*x + cxy*x - c2o1*ayy*y + ayz*y - bxy*y + byz*y + cxy*y + c2o1*cyy*y + (-ayz + c2o1*azz - bxz + c2o1*bzz + cxz + cyz)*z)/(c72o1*o)); - f_TSE = eps_new *((ay - az + bx + bz - cx + cy + axy*x - axz*x + c2o1*bxx*x + bxz*x - c2o1*cxx*x + cxy*x + c2o1*ayy*y - ayz*y + bxy*y + byz*y - cxy*y + c2o1*cyy*y + (ayz - c2o1*azz + bxz + c2o1*bzz - cxz + cyz)*z)/(c72o1*o)); - f_TNW = eps_new *((ay + az + bx - bz + cx - cy + axy*x + axz*x + c2o1*bxx*x - bxz*x + c2o1*cxx*x - cxy*x + c2o1*ayy*y + ayz*y + bxy*y - byz*y + cxy*y - c2o1*cyy*y + (ayz + c2o1*azz + bxz - c2o1*bzz + cxz - cyz)*z)/(c72o1*o)); - f_BNE = eps_new *((-ay + az - bx + bz + cx + cy - axy*x + axz*x - c2o1*bxx*x + bxz*x + c2o1*cxx*x + cxy*x - c2o1*ayy*y + ayz*y - bxy*y + byz*y + cxy*y + c2o1*cyy*y + (-ayz + c2o1*azz - bxz + c2o1*bzz + cxz + cyz)*z)/(c72o1*o)); - f_BSW = eps_new *(-(ay + az + bx + bz + cx + cy + axy*x + axz*x + c2o1*bxx*x + bxz*x + c2o1*cxx*x + cxy*x + (c2o1*ayy + ayz + bxy + byz)*y + cxy*y + c2o1*cyy*y + (ayz + c2o1*azz)*z + (bxz + c2o1*bzz + cxz + cyz)*z)/(c72o1*o)); - f_BSE = eps_new *((ay + az + bx - bz + cx - cy + axy*x + axz*x + c2o1*bxx*x - bxz*x + c2o1*cxx*x - cxy*x + c2o1*ayy*y + ayz*y + bxy*y - byz*y + cxy*y - c2o1*cyy*y + (ayz + c2o1*azz + bxz - c2o1*bzz + cxz - cyz)*z)/(c72o1*o)); - f_BNW = eps_new *((ay - az + bx + bz - cx + cy + axy*x - axz*x + c2o1*bxx*x + bxz*x - c2o1*cxx*x + cxy*x + c2o1*ayy*y - ayz*y + bxy*y + byz*y - cxy*y + c2o1*cyy*y + (ayz - c2o1*azz + bxz + c2o1*bzz - cxz + cyz)*z)/(c72o1*o)); - - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - feF[kzero] = f_E + feq_E; - fwF[kw] = f_W + feq_W; - fnF[kzero] = f_N + feq_N; - fsF[ks] = f_S + feq_S; - ftF[kzero] = f_T + feq_T; - fbF[kb] = f_B + feq_B; - fneF[kzero] = f_NE + feq_NE; - fswF[ksw] = f_SW + feq_SW; - fseF[ks] = f_SE + feq_SE; - fnwF[kw] = f_NW + feq_NW; - fteF[kzero] = f_TE + feq_TE; - fbwF[kbw] = f_BW + feq_BW; - fbeF[kb] = f_BE + feq_BE; - ftwF[kw] = f_TW + feq_TW; - ftnF[kzero] = f_TN + feq_TN; - fbsF[kbs] = f_BS + feq_BS; - fbnF[kb] = f_BN + feq_BN; - ftsF[ks] = f_TS + feq_TS; - fzeroF[kzero]= f_ZERO + feq_ZERO; - ftneF[kzero] = f_TNE + feq_TNE; - ftswF[ksw] = f_TSW + feq_TSW; - ftseF[ks] = f_TSE + feq_TSE; - ftnwF[kw] = f_TNW + feq_TNW; - fbneF[kb] = f_BNE + feq_BNE; - fbswF[kbsw] = f_BSW + feq_BSW; - fbseF[kbs] = f_BSE + feq_BSE; - fbnwF[kbw] = f_BNW + feq_BNW; - - //Position SEB c1o4, -c1o4, -c1o4 - x = c1o4; - y = -c1o4; - z = -c1o4; - - drho = (drho_NEB*(c1o1 + c2o1*x + c2o1*y + c4o1*x*y - c2o1*z - c4o1*x*z - c4o1*y*z - c8o1*x*y*z) + - drho_SET*(c1o1 + c2o1*x - c2o1*y - c4o1*x*y + c2o1*z + c4o1*x*z - c4o1*y*z - c8o1*x*y*z) + - drho_NWT*(c1o1 - c2o1*x + c2o1*y - c4o1*x*y + c2o1*z - c4o1*x*z + c4o1*y*z - c8o1*x*y*z) + - drho_SWB*(c1o1 - c2o1*x - c2o1*y + c4o1*x*y - c2o1*z + c4o1*x*z + c4o1*y*z - c8o1*x*y*z) + - drho_SWT*(c1o1 - c2o1*x - c2o1*y + c4o1*x*y + c2o1*z - c4o1*x*z - c4o1*y*z + c8o1*x*y*z) + - drho_NWB*(c1o1 - c2o1*x + c2o1*y - c4o1*x*y - c2o1*z + c4o1*x*z - c4o1*y*z + c8o1*x*y*z) + - drho_SEB*(c1o1 + c2o1*x - c2o1*y - c4o1*x*y - c2o1*z - c4o1*x*z + c4o1*y*z + c8o1*x*y*z) + - drho_NET*(c1o1 + c2o1*x + c2o1*y + c4o1*x*y + c2o1*z + c4o1*x*z + c4o1*y*z + c8o1*x*y*z))/c8o1; - vx1 = a0 + ax*x + ay*y + az*z + axx*x*x + ayy*y*y + azz*z*z + axy*x*y + axz*x*z + ayz*y*z; - vx2 = b0 + bx*x + by*y + bz*z + bxx*x*x + byy*y*y + bzz*z*z + bxy*x*y + bxz*x*z + byz*y*z; - vx3 = c0 + cx*x + cy*y + cz*z + cxx*x*x + cyy*y*y + czz*z*z + cxy*x*y + cxz*x*z + cyz*y*z; - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - feq_ZERO = c8o27* (drho-cu_sq); - feq_E = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - feq_W = c2o27* (drho+c3o1*(-vx1 )+c9o2*(-vx1 )*(-vx1 )-cu_sq); - feq_N = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - feq_S = c2o27* (drho+c3o1*( -vx2 )+c9o2*( -vx2 )*( -vx2 )-cu_sq); - feq_T = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - feq_B = c2o27* (drho+c3o1*( -vx3)+c9o2*( -vx3)*( -vx3)-cu_sq); - feq_NE = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - feq_SW = c1o54* (drho+c3o1*(-vx1-vx2 )+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq); - feq_SE = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - feq_NW = c1o54* (drho+c3o1*(-vx1+vx2 )+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq); - feq_TE = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - feq_BW = c1o54* (drho+c3o1*(-vx1 -vx3)+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq); - feq_BE = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - feq_TW = c1o54* (drho+c3o1*(-vx1 +vx3)+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq); - feq_TN = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - feq_BS = c1o54* (drho+c3o1*( -vx2-vx3)+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq); - feq_BN = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - feq_TS = c1o54* (drho+c3o1*( -vx2+vx3)+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq); - feq_TNE = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - feq_BSW = c1o216*(drho+c3o1*(-vx1-vx2-vx3)+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq); - feq_BNE = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - feq_TSW = c1o216*(drho+c3o1*(-vx1-vx2+vx3)+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq); - feq_TSE = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - feq_BNW = c1o216*(drho+c3o1*(-vx1+vx2-vx3)+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq); - feq_BSE = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - feq_TNW = c1o216*(drho+c3o1*(-vx1+vx2+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq); - - f_E = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o - c8o1*ax*op + c4o1*by*op + c4o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - 16*axx*op*x + c4o1*bxy*op*x + c4o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c8o1*axy*op*y + c8o1*byy*op*y + c4o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(-c2o1*axz + byz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_W = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o - c8o1*ax*op + c4o1*by*op + c4o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - 16*axx*op*x + c4o1*bxy*op*x + c4o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c8o1*axy*op*y + c8o1*byy*op*y + c4o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(-c2o1*axz + byz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_N = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o + c4o1*ax*op - c8o1*by*op + c4o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c8o1*axx*op*x - c8o1*bxy*op*x + c4o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + c4o1*axy*op*y - 16*byy*op*y + c4o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(axz - c2o1*byz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_S = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o + c4o1*ax*op - c8o1*by*op + c4o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c8o1*axx*op*x - c8o1*bxy*op*x + c4o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + c4o1*axy*op*y - 16*byy*op*y + c4o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(axz - c2o1*byz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_T = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o + c4o1*ax*op + c4o1*by*op - c8o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c8o1*axx*op*x + c4o1*bxy*op*x - c8o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + c4o1*axy*op*y + c8o1*byy*op*y - c8o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(axz + byz - c4o1*czz)*op)*z)/(c54o1*o*op)); - f_B = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o + c4o1*ax*op + c4o1*by*op - c8o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c8o1*axx*op*x + c4o1*bxy*op*x - c8o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + c4o1*axy*op*y + c8o1*byy*op*y - c8o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(axz + byz - c4o1*czz)*op)*z)/(c54o1*o*op)); - f_NE = eps_new *(-(c5o1*cz*o + c3o1*(ay + bx)*op - c2o1*cz*op + ax*(c5o1*o + op) + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x + c3o1*axy*op*x + c6o1*bxx*op*x + bxy*op*x - c2o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y + c6o1*ayy*op*y + c3o1*bxy*op*y + c2o1*byy*op*y - c2o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz + c3o1*ayz + c3o1*bxz + byz - c4o1*czz)*op)*z)/(c54o1*o*op)); - f_SW = eps_new *(-(c5o1*cz*o + c3o1*(ay + bx)*op - c2o1*cz*op + ax*(c5o1*o + op) + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x + c3o1*axy*op*x + c6o1*bxx*op*x + bxy*op*x - c2o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y + c6o1*ayy*op*y + c3o1*bxy*op*y + c2o1*byy*op*y - c2o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz + c3o1*ayz + c3o1*bxz + byz - c4o1*czz)*op)*z)/(c54o1*o*op)); - f_SE = eps_new *(-(c5o1*cz*o - c3o1*(ay + bx)*op - c2o1*cz*op + ax*(c5o1*o + op) + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x - c3o1*axy*op*x - c6o1*bxx*op*x + bxy*op*x - c2o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y - c6o1*ayy*op*y - c3o1*bxy*op*y + c2o1*byy*op*y - c2o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz - c3o1*ayz - c3o1*bxz + byz - c4o1*czz)*op)*z)/(c54o1*o*op)); - f_NW = eps_new *(-(c5o1*cz*o - c3o1*(ay + bx)*op - c2o1*cz*op + ax*(c5o1*o + op) + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x - c3o1*axy*op*x - c6o1*bxx*op*x + bxy*op*x - c2o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y - c6o1*ayy*op*y - c3o1*bxy*op*y + c2o1*byy*op*y - c2o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz - c3o1*ayz - c3o1*bxz + byz - c4o1*czz)*op)*z)/(c54o1*o*op)); - f_TE = eps_new *(-(c5o1*cz*o + by*(c5o1*o - c2o1*op) + c3o1*(az + cx)*op + cz*op + ax*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x + c3o1*axz*op*x - c2o1*bxy*op*x + c6o1*cxx*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y + c3o1*ayz*op*y - c4o1*byy*op*y + c3o1*cxy*op*y + cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz + c6o1*azz - c2o1*byz + c3o1*cxz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_BW = eps_new *(-(c5o1*cz*o + by*(c5o1*o - c2o1*op) + c3o1*(az + cx)*op + cz*op + ax*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x + c3o1*axz*op*x - c2o1*bxy*op*x + c6o1*cxx*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y + c3o1*ayz*op*y - c4o1*byy*op*y + c3o1*cxy*op*y + cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz + c6o1*azz - c2o1*byz + c3o1*cxz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_BE = eps_new *(-(c5o1*cz*o + by*(c5o1*o - c2o1*op) - c3o1*(az + cx)*op + cz*op + ax*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x - c3o1*axz*op*x - c2o1*bxy*op*x - c6o1*cxx*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y - c3o1*ayz*op*y - c4o1*byy*op*y - c3o1*cxy*op*y + cyz*op*y + c5o1*axz*o*z + c5o1*byz*o*z + c10o1*czz*o*z + axz*op*z - c6o1*azz*op*z - c2o1*byz*op*z - c3o1*cxz*op*z + c2o1*czz*op*z)/(c54o1*o*op)); - f_TW = eps_new *(-(c5o1*cz*o + by*(c5o1*o - c2o1*op) - c3o1*(az + cx)*op + cz*op + ax*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x - c3o1*axz*op*x - c2o1*bxy*op*x - c6o1*cxx*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y - c3o1*ayz*op*y - c4o1*byy*op*y - c3o1*cxy*op*y + cyz*op*y + c5o1*axz*o*z + c5o1*byz*o*z + c10o1*czz*o*z + axz*op*z - c6o1*azz*op*z - c2o1*byz*op*z - c3o1*cxz*op*z + c2o1*czz*op*z)/(c54o1*o*op)); - f_TN = eps_new *(-(c5o1*ax*o + c5o1*by*o + c5o1*cz*o - c2o1*ax*op + by*op + c3o1*bz*op + c3o1*cy*op + cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - c4o1*axx*op*x + bxy*op*x + c3o1*bxz*op*x + c3o1*cxy*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c2o1*axy*op*y + c2o1*byy*op*y + c3o1*byz*op*y + c6o1*cyy*op*y + cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (-c2o1*axz + byz + c6o1*bzz + c3o1*cyz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_BS = eps_new *(-(c5o1*ax*o + c5o1*by*o + c5o1*cz*o - c2o1*ax*op + by*op + c3o1*bz*op + c3o1*cy*op + cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - c4o1*axx*op*x + bxy*op*x + c3o1*bxz*op*x + c3o1*cxy*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c2o1*axy*op*y + c2o1*byy*op*y + c3o1*byz*op*y + c6o1*cyy*op*y + cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (-c2o1*axz + byz + c6o1*bzz + c3o1*cyz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_BN = eps_new *(-(c5o1*cz*o + ax*(c5o1*o - c2o1*op) - c3o1*(bz + cy)*op + cz*op + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - c4o1*axx*op*x + bxy*op*x - c3o1*bxz*op*x - c3o1*cxy*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c2o1*axy*op*y + c2o1*byy*op*y - c3o1*byz*op*y - c6o1*cyy*op*y + cyz*op*y + c5o1*axz*o*z + c5o1*byz*o*z + c10o1*czz*o*z - c2o1*axz*op*z + byz*op*z - c6o1*bzz*op*z - c3o1*cyz*op*z + c2o1*czz*op*z)/(c54o1*o*op)); - f_TS = eps_new *(-(c5o1*cz*o + ax*(c5o1*o - c2o1*op) - c3o1*(bz + cy)*op + cz*op + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - c4o1*axx*op*x + bxy*op*x - c3o1*bxz*op*x - c3o1*cxy*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c2o1*axy*op*y + c2o1*byy*op*y - c3o1*byz*op*y - c6o1*cyy*op*y + cyz*op*y + c5o1*axz*o*z + c5o1*byz*o*z + c10o1*czz*o*z - c2o1*axz*op*z + byz*op*z - c6o1*bzz*op*z - c3o1*cyz*op*z + c2o1*czz*op*z)/(c54o1*o*op)); - f_ZERO = eps_new *((c5o1*(ax + by + cz + (c2o1*axx + bxy + cxz)*x + (axy + c2o1*byy + cyz)*y + (axz + byz + c2o1*czz)*z))/(c9o1*op)); - f_TNE = eps_new *(-(ay + az + bx + bz + cx + cy + axy*x + axz*x + c2o1*bxx*x + bxz*x + c2o1*cxx*x + cxy*x + (c2o1*ayy + ayz + bxy + byz)*y + cxy*y + c2o1*cyy*y + (ayz + c2o1*azz)*z + (bxz + c2o1*bzz + cxz + cyz)*z)/(c72o1*o)); - f_TSW = eps_new *((-ay + az - bx + bz + cx + cy - axy*x + axz*x - c2o1*bxx*x + bxz*x + c2o1*cxx*x + cxy*x - c2o1*ayy*y + ayz*y - bxy*y + byz*y + cxy*y + c2o1*cyy*y + (-ayz + c2o1*azz - bxz + c2o1*bzz + cxz + cyz)*z)/(c72o1*o)); - f_TSE = eps_new *((ay - az + bx + bz - cx + cy + axy*x - axz*x + c2o1*bxx*x + bxz*x - c2o1*cxx*x + cxy*x + c2o1*ayy*y - ayz*y + bxy*y + byz*y - cxy*y + c2o1*cyy*y + (ayz - c2o1*azz + bxz + c2o1*bzz - cxz + cyz)*z)/(c72o1*o)); - f_TNW = eps_new *((ay + az + bx - bz + cx - cy + axy*x + axz*x + c2o1*bxx*x - bxz*x + c2o1*cxx*x - cxy*x + c2o1*ayy*y + ayz*y + bxy*y - byz*y + cxy*y - c2o1*cyy*y + (ayz + c2o1*azz + bxz - c2o1*bzz + cxz - cyz)*z)/(c72o1*o)); - f_BNE = eps_new *((-ay + az - bx + bz + cx + cy - axy*x + axz*x - c2o1*bxx*x + bxz*x + c2o1*cxx*x + cxy*x - c2o1*ayy*y + ayz*y - bxy*y + byz*y + cxy*y + c2o1*cyy*y + (-ayz + c2o1*azz - bxz + c2o1*bzz + cxz + cyz)*z)/(c72o1*o)); - f_BSW = eps_new *(-(ay + az + bx + bz + cx + cy + axy*x + axz*x + c2o1*bxx*x + bxz*x + c2o1*cxx*x + cxy*x + (c2o1*ayy + ayz + bxy + byz)*y + cxy*y + c2o1*cyy*y + (ayz + c2o1*azz)*z + (bxz + c2o1*bzz + cxz + cyz)*z)/(c72o1*o)); - f_BSE = eps_new *((ay + az + bx - bz + cx - cy + axy*x + axz*x + c2o1*bxx*x - bxz*x + c2o1*cxx*x - cxy*x + c2o1*ayy*y + ayz*y + bxy*y - byz*y + cxy*y - c2o1*cyy*y + (ayz + c2o1*azz + bxz - c2o1*bzz + cxz - cyz)*z)/(c72o1*o)); - f_BNW = eps_new *((ay - az + bx + bz - cx + cy + axy*x - axz*x + c2o1*bxx*x + bxz*x - c2o1*cxx*x + cxy*x + c2o1*ayy*y - ayz*y + bxy*y + byz*y - cxy*y + c2o1*cyy*y + (ayz - c2o1*azz + bxz + c2o1*bzz - cxz + cyz)*z)/(c72o1*o)); - - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - feF[kzero] = f_E + feq_E; - fwF[kw] = f_W + feq_W; - fnF[kzero] = f_N + feq_N; - fsF[ks] = f_S + feq_S; - ftF[kzero] = f_T + feq_T; - fbF[kb] = f_B + feq_B; - fneF[kzero] = f_NE + feq_NE; - fswF[ksw] = f_SW + feq_SW; - fseF[ks] = f_SE + feq_SE; - fnwF[kw] = f_NW + feq_NW; - fteF[kzero] = f_TE + feq_TE; - fbwF[kbw] = f_BW + feq_BW; - fbeF[kb] = f_BE + feq_BE; - ftwF[kw] = f_TW + feq_TW; - ftnF[kzero] = f_TN + feq_TN; - fbsF[kbs] = f_BS + feq_BS; - fbnF[kb] = f_BN + feq_BN; - ftsF[ks] = f_TS + feq_TS; - fzeroF[kzero]= f_ZERO + feq_ZERO; - ftneF[kzero] = f_TNE + feq_TNE; - ftswF[ksw] = f_TSW + feq_TSW; - ftseF[ks] = f_TSE + feq_TSE; - ftnwF[kw] = f_TNW + feq_TNW; - fbneF[kb] = f_BNE + feq_BNE; - fbswF[kbsw] = f_BSW + feq_BSW; - fbseF[kbs] = f_BSE + feq_BSE; - fbnwF[kbw] = f_BNW + feq_BNW; - - ////////////////////////////////////////////////////////////////////////// - //Position NWB -c1o4, c1o4, -c1o4 - x = -c1o4; - y = c1o4; - z = -c1o4; - - drho = (drho_NEB*(c1o1 + c2o1*x + c2o1*y + c4o1*x*y - c2o1*z - c4o1*x*z - c4o1*y*z - c8o1*x*y*z) + - drho_SET*(c1o1 + c2o1*x - c2o1*y - c4o1*x*y + c2o1*z + c4o1*x*z - c4o1*y*z - c8o1*x*y*z) + - drho_NWT*(c1o1 - c2o1*x + c2o1*y - c4o1*x*y + c2o1*z - c4o1*x*z + c4o1*y*z - c8o1*x*y*z) + - drho_SWB*(c1o1 - c2o1*x - c2o1*y + c4o1*x*y - c2o1*z + c4o1*x*z + c4o1*y*z - c8o1*x*y*z) + - drho_SWT*(c1o1 - c2o1*x - c2o1*y + c4o1*x*y + c2o1*z - c4o1*x*z - c4o1*y*z + c8o1*x*y*z) + - drho_NWB*(c1o1 - c2o1*x + c2o1*y - c4o1*x*y - c2o1*z + c4o1*x*z - c4o1*y*z + c8o1*x*y*z) + - drho_SEB*(c1o1 + c2o1*x - c2o1*y - c4o1*x*y - c2o1*z - c4o1*x*z + c4o1*y*z + c8o1*x*y*z) + - drho_NET*(c1o1 + c2o1*x + c2o1*y + c4o1*x*y + c2o1*z + c4o1*x*z + c4o1*y*z + c8o1*x*y*z))/c8o1; - vx1 = a0 + ax*x + ay*y + az*z + axx*x*x + ayy*y*y + azz*z*z + axy*x*y + axz*x*z + ayz*y*z; - vx2 = b0 + bx*x + by*y + bz*z + bxx*x*x + byy*y*y + bzz*z*z + bxy*x*y + bxz*x*z + byz*y*z; - vx3 = c0 + cx*x + cy*y + cz*z + cxx*x*x + cyy*y*y + czz*z*z + cxy*x*y + cxz*x*z + cyz*y*z; - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - feq_ZERO = c8o27* (drho-cu_sq); - feq_E = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - feq_W = c2o27* (drho+c3o1*(-vx1 )+c9o2*(-vx1 )*(-vx1 )-cu_sq); - feq_N = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - feq_S = c2o27* (drho+c3o1*( -vx2 )+c9o2*( -vx2 )*( -vx2 )-cu_sq); - feq_T = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - feq_B = c2o27* (drho+c3o1*( -vx3)+c9o2*( -vx3)*( -vx3)-cu_sq); - feq_NE = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - feq_SW = c1o54* (drho+c3o1*(-vx1-vx2 )+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq); - feq_SE = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - feq_NW = c1o54* (drho+c3o1*(-vx1+vx2 )+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq); - feq_TE = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - feq_BW = c1o54* (drho+c3o1*(-vx1 -vx3)+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq); - feq_BE = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - feq_TW = c1o54* (drho+c3o1*(-vx1 +vx3)+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq); - feq_TN = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - feq_BS = c1o54* (drho+c3o1*( -vx2-vx3)+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq); - feq_BN = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - feq_TS = c1o54* (drho+c3o1*( -vx2+vx3)+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq); - feq_TNE = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - feq_BSW = c1o216*(drho+c3o1*(-vx1-vx2-vx3)+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq); - feq_BNE = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - feq_TSW = c1o216*(drho+c3o1*(-vx1-vx2+vx3)+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq); - feq_TSE = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - feq_BNW = c1o216*(drho+c3o1*(-vx1+vx2-vx3)+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq); - feq_BSE = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - feq_TNW = c1o216*(drho+c3o1*(-vx1+vx2+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq); - - f_E = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o - c8o1*ax*op + c4o1*by*op + c4o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - 16*axx*op*x + c4o1*bxy*op*x + c4o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c8o1*axy*op*y + c8o1*byy*op*y + c4o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(-c2o1*axz + byz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_W = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o - c8o1*ax*op + c4o1*by*op + c4o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - 16*axx*op*x + c4o1*bxy*op*x + c4o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c8o1*axy*op*y + c8o1*byy*op*y + c4o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(-c2o1*axz + byz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_N = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o + c4o1*ax*op - c8o1*by*op + c4o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c8o1*axx*op*x - c8o1*bxy*op*x + c4o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + c4o1*axy*op*y - 16*byy*op*y + c4o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(axz - c2o1*byz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_S = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o + c4o1*ax*op - c8o1*by*op + c4o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c8o1*axx*op*x - c8o1*bxy*op*x + c4o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + c4o1*axy*op*y - 16*byy*op*y + c4o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(axz - c2o1*byz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_T = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o + c4o1*ax*op + c4o1*by*op - c8o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c8o1*axx*op*x + c4o1*bxy*op*x - c8o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + c4o1*axy*op*y + c8o1*byy*op*y - c8o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(axz + byz - c4o1*czz)*op)*z)/(c54o1*o*op)); - f_B = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o + c4o1*ax*op + c4o1*by*op - c8o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c8o1*axx*op*x + c4o1*bxy*op*x - c8o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + c4o1*axy*op*y + c8o1*byy*op*y - c8o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(axz + byz - c4o1*czz)*op)*z)/(c54o1*o*op)); - f_NE = eps_new *(-(c5o1*cz*o + c3o1*(ay + bx)*op - c2o1*cz*op + ax*(c5o1*o + op) + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x + c3o1*axy*op*x + c6o1*bxx*op*x + bxy*op*x - c2o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y + c6o1*ayy*op*y + c3o1*bxy*op*y + c2o1*byy*op*y - c2o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz + c3o1*ayz + c3o1*bxz + byz - c4o1*czz)*op)*z)/(c54o1*o*op)); - f_SW = eps_new *(-(c5o1*cz*o + c3o1*(ay + bx)*op - c2o1*cz*op + ax*(c5o1*o + op) + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x + c3o1*axy*op*x + c6o1*bxx*op*x + bxy*op*x - c2o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y + c6o1*ayy*op*y + c3o1*bxy*op*y + c2o1*byy*op*y - c2o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz + c3o1*ayz + c3o1*bxz + byz - c4o1*czz)*op)*z)/(c54o1*o*op)); - f_SE = eps_new *(-(c5o1*cz*o - c3o1*(ay + bx)*op - c2o1*cz*op + ax*(c5o1*o + op) + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x - c3o1*axy*op*x - c6o1*bxx*op*x + bxy*op*x - c2o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y - c6o1*ayy*op*y - c3o1*bxy*op*y + c2o1*byy*op*y - c2o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz - c3o1*ayz - c3o1*bxz + byz - c4o1*czz)*op)*z)/(c54o1*o*op)); - f_NW = eps_new *(-(c5o1*cz*o - c3o1*(ay + bx)*op - c2o1*cz*op + ax*(c5o1*o + op) + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x - c3o1*axy*op*x - c6o1*bxx*op*x + bxy*op*x - c2o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y - c6o1*ayy*op*y - c3o1*bxy*op*y + c2o1*byy*op*y - c2o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz - c3o1*ayz - c3o1*bxz + byz - c4o1*czz)*op)*z)/(c54o1*o*op)); - f_TE = eps_new *(-(c5o1*cz*o + by*(c5o1*o - c2o1*op) + c3o1*(az + cx)*op + cz*op + ax*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x + c3o1*axz*op*x - c2o1*bxy*op*x + c6o1*cxx*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y + c3o1*ayz*op*y - c4o1*byy*op*y + c3o1*cxy*op*y + cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz + c6o1*azz - c2o1*byz + c3o1*cxz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_BW = eps_new *(-(c5o1*cz*o + by*(c5o1*o - c2o1*op) + c3o1*(az + cx)*op + cz*op + ax*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x + c3o1*axz*op*x - c2o1*bxy*op*x + c6o1*cxx*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y + c3o1*ayz*op*y - c4o1*byy*op*y + c3o1*cxy*op*y + cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz + c6o1*azz - c2o1*byz + c3o1*cxz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_BE = eps_new *(-(c5o1*cz*o + by*(c5o1*o - c2o1*op) - c3o1*(az + cx)*op + cz*op + ax*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x - c3o1*axz*op*x - c2o1*bxy*op*x - c6o1*cxx*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y - c3o1*ayz*op*y - c4o1*byy*op*y - c3o1*cxy*op*y + cyz*op*y + c5o1*axz*o*z + c5o1*byz*o*z + c10o1*czz*o*z + axz*op*z - c6o1*azz*op*z - c2o1*byz*op*z - c3o1*cxz*op*z + c2o1*czz*op*z)/(c54o1*o*op)); - f_TW = eps_new *(-(c5o1*cz*o + by*(c5o1*o - c2o1*op) - c3o1*(az + cx)*op + cz*op + ax*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x - c3o1*axz*op*x - c2o1*bxy*op*x - c6o1*cxx*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y - c3o1*ayz*op*y - c4o1*byy*op*y - c3o1*cxy*op*y + cyz*op*y + c5o1*axz*o*z + c5o1*byz*o*z + c10o1*czz*o*z + axz*op*z - c6o1*azz*op*z - c2o1*byz*op*z - c3o1*cxz*op*z + c2o1*czz*op*z)/(c54o1*o*op)); - f_TN = eps_new *(-(c5o1*ax*o + c5o1*by*o + c5o1*cz*o - c2o1*ax*op + by*op + c3o1*bz*op + c3o1*cy*op + cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - c4o1*axx*op*x + bxy*op*x + c3o1*bxz*op*x + c3o1*cxy*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c2o1*axy*op*y + c2o1*byy*op*y + c3o1*byz*op*y + c6o1*cyy*op*y + cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (-c2o1*axz + byz + c6o1*bzz + c3o1*cyz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_BS = eps_new *(-(c5o1*ax*o + c5o1*by*o + c5o1*cz*o - c2o1*ax*op + by*op + c3o1*bz*op + c3o1*cy*op + cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - c4o1*axx*op*x + bxy*op*x + c3o1*bxz*op*x + c3o1*cxy*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c2o1*axy*op*y + c2o1*byy*op*y + c3o1*byz*op*y + c6o1*cyy*op*y + cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (-c2o1*axz + byz + c6o1*bzz + c3o1*cyz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_BN = eps_new *(-(c5o1*cz*o + ax*(c5o1*o - c2o1*op) - c3o1*(bz + cy)*op + cz*op + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - c4o1*axx*op*x + bxy*op*x - c3o1*bxz*op*x - c3o1*cxy*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c2o1*axy*op*y + c2o1*byy*op*y - c3o1*byz*op*y - c6o1*cyy*op*y + cyz*op*y + c5o1*axz*o*z + c5o1*byz*o*z + c10o1*czz*o*z - c2o1*axz*op*z + byz*op*z - c6o1*bzz*op*z - c3o1*cyz*op*z + c2o1*czz*op*z)/(c54o1*o*op)); - f_TS = eps_new *(-(c5o1*cz*o + ax*(c5o1*o - c2o1*op) - c3o1*(bz + cy)*op + cz*op + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - c4o1*axx*op*x + bxy*op*x - c3o1*bxz*op*x - c3o1*cxy*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c2o1*axy*op*y + c2o1*byy*op*y - c3o1*byz*op*y - c6o1*cyy*op*y + cyz*op*y + c5o1*axz*o*z + c5o1*byz*o*z + c10o1*czz*o*z - c2o1*axz*op*z + byz*op*z - c6o1*bzz*op*z - c3o1*cyz*op*z + c2o1*czz*op*z)/(c54o1*o*op)); - f_ZERO = eps_new *((c5o1*(ax + by + cz + (c2o1*axx + bxy + cxz)*x + (axy + c2o1*byy + cyz)*y + (axz + byz + c2o1*czz)*z))/(c9o1*op)); - f_TNE = eps_new *(-(ay + az + bx + bz + cx + cy + axy*x + axz*x + c2o1*bxx*x + bxz*x + c2o1*cxx*x + cxy*x + (c2o1*ayy + ayz + bxy + byz)*y + cxy*y + c2o1*cyy*y + (ayz + c2o1*azz)*z + (bxz + c2o1*bzz + cxz + cyz)*z)/(c72o1*o)); - f_TSW = eps_new *((-ay + az - bx + bz + cx + cy - axy*x + axz*x - c2o1*bxx*x + bxz*x + c2o1*cxx*x + cxy*x - c2o1*ayy*y + ayz*y - bxy*y + byz*y + cxy*y + c2o1*cyy*y + (-ayz + c2o1*azz - bxz + c2o1*bzz + cxz + cyz)*z)/(c72o1*o)); - f_TSE = eps_new *((ay - az + bx + bz - cx + cy + axy*x - axz*x + c2o1*bxx*x + bxz*x - c2o1*cxx*x + cxy*x + c2o1*ayy*y - ayz*y + bxy*y + byz*y - cxy*y + c2o1*cyy*y + (ayz - c2o1*azz + bxz + c2o1*bzz - cxz + cyz)*z)/(c72o1*o)); - f_TNW = eps_new *((ay + az + bx - bz + cx - cy + axy*x + axz*x + c2o1*bxx*x - bxz*x + c2o1*cxx*x - cxy*x + c2o1*ayy*y + ayz*y + bxy*y - byz*y + cxy*y - c2o1*cyy*y + (ayz + c2o1*azz + bxz - c2o1*bzz + cxz - cyz)*z)/(c72o1*o)); - f_BNE = eps_new *((-ay + az - bx + bz + cx + cy - axy*x + axz*x - c2o1*bxx*x + bxz*x + c2o1*cxx*x + cxy*x - c2o1*ayy*y + ayz*y - bxy*y + byz*y + cxy*y + c2o1*cyy*y + (-ayz + c2o1*azz - bxz + c2o1*bzz + cxz + cyz)*z)/(c72o1*o)); - f_BSW = eps_new *(-(ay + az + bx + bz + cx + cy + axy*x + axz*x + c2o1*bxx*x + bxz*x + c2o1*cxx*x + cxy*x + (c2o1*ayy + ayz + bxy + byz)*y + cxy*y + c2o1*cyy*y + (ayz + c2o1*azz)*z + (bxz + c2o1*bzz + cxz + cyz)*z)/(c72o1*o)); - f_BSE = eps_new *((ay + az + bx - bz + cx - cy + axy*x + axz*x + c2o1*bxx*x - bxz*x + c2o1*cxx*x - cxy*x + c2o1*ayy*y + ayz*y + bxy*y - byz*y + cxy*y - c2o1*cyy*y + (ayz + c2o1*azz + bxz - c2o1*bzz + cxz - cyz)*z)/(c72o1*o)); - f_BNW = eps_new *((ay - az + bx + bz - cx + cy + axy*x - axz*x + c2o1*bxx*x + bxz*x - c2o1*cxx*x + cxy*x + c2o1*ayy*y - ayz*y + bxy*y + byz*y - cxy*y + c2o1*cyy*y + (ayz - c2o1*azz + bxz + c2o1*bzz - cxz + cyz)*z)/(c72o1*o)); - - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= k0s; - k0w = k0sw; - k0s = neighborFY[k0s]; - k0b = k0bs; - k0sw = neighborFY[k0sw]; - k0bw = k0bsw; - k0bs = neighborFY[k0bs]; - k0bsw = neighborFY[k0bsw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - feF[kzero] = f_E + feq_E; - fwF[kw] = f_W + feq_W; - fnF[kzero] = f_N + feq_N; - fsF[ks] = f_S + feq_S; - ftF[kzero] = f_T + feq_T; - fbF[kb] = f_B + feq_B; - fneF[kzero] = f_NE + feq_NE; - fswF[ksw] = f_SW + feq_SW; - fseF[ks] = f_SE + feq_SE; - fnwF[kw] = f_NW + feq_NW; - fteF[kzero] = f_TE + feq_TE; - fbwF[kbw] = f_BW + feq_BW; - fbeF[kb] = f_BE + feq_BE; - ftwF[kw] = f_TW + feq_TW; - ftnF[kzero] = f_TN + feq_TN; - fbsF[kbs] = f_BS + feq_BS; - fbnF[kb] = f_BN + feq_BN; - ftsF[ks] = f_TS + feq_TS; - fzeroF[kzero]= f_ZERO + feq_ZERO; - ftneF[kzero] = f_TNE + feq_TNE; - ftswF[ksw] = f_TSW + feq_TSW; - ftseF[ks] = f_TSE + feq_TSE; - ftnwF[kw] = f_TNW + feq_TNW; - fbneF[kb] = f_BNE + feq_BNE; - fbswF[kbsw] = f_BSW + feq_BSW; - fbseF[kbs] = f_BSE + feq_BSE; - fbnwF[kbw] = f_BNW + feq_BNW; - - - //Position NWT -c1o4, c1o4, c1o4 - x = -c1o4; - y = c1o4; - z = c1o4; - - drho = (drho_NEB*(c1o1 + c2o1*x + c2o1*y + c4o1*x*y - c2o1*z - c4o1*x*z - c4o1*y*z - c8o1*x*y*z) + - drho_SET*(c1o1 + c2o1*x - c2o1*y - c4o1*x*y + c2o1*z + c4o1*x*z - c4o1*y*z - c8o1*x*y*z) + - drho_NWT*(c1o1 - c2o1*x + c2o1*y - c4o1*x*y + c2o1*z - c4o1*x*z + c4o1*y*z - c8o1*x*y*z) + - drho_SWB*(c1o1 - c2o1*x - c2o1*y + c4o1*x*y - c2o1*z + c4o1*x*z + c4o1*y*z - c8o1*x*y*z) + - drho_SWT*(c1o1 - c2o1*x - c2o1*y + c4o1*x*y + c2o1*z - c4o1*x*z - c4o1*y*z + c8o1*x*y*z) + - drho_NWB*(c1o1 - c2o1*x + c2o1*y - c4o1*x*y - c2o1*z + c4o1*x*z - c4o1*y*z + c8o1*x*y*z) + - drho_SEB*(c1o1 + c2o1*x - c2o1*y - c4o1*x*y - c2o1*z - c4o1*x*z + c4o1*y*z + c8o1*x*y*z) + - drho_NET*(c1o1 + c2o1*x + c2o1*y + c4o1*x*y + c2o1*z + c4o1*x*z + c4o1*y*z + c8o1*x*y*z))/c8o1; - vx1 = a0 + ax*x + ay*y + az*z + axx*x*x + ayy*y*y + azz*z*z + axy*x*y + axz*x*z + ayz*y*z; - vx2 = b0 + bx*x + by*y + bz*z + bxx*x*x + byy*y*y + bzz*z*z + bxy*x*y + bxz*x*z + byz*y*z; - vx3 = c0 + cx*x + cy*y + cz*z + cxx*x*x + cyy*y*y + czz*z*z + cxy*x*y + cxz*x*z + cyz*y*z; - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - feq_ZERO = c8o27* (drho-cu_sq); - feq_E = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - feq_W = c2o27* (drho+c3o1*(-vx1 )+c9o2*(-vx1 )*(-vx1 )-cu_sq); - feq_N = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - feq_S = c2o27* (drho+c3o1*( -vx2 )+c9o2*( -vx2 )*( -vx2 )-cu_sq); - feq_T = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - feq_B = c2o27* (drho+c3o1*( -vx3)+c9o2*( -vx3)*( -vx3)-cu_sq); - feq_NE = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - feq_SW = c1o54* (drho+c3o1*(-vx1-vx2 )+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq); - feq_SE = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - feq_NW = c1o54* (drho+c3o1*(-vx1+vx2 )+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq); - feq_TE = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - feq_BW = c1o54* (drho+c3o1*(-vx1 -vx3)+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq); - feq_BE = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - feq_TW = c1o54* (drho+c3o1*(-vx1 +vx3)+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq); - feq_TN = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - feq_BS = c1o54* (drho+c3o1*( -vx2-vx3)+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq); - feq_BN = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - feq_TS = c1o54* (drho+c3o1*( -vx2+vx3)+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq); - feq_TNE = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - feq_BSW = c1o216*(drho+c3o1*(-vx1-vx2-vx3)+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq); - feq_BNE = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - feq_TSW = c1o216*(drho+c3o1*(-vx1-vx2+vx3)+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq); - feq_TSE = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - feq_BNW = c1o216*(drho+c3o1*(-vx1+vx2-vx3)+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq); - feq_BSE = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - feq_TNW = c1o216*(drho+c3o1*(-vx1+vx2+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq); - - f_E = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o - c8o1*ax*op + c4o1*by*op + c4o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - 16*axx*op*x + c4o1*bxy*op*x + c4o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c8o1*axy*op*y + c8o1*byy*op*y + c4o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(-c2o1*axz + byz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_W = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o - c8o1*ax*op + c4o1*by*op + c4o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - 16*axx*op*x + c4o1*bxy*op*x + c4o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c8o1*axy*op*y + c8o1*byy*op*y + c4o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(-c2o1*axz + byz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_N = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o + c4o1*ax*op - c8o1*by*op + c4o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c8o1*axx*op*x - c8o1*bxy*op*x + c4o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + c4o1*axy*op*y - 16*byy*op*y + c4o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(axz - c2o1*byz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_S = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o + c4o1*ax*op - c8o1*by*op + c4o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c8o1*axx*op*x - c8o1*bxy*op*x + c4o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + c4o1*axy*op*y - 16*byy*op*y + c4o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(axz - c2o1*byz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_T = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o + c4o1*ax*op + c4o1*by*op - c8o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c8o1*axx*op*x + c4o1*bxy*op*x - c8o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + c4o1*axy*op*y + c8o1*byy*op*y - c8o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(axz + byz - c4o1*czz)*op)*z)/(c54o1*o*op)); - f_B = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o + c4o1*ax*op + c4o1*by*op - c8o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c8o1*axx*op*x + c4o1*bxy*op*x - c8o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + c4o1*axy*op*y + c8o1*byy*op*y - c8o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(axz + byz - c4o1*czz)*op)*z)/(c54o1*o*op)); - f_NE = eps_new *(-(c5o1*cz*o + c3o1*(ay + bx)*op - c2o1*cz*op + ax*(c5o1*o + op) + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x + c3o1*axy*op*x + c6o1*bxx*op*x + bxy*op*x - c2o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y + c6o1*ayy*op*y + c3o1*bxy*op*y + c2o1*byy*op*y - c2o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz + c3o1*ayz + c3o1*bxz + byz - c4o1*czz)*op)*z)/(c54o1*o*op)); - f_SW = eps_new *(-(c5o1*cz*o + c3o1*(ay + bx)*op - c2o1*cz*op + ax*(c5o1*o + op) + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x + c3o1*axy*op*x + c6o1*bxx*op*x + bxy*op*x - c2o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y + c6o1*ayy*op*y + c3o1*bxy*op*y + c2o1*byy*op*y - c2o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz + c3o1*ayz + c3o1*bxz + byz - c4o1*czz)*op)*z)/(c54o1*o*op)); - f_SE = eps_new *(-(c5o1*cz*o - c3o1*(ay + bx)*op - c2o1*cz*op + ax*(c5o1*o + op) + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x - c3o1*axy*op*x - c6o1*bxx*op*x + bxy*op*x - c2o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y - c6o1*ayy*op*y - c3o1*bxy*op*y + c2o1*byy*op*y - c2o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz - c3o1*ayz - c3o1*bxz + byz - c4o1*czz)*op)*z)/(c54o1*o*op)); - f_NW = eps_new *(-(c5o1*cz*o - c3o1*(ay + bx)*op - c2o1*cz*op + ax*(c5o1*o + op) + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x - c3o1*axy*op*x - c6o1*bxx*op*x + bxy*op*x - c2o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y - c6o1*ayy*op*y - c3o1*bxy*op*y + c2o1*byy*op*y - c2o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz - c3o1*ayz - c3o1*bxz + byz - c4o1*czz)*op)*z)/(c54o1*o*op)); - f_TE = eps_new *(-(c5o1*cz*o + by*(c5o1*o - c2o1*op) + c3o1*(az + cx)*op + cz*op + ax*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x + c3o1*axz*op*x - c2o1*bxy*op*x + c6o1*cxx*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y + c3o1*ayz*op*y - c4o1*byy*op*y + c3o1*cxy*op*y + cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz + c6o1*azz - c2o1*byz + c3o1*cxz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_BW = eps_new *(-(c5o1*cz*o + by*(c5o1*o - c2o1*op) + c3o1*(az + cx)*op + cz*op + ax*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x + c3o1*axz*op*x - c2o1*bxy*op*x + c6o1*cxx*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y + c3o1*ayz*op*y - c4o1*byy*op*y + c3o1*cxy*op*y + cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz + c6o1*azz - c2o1*byz + c3o1*cxz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_BE = eps_new *(-(c5o1*cz*o + by*(c5o1*o - c2o1*op) - c3o1*(az + cx)*op + cz*op + ax*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x - c3o1*axz*op*x - c2o1*bxy*op*x - c6o1*cxx*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y - c3o1*ayz*op*y - c4o1*byy*op*y - c3o1*cxy*op*y + cyz*op*y + c5o1*axz*o*z + c5o1*byz*o*z + c10o1*czz*o*z + axz*op*z - c6o1*azz*op*z - c2o1*byz*op*z - c3o1*cxz*op*z + c2o1*czz*op*z)/(c54o1*o*op)); - f_TW = eps_new *(-(c5o1*cz*o + by*(c5o1*o - c2o1*op) - c3o1*(az + cx)*op + cz*op + ax*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x - c3o1*axz*op*x - c2o1*bxy*op*x - c6o1*cxx*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y - c3o1*ayz*op*y - c4o1*byy*op*y - c3o1*cxy*op*y + cyz*op*y + c5o1*axz*o*z + c5o1*byz*o*z + c10o1*czz*o*z + axz*op*z - c6o1*azz*op*z - c2o1*byz*op*z - c3o1*cxz*op*z + c2o1*czz*op*z)/(c54o1*o*op)); - f_TN = eps_new *(-(c5o1*ax*o + c5o1*by*o + c5o1*cz*o - c2o1*ax*op + by*op + c3o1*bz*op + c3o1*cy*op + cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - c4o1*axx*op*x + bxy*op*x + c3o1*bxz*op*x + c3o1*cxy*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c2o1*axy*op*y + c2o1*byy*op*y + c3o1*byz*op*y + c6o1*cyy*op*y + cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (-c2o1*axz + byz + c6o1*bzz + c3o1*cyz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_BS = eps_new *(-(c5o1*ax*o + c5o1*by*o + c5o1*cz*o - c2o1*ax*op + by*op + c3o1*bz*op + c3o1*cy*op + cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - c4o1*axx*op*x + bxy*op*x + c3o1*bxz*op*x + c3o1*cxy*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c2o1*axy*op*y + c2o1*byy*op*y + c3o1*byz*op*y + c6o1*cyy*op*y + cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (-c2o1*axz + byz + c6o1*bzz + c3o1*cyz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_BN = eps_new *(-(c5o1*cz*o + ax*(c5o1*o - c2o1*op) - c3o1*(bz + cy)*op + cz*op + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - c4o1*axx*op*x + bxy*op*x - c3o1*bxz*op*x - c3o1*cxy*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c2o1*axy*op*y + c2o1*byy*op*y - c3o1*byz*op*y - c6o1*cyy*op*y + cyz*op*y + c5o1*axz*o*z + c5o1*byz*o*z + c10o1*czz*o*z - c2o1*axz*op*z + byz*op*z - c6o1*bzz*op*z - c3o1*cyz*op*z + c2o1*czz*op*z)/(c54o1*o*op)); - f_TS = eps_new *(-(c5o1*cz*o + ax*(c5o1*o - c2o1*op) - c3o1*(bz + cy)*op + cz*op + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - c4o1*axx*op*x + bxy*op*x - c3o1*bxz*op*x - c3o1*cxy*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c2o1*axy*op*y + c2o1*byy*op*y - c3o1*byz*op*y - c6o1*cyy*op*y + cyz*op*y + c5o1*axz*o*z + c5o1*byz*o*z + c10o1*czz*o*z - c2o1*axz*op*z + byz*op*z - c6o1*bzz*op*z - c3o1*cyz*op*z + c2o1*czz*op*z)/(c54o1*o*op)); - f_ZERO = eps_new *((c5o1*(ax + by + cz + (c2o1*axx + bxy + cxz)*x + (axy + c2o1*byy + cyz)*y + (axz + byz + c2o1*czz)*z))/(c9o1*op)); - f_TNE = eps_new *(-(ay + az + bx + bz + cx + cy + axy*x + axz*x + c2o1*bxx*x + bxz*x + c2o1*cxx*x + cxy*x + (c2o1*ayy + ayz + bxy + byz)*y + cxy*y + c2o1*cyy*y + (ayz + c2o1*azz)*z + (bxz + c2o1*bzz + cxz + cyz)*z)/(c72o1*o)); - f_TSW = eps_new *((-ay + az - bx + bz + cx + cy - axy*x + axz*x - c2o1*bxx*x + bxz*x + c2o1*cxx*x + cxy*x - c2o1*ayy*y + ayz*y - bxy*y + byz*y + cxy*y + c2o1*cyy*y + (-ayz + c2o1*azz - bxz + c2o1*bzz + cxz + cyz)*z)/(c72o1*o)); - f_TSE = eps_new *((ay - az + bx + bz - cx + cy + axy*x - axz*x + c2o1*bxx*x + bxz*x - c2o1*cxx*x + cxy*x + c2o1*ayy*y - ayz*y + bxy*y + byz*y - cxy*y + c2o1*cyy*y + (ayz - c2o1*azz + bxz + c2o1*bzz - cxz + cyz)*z)/(c72o1*o)); - f_TNW = eps_new *((ay + az + bx - bz + cx - cy + axy*x + axz*x + c2o1*bxx*x - bxz*x + c2o1*cxx*x - cxy*x + c2o1*ayy*y + ayz*y + bxy*y - byz*y + cxy*y - c2o1*cyy*y + (ayz + c2o1*azz + bxz - c2o1*bzz + cxz - cyz)*z)/(c72o1*o)); - f_BNE = eps_new *((-ay + az - bx + bz + cx + cy - axy*x + axz*x - c2o1*bxx*x + bxz*x + c2o1*cxx*x + cxy*x - c2o1*ayy*y + ayz*y - bxy*y + byz*y + cxy*y + c2o1*cyy*y + (-ayz + c2o1*azz - bxz + c2o1*bzz + cxz + cyz)*z)/(c72o1*o)); - f_BSW = eps_new *(-(ay + az + bx + bz + cx + cy + axy*x + axz*x + c2o1*bxx*x + bxz*x + c2o1*cxx*x + cxy*x + (c2o1*ayy + ayz + bxy + byz)*y + cxy*y + c2o1*cyy*y + (ayz + c2o1*azz)*z + (bxz + c2o1*bzz + cxz + cyz)*z)/(c72o1*o)); - f_BSE = eps_new *((ay + az + bx - bz + cx - cy + axy*x + axz*x + c2o1*bxx*x - bxz*x + c2o1*cxx*x - cxy*x + c2o1*ayy*y + ayz*y + bxy*y - byz*y + cxy*y - c2o1*cyy*y + (ayz + c2o1*azz + bxz - c2o1*bzz + cxz - cyz)*z)/(c72o1*o)); - f_BNW = eps_new *((ay - az + bx + bz - cx + cy + axy*x - axz*x + c2o1*bxx*x + bxz*x - c2o1*cxx*x + cxy*x + c2o1*ayy*y - ayz*y + bxy*y + byz*y - cxy*y + c2o1*cyy*y + (ayz - c2o1*azz + bxz + c2o1*bzz - cxz + cyz)*z)/(c72o1*o)); - - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - feF[kzero] = f_E + feq_E; - fwF[kw] = f_W + feq_W; - fnF[kzero] = f_N + feq_N; - fsF[ks] = f_S + feq_S; - ftF[kzero] = f_T + feq_T; - fbF[kb] = f_B + feq_B; - fneF[kzero] = f_NE + feq_NE; - fswF[ksw] = f_SW + feq_SW; - fseF[ks] = f_SE + feq_SE; - fnwF[kw] = f_NW + feq_NW; - fteF[kzero] = f_TE + feq_TE; - fbwF[kbw] = f_BW + feq_BW; - fbeF[kb] = f_BE + feq_BE; - ftwF[kw] = f_TW + feq_TW; - ftnF[kzero] = f_TN + feq_TN; - fbsF[kbs] = f_BS + feq_BS; - fbnF[kb] = f_BN + feq_BN; - ftsF[ks] = f_TS + feq_TS; - fzeroF[kzero]= f_ZERO + feq_ZERO; - ftneF[kzero] = f_TNE + feq_TNE; - ftswF[ksw] = f_TSW + feq_TSW; - ftseF[ks] = f_TSE + feq_TSE; - ftnwF[kw] = f_TNW + feq_TNW; - fbneF[kb] = f_BNE + feq_BNE; - fbswF[kbsw] = f_BSW + feq_BSW; - fbseF[kbs] = f_BSE + feq_BSE; - fbnwF[kbw] = f_BNW + feq_BNW; - - //Position NET c1o4, c1o4, c1o4 - x = c1o4; - y = c1o4; - z = c1o4; - - drho = (drho_NEB*(c1o1 + c2o1*x + c2o1*y + c4o1*x*y - c2o1*z - c4o1*x*z - c4o1*y*z - c8o1*x*y*z) + - drho_SET*(c1o1 + c2o1*x - c2o1*y - c4o1*x*y + c2o1*z + c4o1*x*z - c4o1*y*z - c8o1*x*y*z) + - drho_NWT*(c1o1 - c2o1*x + c2o1*y - c4o1*x*y + c2o1*z - c4o1*x*z + c4o1*y*z - c8o1*x*y*z) + - drho_SWB*(c1o1 - c2o1*x - c2o1*y + c4o1*x*y - c2o1*z + c4o1*x*z + c4o1*y*z - c8o1*x*y*z) + - drho_SWT*(c1o1 - c2o1*x - c2o1*y + c4o1*x*y + c2o1*z - c4o1*x*z - c4o1*y*z + c8o1*x*y*z) + - drho_NWB*(c1o1 - c2o1*x + c2o1*y - c4o1*x*y - c2o1*z + c4o1*x*z - c4o1*y*z + c8o1*x*y*z) + - drho_SEB*(c1o1 + c2o1*x - c2o1*y - c4o1*x*y - c2o1*z - c4o1*x*z + c4o1*y*z + c8o1*x*y*z) + - drho_NET*(c1o1 + c2o1*x + c2o1*y + c4o1*x*y + c2o1*z + c4o1*x*z + c4o1*y*z + c8o1*x*y*z))/c8o1; - vx1 = a0 + ax*x + ay*y + az*z + axx*x*x + ayy*y*y + azz*z*z + axy*x*y + axz*x*z + ayz*y*z; - vx2 = b0 + bx*x + by*y + bz*z + bxx*x*x + byy*y*y + bzz*z*z + bxy*x*y + bxz*x*z + byz*y*z; - vx3 = c0 + cx*x + cy*y + cz*z + cxx*x*x + cyy*y*y + czz*z*z + cxy*x*y + cxz*x*z + cyz*y*z; - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - feq_ZERO = c8o27* (drho-cu_sq); - feq_E = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - feq_W = c2o27* (drho+c3o1*(-vx1 )+c9o2*(-vx1 )*(-vx1 )-cu_sq); - feq_N = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - feq_S = c2o27* (drho+c3o1*( -vx2 )+c9o2*( -vx2 )*( -vx2 )-cu_sq); - feq_T = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - feq_B = c2o27* (drho+c3o1*( -vx3)+c9o2*( -vx3)*( -vx3)-cu_sq); - feq_NE = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - feq_SW = c1o54* (drho+c3o1*(-vx1-vx2 )+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq); - feq_SE = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - feq_NW = c1o54* (drho+c3o1*(-vx1+vx2 )+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq); - feq_TE = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - feq_BW = c1o54* (drho+c3o1*(-vx1 -vx3)+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq); - feq_BE = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - feq_TW = c1o54* (drho+c3o1*(-vx1 +vx3)+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq); - feq_TN = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - feq_BS = c1o54* (drho+c3o1*( -vx2-vx3)+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq); - feq_BN = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - feq_TS = c1o54* (drho+c3o1*( -vx2+vx3)+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq); - feq_TNE = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - feq_BSW = c1o216*(drho+c3o1*(-vx1-vx2-vx3)+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq); - feq_BNE = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - feq_TSW = c1o216*(drho+c3o1*(-vx1-vx2+vx3)+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq); - feq_TSE = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - feq_BNW = c1o216*(drho+c3o1*(-vx1+vx2-vx3)+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq); - feq_BSE = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - feq_TNW = c1o216*(drho+c3o1*(-vx1+vx2+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq); - - f_E = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o - c8o1*ax*op + c4o1*by*op + c4o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - 16*axx*op*x + c4o1*bxy*op*x + c4o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c8o1*axy*op*y + c8o1*byy*op*y + c4o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(-c2o1*axz + byz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_W = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o - c8o1*ax*op + c4o1*by*op + c4o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - 16*axx*op*x + c4o1*bxy*op*x + c4o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c8o1*axy*op*y + c8o1*byy*op*y + c4o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(-c2o1*axz + byz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_N = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o + c4o1*ax*op - c8o1*by*op + c4o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c8o1*axx*op*x - c8o1*bxy*op*x + c4o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + c4o1*axy*op*y - 16*byy*op*y + c4o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(axz - c2o1*byz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_S = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o + c4o1*ax*op - c8o1*by*op + c4o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c8o1*axx*op*x - c8o1*bxy*op*x + c4o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + c4o1*axy*op*y - 16*byy*op*y + c4o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(axz - c2o1*byz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_T = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o + c4o1*ax*op + c4o1*by*op - c8o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c8o1*axx*op*x + c4o1*bxy*op*x - c8o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + c4o1*axy*op*y + c8o1*byy*op*y - c8o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(axz + byz - c4o1*czz)*op)*z)/(c54o1*o*op)); - f_B = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o + c4o1*ax*op + c4o1*by*op - c8o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c8o1*axx*op*x + c4o1*bxy*op*x - c8o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + c4o1*axy*op*y + c8o1*byy*op*y - c8o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(axz + byz - c4o1*czz)*op)*z)/(c54o1*o*op)); - f_NE = eps_new *(-(c5o1*cz*o + c3o1*(ay + bx)*op - c2o1*cz*op + ax*(c5o1*o + op) + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x + c3o1*axy*op*x + c6o1*bxx*op*x + bxy*op*x - c2o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y + c6o1*ayy*op*y + c3o1*bxy*op*y + c2o1*byy*op*y - c2o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz + c3o1*ayz + c3o1*bxz + byz - c4o1*czz)*op)*z)/(c54o1*o*op)); - f_SW = eps_new *(-(c5o1*cz*o + c3o1*(ay + bx)*op - c2o1*cz*op + ax*(c5o1*o + op) + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x + c3o1*axy*op*x + c6o1*bxx*op*x + bxy*op*x - c2o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y + c6o1*ayy*op*y + c3o1*bxy*op*y + c2o1*byy*op*y - c2o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz + c3o1*ayz + c3o1*bxz + byz - c4o1*czz)*op)*z)/(c54o1*o*op)); - f_SE = eps_new *(-(c5o1*cz*o - c3o1*(ay + bx)*op - c2o1*cz*op + ax*(c5o1*o + op) + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x - c3o1*axy*op*x - c6o1*bxx*op*x + bxy*op*x - c2o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y - c6o1*ayy*op*y - c3o1*bxy*op*y + c2o1*byy*op*y - c2o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz - c3o1*ayz - c3o1*bxz + byz - c4o1*czz)*op)*z)/(c54o1*o*op)); - f_NW = eps_new *(-(c5o1*cz*o - c3o1*(ay + bx)*op - c2o1*cz*op + ax*(c5o1*o + op) + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x - c3o1*axy*op*x - c6o1*bxx*op*x + bxy*op*x - c2o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y - c6o1*ayy*op*y - c3o1*bxy*op*y + c2o1*byy*op*y - c2o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz - c3o1*ayz - c3o1*bxz + byz - c4o1*czz)*op)*z)/(c54o1*o*op)); - f_TE = eps_new *(-(c5o1*cz*o + by*(c5o1*o - c2o1*op) + c3o1*(az + cx)*op + cz*op + ax*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x + c3o1*axz*op*x - c2o1*bxy*op*x + c6o1*cxx*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y + c3o1*ayz*op*y - c4o1*byy*op*y + c3o1*cxy*op*y + cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz + c6o1*azz - c2o1*byz + c3o1*cxz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_BW = eps_new *(-(c5o1*cz*o + by*(c5o1*o - c2o1*op) + c3o1*(az + cx)*op + cz*op + ax*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x + c3o1*axz*op*x - c2o1*bxy*op*x + c6o1*cxx*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y + c3o1*ayz*op*y - c4o1*byy*op*y + c3o1*cxy*op*y + cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz + c6o1*azz - c2o1*byz + c3o1*cxz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_BE = eps_new *(-(c5o1*cz*o + by*(c5o1*o - c2o1*op) - c3o1*(az + cx)*op + cz*op + ax*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x - c3o1*axz*op*x - c2o1*bxy*op*x - c6o1*cxx*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y - c3o1*ayz*op*y - c4o1*byy*op*y - c3o1*cxy*op*y + cyz*op*y + c5o1*axz*o*z + c5o1*byz*o*z + c10o1*czz*o*z + axz*op*z - c6o1*azz*op*z - c2o1*byz*op*z - c3o1*cxz*op*z + c2o1*czz*op*z)/(c54o1*o*op)); - f_TW = eps_new *(-(c5o1*cz*o + by*(c5o1*o - c2o1*op) - c3o1*(az + cx)*op + cz*op + ax*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x - c3o1*axz*op*x - c2o1*bxy*op*x - c6o1*cxx*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y - c3o1*ayz*op*y - c4o1*byy*op*y - c3o1*cxy*op*y + cyz*op*y + c5o1*axz*o*z + c5o1*byz*o*z + c10o1*czz*o*z + axz*op*z - c6o1*azz*op*z - c2o1*byz*op*z - c3o1*cxz*op*z + c2o1*czz*op*z)/(c54o1*o*op)); - f_TN = eps_new *(-(c5o1*ax*o + c5o1*by*o + c5o1*cz*o - c2o1*ax*op + by*op + c3o1*bz*op + c3o1*cy*op + cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - c4o1*axx*op*x + bxy*op*x + c3o1*bxz*op*x + c3o1*cxy*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c2o1*axy*op*y + c2o1*byy*op*y + c3o1*byz*op*y + c6o1*cyy*op*y + cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (-c2o1*axz + byz + c6o1*bzz + c3o1*cyz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_BS = eps_new *(-(c5o1*ax*o + c5o1*by*o + c5o1*cz*o - c2o1*ax*op + by*op + c3o1*bz*op + c3o1*cy*op + cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - c4o1*axx*op*x + bxy*op*x + c3o1*bxz*op*x + c3o1*cxy*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c2o1*axy*op*y + c2o1*byy*op*y + c3o1*byz*op*y + c6o1*cyy*op*y + cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (-c2o1*axz + byz + c6o1*bzz + c3o1*cyz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_BN = eps_new *(-(c5o1*cz*o + ax*(c5o1*o - c2o1*op) - c3o1*(bz + cy)*op + cz*op + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - c4o1*axx*op*x + bxy*op*x - c3o1*bxz*op*x - c3o1*cxy*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c2o1*axy*op*y + c2o1*byy*op*y - c3o1*byz*op*y - c6o1*cyy*op*y + cyz*op*y + c5o1*axz*o*z + c5o1*byz*o*z + c10o1*czz*o*z - c2o1*axz*op*z + byz*op*z - c6o1*bzz*op*z - c3o1*cyz*op*z + c2o1*czz*op*z)/(c54o1*o*op)); - f_TS = eps_new *(-(c5o1*cz*o + ax*(c5o1*o - c2o1*op) - c3o1*(bz + cy)*op + cz*op + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - c4o1*axx*op*x + bxy*op*x - c3o1*bxz*op*x - c3o1*cxy*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c2o1*axy*op*y + c2o1*byy*op*y - c3o1*byz*op*y - c6o1*cyy*op*y + cyz*op*y + c5o1*axz*o*z + c5o1*byz*o*z + c10o1*czz*o*z - c2o1*axz*op*z + byz*op*z - c6o1*bzz*op*z - c3o1*cyz*op*z + c2o1*czz*op*z)/(c54o1*o*op)); - f_ZERO = eps_new *((c5o1*(ax + by + cz + (c2o1*axx + bxy + cxz)*x + (axy + c2o1*byy + cyz)*y + (axz + byz + c2o1*czz)*z))/(c9o1*op)); - f_TNE = eps_new *(-(ay + az + bx + bz + cx + cy + axy*x + axz*x + c2o1*bxx*x + bxz*x + c2o1*cxx*x + cxy*x + (c2o1*ayy + ayz + bxy + byz)*y + cxy*y + c2o1*cyy*y + (ayz + c2o1*azz)*z + (bxz + c2o1*bzz + cxz + cyz)*z)/(c72o1*o)); - f_TSW = eps_new *((-ay + az - bx + bz + cx + cy - axy*x + axz*x - c2o1*bxx*x + bxz*x + c2o1*cxx*x + cxy*x - c2o1*ayy*y + ayz*y - bxy*y + byz*y + cxy*y + c2o1*cyy*y + (-ayz + c2o1*azz - bxz + c2o1*bzz + cxz + cyz)*z)/(c72o1*o)); - f_TSE = eps_new *((ay - az + bx + bz - cx + cy + axy*x - axz*x + c2o1*bxx*x + bxz*x - c2o1*cxx*x + cxy*x + c2o1*ayy*y - ayz*y + bxy*y + byz*y - cxy*y + c2o1*cyy*y + (ayz - c2o1*azz + bxz + c2o1*bzz - cxz + cyz)*z)/(c72o1*o)); - f_TNW = eps_new *((ay + az + bx - bz + cx - cy + axy*x + axz*x + c2o1*bxx*x - bxz*x + c2o1*cxx*x - cxy*x + c2o1*ayy*y + ayz*y + bxy*y - byz*y + cxy*y - c2o1*cyy*y + (ayz + c2o1*azz + bxz - c2o1*bzz + cxz - cyz)*z)/(c72o1*o)); - f_BNE = eps_new *((-ay + az - bx + bz + cx + cy - axy*x + axz*x - c2o1*bxx*x + bxz*x + c2o1*cxx*x + cxy*x - c2o1*ayy*y + ayz*y - bxy*y + byz*y + cxy*y + c2o1*cyy*y + (-ayz + c2o1*azz - bxz + c2o1*bzz + cxz + cyz)*z)/(c72o1*o)); - f_BSW = eps_new *(-(ay + az + bx + bz + cx + cy + axy*x + axz*x + c2o1*bxx*x + bxz*x + c2o1*cxx*x + cxy*x + (c2o1*ayy + ayz + bxy + byz)*y + cxy*y + c2o1*cyy*y + (ayz + c2o1*azz)*z + (bxz + c2o1*bzz + cxz + cyz)*z)/(c72o1*o)); - f_BSE = eps_new *((ay + az + bx - bz + cx - cy + axy*x + axz*x + c2o1*bxx*x - bxz*x + c2o1*cxx*x - cxy*x + c2o1*ayy*y + ayz*y + bxy*y - byz*y + cxy*y - c2o1*cyy*y + (ayz + c2o1*azz + bxz - c2o1*bzz + cxz - cyz)*z)/(c72o1*o)); - f_BNW = eps_new *((ay - az + bx + bz - cx + cy + axy*x - axz*x + c2o1*bxx*x + bxz*x - c2o1*cxx*x + cxy*x + c2o1*ayy*y - ayz*y + bxy*y + byz*y - cxy*y + c2o1*cyy*y + (ayz - c2o1*azz + bxz + c2o1*bzz - cxz + cyz)*z)/(c72o1*o)); - - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - feF[kzero] = f_E + feq_E; - fwF[kw] = f_W + feq_W; - fnF[kzero] = f_N + feq_N; - fsF[ks] = f_S + feq_S; - ftF[kzero] = f_T + feq_T; - fbF[kb] = f_B + feq_B; - fneF[kzero] = f_NE + feq_NE; - fswF[ksw] = f_SW + feq_SW; - fseF[ks] = f_SE + feq_SE; - fnwF[kw] = f_NW + feq_NW; - fteF[kzero] = f_TE + feq_TE; - fbwF[kbw] = f_BW + feq_BW; - fbeF[kb] = f_BE + feq_BE; - ftwF[kw] = f_TW + feq_TW; - ftnF[kzero] = f_TN + feq_TN; - fbsF[kbs] = f_BS + feq_BS; - fbnF[kb] = f_BN + feq_BN; - ftsF[ks] = f_TS + feq_TS; - fzeroF[kzero]= f_ZERO + feq_ZERO; - ftneF[kzero] = f_TNE + feq_TNE; - ftswF[ksw] = f_TSW + feq_TSW; - ftseF[ks] = f_TSE + feq_TSE; - ftnwF[kw] = f_TNW + feq_TNW; - fbneF[kb] = f_BNE + feq_BNE; - fbswF[kbsw] = f_BSW + feq_BSW; - fbseF[kbs] = f_BSE + feq_BSE; - fbnwF[kbw] = f_BNW + feq_BNW; - - - //Position NEB c1o4, c1o4, -c1o4 - x = c1o4; - y = c1o4; - z = -c1o4; - - drho = (drho_NEB*(c1o1 + c2o1*x + c2o1*y + c4o1*x*y - c2o1*z - c4o1*x*z - c4o1*y*z - c8o1*x*y*z) + - drho_SET*(c1o1 + c2o1*x - c2o1*y - c4o1*x*y + c2o1*z + c4o1*x*z - c4o1*y*z - c8o1*x*y*z) + - drho_NWT*(c1o1 - c2o1*x + c2o1*y - c4o1*x*y + c2o1*z - c4o1*x*z + c4o1*y*z - c8o1*x*y*z) + - drho_SWB*(c1o1 - c2o1*x - c2o1*y + c4o1*x*y - c2o1*z + c4o1*x*z + c4o1*y*z - c8o1*x*y*z) + - drho_SWT*(c1o1 - c2o1*x - c2o1*y + c4o1*x*y + c2o1*z - c4o1*x*z - c4o1*y*z + c8o1*x*y*z) + - drho_NWB*(c1o1 - c2o1*x + c2o1*y - c4o1*x*y - c2o1*z + c4o1*x*z - c4o1*y*z + c8o1*x*y*z) + - drho_SEB*(c1o1 + c2o1*x - c2o1*y - c4o1*x*y - c2o1*z - c4o1*x*z + c4o1*y*z + c8o1*x*y*z) + - drho_NET*(c1o1 + c2o1*x + c2o1*y + c4o1*x*y + c2o1*z + c4o1*x*z + c4o1*y*z + c8o1*x*y*z))/c8o1; - vx1 = a0 + ax*x + ay*y + az*z + axx*x*x + ayy*y*y + azz*z*z + axy*x*y + axz*x*z + ayz*y*z; - vx2 = b0 + bx*x + by*y + bz*z + bxx*x*x + byy*y*y + bzz*z*z + bxy*x*y + bxz*x*z + byz*y*z; - vx3 = c0 + cx*x + cy*y + cz*z + cxx*x*x + cyy*y*y + czz*z*z + cxy*x*y + cxz*x*z + cyz*y*z; - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - feq_ZERO = c8o27* (drho-cu_sq); - feq_E = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - feq_W = c2o27* (drho+c3o1*(-vx1 )+c9o2*(-vx1 )*(-vx1 )-cu_sq); - feq_N = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - feq_S = c2o27* (drho+c3o1*( -vx2 )+c9o2*( -vx2 )*( -vx2 )-cu_sq); - feq_T = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - feq_B = c2o27* (drho+c3o1*( -vx3)+c9o2*( -vx3)*( -vx3)-cu_sq); - feq_NE = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - feq_SW = c1o54* (drho+c3o1*(-vx1-vx2 )+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq); - feq_SE = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - feq_NW = c1o54* (drho+c3o1*(-vx1+vx2 )+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq); - feq_TE = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - feq_BW = c1o54* (drho+c3o1*(-vx1 -vx3)+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq); - feq_BE = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - feq_TW = c1o54* (drho+c3o1*(-vx1 +vx3)+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq); - feq_TN = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - feq_BS = c1o54* (drho+c3o1*( -vx2-vx3)+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq); - feq_BN = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - feq_TS = c1o54* (drho+c3o1*( -vx2+vx3)+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq); - feq_TNE = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - feq_BSW = c1o216*(drho+c3o1*(-vx1-vx2-vx3)+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq); - feq_BNE = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - feq_TSW = c1o216*(drho+c3o1*(-vx1-vx2+vx3)+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq); - feq_TSE = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - feq_BNW = c1o216*(drho+c3o1*(-vx1+vx2-vx3)+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq); - feq_BSE = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - feq_TNW = c1o216*(drho+c3o1*(-vx1+vx2+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq); - - f_E = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o - c8o1*ax*op + c4o1*by*op + c4o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - 16*axx*op*x + c4o1*bxy*op*x + c4o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c8o1*axy*op*y + c8o1*byy*op*y + c4o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(-c2o1*axz + byz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_W = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o - c8o1*ax*op + c4o1*by*op + c4o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - 16*axx*op*x + c4o1*bxy*op*x + c4o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c8o1*axy*op*y + c8o1*byy*op*y + c4o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(-c2o1*axz + byz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_N = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o + c4o1*ax*op - c8o1*by*op + c4o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c8o1*axx*op*x - c8o1*bxy*op*x + c4o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + c4o1*axy*op*y - 16*byy*op*y + c4o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(axz - c2o1*byz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_S = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o + c4o1*ax*op - c8o1*by*op + c4o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c8o1*axx*op*x - c8o1*bxy*op*x + c4o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + c4o1*axy*op*y - 16*byy*op*y + c4o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(axz - c2o1*byz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_T = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o + c4o1*ax*op + c4o1*by*op - c8o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c8o1*axx*op*x + c4o1*bxy*op*x - c8o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + c4o1*axy*op*y + c8o1*byy*op*y - c8o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(axz + byz - c4o1*czz)*op)*z)/(c54o1*o*op)); - f_B = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o + c4o1*ax*op + c4o1*by*op - c8o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c8o1*axx*op*x + c4o1*bxy*op*x - c8o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + c4o1*axy*op*y + c8o1*byy*op*y - c8o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(axz + byz - c4o1*czz)*op)*z)/(c54o1*o*op)); - f_NE = eps_new *(-(c5o1*cz*o + c3o1*(ay + bx)*op - c2o1*cz*op + ax*(c5o1*o + op) + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x + c3o1*axy*op*x + c6o1*bxx*op*x + bxy*op*x - c2o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y + c6o1*ayy*op*y + c3o1*bxy*op*y + c2o1*byy*op*y - c2o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz + c3o1*ayz + c3o1*bxz + byz - c4o1*czz)*op)*z)/(c54o1*o*op)); - f_SW = eps_new *(-(c5o1*cz*o + c3o1*(ay + bx)*op - c2o1*cz*op + ax*(c5o1*o + op) + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x + c3o1*axy*op*x + c6o1*bxx*op*x + bxy*op*x - c2o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y + c6o1*ayy*op*y + c3o1*bxy*op*y + c2o1*byy*op*y - c2o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz + c3o1*ayz + c3o1*bxz + byz - c4o1*czz)*op)*z)/(c54o1*o*op)); - f_SE = eps_new *(-(c5o1*cz*o - c3o1*(ay + bx)*op - c2o1*cz*op + ax*(c5o1*o + op) + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x - c3o1*axy*op*x - c6o1*bxx*op*x + bxy*op*x - c2o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y - c6o1*ayy*op*y - c3o1*bxy*op*y + c2o1*byy*op*y - c2o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz - c3o1*ayz - c3o1*bxz + byz - c4o1*czz)*op)*z)/(c54o1*o*op)); - f_NW = eps_new *(-(c5o1*cz*o - c3o1*(ay + bx)*op - c2o1*cz*op + ax*(c5o1*o + op) + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x - c3o1*axy*op*x - c6o1*bxx*op*x + bxy*op*x - c2o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y - c6o1*ayy*op*y - c3o1*bxy*op*y + c2o1*byy*op*y - c2o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz - c3o1*ayz - c3o1*bxz + byz - c4o1*czz)*op)*z)/(c54o1*o*op)); - f_TE = eps_new *(-(c5o1*cz*o + by*(c5o1*o - c2o1*op) + c3o1*(az + cx)*op + cz*op + ax*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x + c3o1*axz*op*x - c2o1*bxy*op*x + c6o1*cxx*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y + c3o1*ayz*op*y - c4o1*byy*op*y + c3o1*cxy*op*y + cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz + c6o1*azz - c2o1*byz + c3o1*cxz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_BW = eps_new *(-(c5o1*cz*o + by*(c5o1*o - c2o1*op) + c3o1*(az + cx)*op + cz*op + ax*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x + c3o1*axz*op*x - c2o1*bxy*op*x + c6o1*cxx*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y + c3o1*ayz*op*y - c4o1*byy*op*y + c3o1*cxy*op*y + cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz + c6o1*azz - c2o1*byz + c3o1*cxz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_BE = eps_new *(-(c5o1*cz*o + by*(c5o1*o - c2o1*op) - c3o1*(az + cx)*op + cz*op + ax*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x - c3o1*axz*op*x - c2o1*bxy*op*x - c6o1*cxx*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y - c3o1*ayz*op*y - c4o1*byy*op*y - c3o1*cxy*op*y + cyz*op*y + c5o1*axz*o*z + c5o1*byz*o*z + c10o1*czz*o*z + axz*op*z - c6o1*azz*op*z - c2o1*byz*op*z - c3o1*cxz*op*z + c2o1*czz*op*z)/(c54o1*o*op)); - f_TW = eps_new *(-(c5o1*cz*o + by*(c5o1*o - c2o1*op) - c3o1*(az + cx)*op + cz*op + ax*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x - c3o1*axz*op*x - c2o1*bxy*op*x - c6o1*cxx*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y - c3o1*ayz*op*y - c4o1*byy*op*y - c3o1*cxy*op*y + cyz*op*y + c5o1*axz*o*z + c5o1*byz*o*z + c10o1*czz*o*z + axz*op*z - c6o1*azz*op*z - c2o1*byz*op*z - c3o1*cxz*op*z + c2o1*czz*op*z)/(c54o1*o*op)); - f_TN = eps_new *(-(c5o1*ax*o + c5o1*by*o + c5o1*cz*o - c2o1*ax*op + by*op + c3o1*bz*op + c3o1*cy*op + cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - c4o1*axx*op*x + bxy*op*x + c3o1*bxz*op*x + c3o1*cxy*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c2o1*axy*op*y + c2o1*byy*op*y + c3o1*byz*op*y + c6o1*cyy*op*y + cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (-c2o1*axz + byz + c6o1*bzz + c3o1*cyz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_BS = eps_new *(-(c5o1*ax*o + c5o1*by*o + c5o1*cz*o - c2o1*ax*op + by*op + c3o1*bz*op + c3o1*cy*op + cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - c4o1*axx*op*x + bxy*op*x + c3o1*bxz*op*x + c3o1*cxy*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c2o1*axy*op*y + c2o1*byy*op*y + c3o1*byz*op*y + c6o1*cyy*op*y + cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (-c2o1*axz + byz + c6o1*bzz + c3o1*cyz + c2o1*czz)*op)*z)/(c54o1*o*op)); - f_BN = eps_new *(-(c5o1*cz*o + ax*(c5o1*o - c2o1*op) - c3o1*(bz + cy)*op + cz*op + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - c4o1*axx*op*x + bxy*op*x - c3o1*bxz*op*x - c3o1*cxy*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c2o1*axy*op*y + c2o1*byy*op*y - c3o1*byz*op*y - c6o1*cyy*op*y + cyz*op*y + c5o1*axz*o*z + c5o1*byz*o*z + c10o1*czz*o*z - c2o1*axz*op*z + byz*op*z - c6o1*bzz*op*z - c3o1*cyz*op*z + c2o1*czz*op*z)/(c54o1*o*op)); - f_TS = eps_new *(-(c5o1*cz*o + ax*(c5o1*o - c2o1*op) - c3o1*(bz + cy)*op + cz*op + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - c4o1*axx*op*x + bxy*op*x - c3o1*bxz*op*x - c3o1*cxy*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c2o1*axy*op*y + c2o1*byy*op*y - c3o1*byz*op*y - c6o1*cyy*op*y + cyz*op*y + c5o1*axz*o*z + c5o1*byz*o*z + c10o1*czz*o*z - c2o1*axz*op*z + byz*op*z - c6o1*bzz*op*z - c3o1*cyz*op*z + c2o1*czz*op*z)/(c54o1*o*op)); - f_ZERO = eps_new *((c5o1*(ax + by + cz + (c2o1*axx + bxy + cxz)*x + (axy + c2o1*byy + cyz)*y + (axz + byz + c2o1*czz)*z))/(c9o1*op)); - f_TNE = eps_new *(-(ay + az + bx + bz + cx + cy + axy*x + axz*x + c2o1*bxx*x + bxz*x + c2o1*cxx*x + cxy*x + (c2o1*ayy + ayz + bxy + byz)*y + cxy*y + c2o1*cyy*y + (ayz + c2o1*azz)*z + (bxz + c2o1*bzz + cxz + cyz)*z)/(c72o1*o)); - f_TSW = eps_new *((-ay + az - bx + bz + cx + cy - axy*x + axz*x - c2o1*bxx*x + bxz*x + c2o1*cxx*x + cxy*x - c2o1*ayy*y + ayz*y - bxy*y + byz*y + cxy*y + c2o1*cyy*y + (-ayz + c2o1*azz - bxz + c2o1*bzz + cxz + cyz)*z)/(c72o1*o)); - f_TSE = eps_new *((ay - az + bx + bz - cx + cy + axy*x - axz*x + c2o1*bxx*x + bxz*x - c2o1*cxx*x + cxy*x + c2o1*ayy*y - ayz*y + bxy*y + byz*y - cxy*y + c2o1*cyy*y + (ayz - c2o1*azz + bxz + c2o1*bzz - cxz + cyz)*z)/(c72o1*o)); - f_TNW = eps_new *((ay + az + bx - bz + cx - cy + axy*x + axz*x + c2o1*bxx*x - bxz*x + c2o1*cxx*x - cxy*x + c2o1*ayy*y + ayz*y + bxy*y - byz*y + cxy*y - c2o1*cyy*y + (ayz + c2o1*azz + bxz - c2o1*bzz + cxz - cyz)*z)/(c72o1*o)); - f_BNE = eps_new *((-ay + az - bx + bz + cx + cy - axy*x + axz*x - c2o1*bxx*x + bxz*x + c2o1*cxx*x + cxy*x - c2o1*ayy*y + ayz*y - bxy*y + byz*y + cxy*y + c2o1*cyy*y + (-ayz + c2o1*azz - bxz + c2o1*bzz + cxz + cyz)*z)/(c72o1*o)); - f_BSW = eps_new *(-(ay + az + bx + bz + cx + cy + axy*x + axz*x + c2o1*bxx*x + bxz*x + c2o1*cxx*x + cxy*x + (c2o1*ayy + ayz + bxy + byz)*y + cxy*y + c2o1*cyy*y + (ayz + c2o1*azz)*z + (bxz + c2o1*bzz + cxz + cyz)*z)/(c72o1*o)); - f_BSE = eps_new *((ay + az + bx - bz + cx - cy + axy*x + axz*x + c2o1*bxx*x - bxz*x + c2o1*cxx*x - cxy*x + c2o1*ayy*y + ayz*y + bxy*y - byz*y + cxy*y - c2o1*cyy*y + (ayz + c2o1*azz + bxz - c2o1*bzz + cxz - cyz)*z)/(c72o1*o)); - f_BNW = eps_new *((ay - az + bx + bz - cx + cy + axy*x - axz*x + c2o1*bxx*x + bxz*x - c2o1*cxx*x + cxy*x + c2o1*ayy*y - ayz*y + bxy*y + byz*y - cxy*y + c2o1*cyy*y + (ayz - c2o1*azz + bxz + c2o1*bzz - cxz + cyz)*z)/(c72o1*o)); - - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - feF[kzero] = f_E + feq_E; - fwF[kw] = f_W + feq_W; - fnF[kzero] = f_N + feq_N; - fsF[ks] = f_S + feq_S; - ftF[kzero] = f_T + feq_T; - fbF[kb] = f_B + feq_B; - fneF[kzero] = f_NE + feq_NE; - fswF[ksw] = f_SW + feq_SW; - fseF[ks] = f_SE + feq_SE; - fnwF[kw] = f_NW + feq_NW; - fteF[kzero] = f_TE + feq_TE; - fbwF[kbw] = f_BW + feq_BW; - fbeF[kb] = f_BE + feq_BE; - ftwF[kw] = f_TW + feq_TW; - ftnF[kzero] = f_TN + feq_TN; - fbsF[kbs] = f_BS + feq_BS; - fbnF[kb] = f_BN + feq_BN; - ftsF[ks] = f_TS + feq_TS; - fzeroF[kzero]= f_ZERO + feq_ZERO; - ftneF[kzero] = f_TNE + feq_TNE; - ftswF[ksw] = f_TSW + feq_TSW; - ftseF[ks] = f_TSE + feq_TSE; - ftnwF[kw] = f_TNW + feq_TNW; - fbneF[kb] = f_BNE + feq_BNE; - fbswF[kbsw] = f_BSW + feq_BSW; - fbseF[kbs] = f_BSE + feq_BSE; - fbnwF[kbw] = f_BNW + feq_BNW; - } -} diff --git a/src/gpu/core/GridScaling/ScaleCF_F3_27.cu b/src/gpu/core/GridScaling/ScaleCF_F3_27.cu deleted file mode 100644 index 123a2f30bca762096c130e90a86196439778a7a9..0000000000000000000000000000000000000000 --- a/src/gpu/core/GridScaling/ScaleCF_F3_27.cu +++ /dev/null @@ -1,8634 +0,0 @@ -// _ ___ __ __________ _ __ ______________ __ -// | | / (_)____/ /___ ______ _/ / ____/ /_ __(_)___/ /____ / ___/ __ / / / / -// | | / / / ___/ __/ / / / __ `/ / /_ / / / / / / __ / ___/ / /___/ /_/ / / / / -// | |/ / / / / /_/ /_/ / /_/ / / __/ / / /_/ / / /_/ (__ ) / /_) / ____/ /__/ / -// |___/_/_/ \__/\__,_/\__,_/_/_/ /_/\__,_/_/\__,_/____/ \____/_/ \_____/ -// -////////////////////////////////////////////////////////////////////////// -/* Device code */ -#include "Calculation/Calculation.h" -#include "lbm/constants/D3Q27.h" -#include <basics/constants/NumericConstants.h> - -using namespace vf::basics::constant; -using namespace vf::lbm::dir; - -////////////////////////////////////////////////////////////////////////// -__global__ void scaleCF_comp_D3Q27F3_2018(real* DC, - real* DF, - real* G6, - unsigned int* neighborCX, - unsigned int* neighborCY, - unsigned int* neighborCZ, - unsigned int* neighborFX, - unsigned int* neighborFY, - unsigned int* neighborFZ, - unsigned long long numberOfLBnodesCoarse, - unsigned long long numberOfLBnodesFine, - bool isEvenTimestep, - unsigned int* posCSWB, - unsigned int* posFSWB, - unsigned int kCF, - real omCoarse, - real omFine, - real nu, - unsigned int nxC, - unsigned int nyC, - unsigned int nxF, - unsigned int nyF, - ICellNeigh offCF) -{ - real - *fP00dest, *fM00dest, *f0P0dest, *f0M0dest, *f00Pdest, *f00Mdest, *fPP0dest, *fMM0dest, *fPM0dest, - *fMP0dest, *fP0Pdest, *fM0Mdest, *fP0Mdest, *fM0Pdest, *f0PPdest, *f0MMdest, *f0PMdest, *f0MPdest, - *f000dest, *fMMMdest, *fMMPdest, *fMPPdest, *fMPMdest, *fPPMdest, *fPPPdest, *fPMPdest, *fPMMdest; - - - fP00dest = &DF[dP00 * numberOfLBnodesFine]; - fM00dest = &DF[dM00 * numberOfLBnodesFine]; - f0P0dest = &DF[d0P0 * numberOfLBnodesFine]; - f0M0dest = &DF[d0M0 * numberOfLBnodesFine]; - f00Pdest = &DF[d00P * numberOfLBnodesFine]; - f00Mdest = &DF[d00M * numberOfLBnodesFine]; - fPP0dest = &DF[dPP0 * numberOfLBnodesFine]; - fMM0dest = &DF[dMM0 * numberOfLBnodesFine]; - fPM0dest = &DF[dPM0 * numberOfLBnodesFine]; - fMP0dest = &DF[dMP0 * numberOfLBnodesFine]; - fP0Pdest = &DF[dP0P * numberOfLBnodesFine]; - fM0Mdest = &DF[dM0M * numberOfLBnodesFine]; - fP0Mdest = &DF[dP0M * numberOfLBnodesFine]; - fM0Pdest = &DF[dM0P * numberOfLBnodesFine]; - f0PPdest = &DF[d0PP * numberOfLBnodesFine]; - f0MMdest = &DF[d0MM * numberOfLBnodesFine]; - f0PMdest = &DF[d0PM * numberOfLBnodesFine]; - f0MPdest = &DF[d0MP * numberOfLBnodesFine]; - f000dest = &DF[d000 * numberOfLBnodesFine]; - fMMMdest = &DF[dMMM * numberOfLBnodesFine]; - fMMPdest = &DF[dMMP * numberOfLBnodesFine]; - fMPPdest = &DF[dMPP * numberOfLBnodesFine]; - fMPMdest = &DF[dMPM * numberOfLBnodesFine]; - fPPMdest = &DF[dPPM * numberOfLBnodesFine]; - fPPPdest = &DF[dPPP * numberOfLBnodesFine]; - fPMPdest = &DF[dPMP * numberOfLBnodesFine]; - fPMMdest = &DF[dPMM * numberOfLBnodesFine]; - - real - *fP00source, *fM00source, *f0P0source, *f0M0source, *f00Psource, *f00Msource, *fPP0source, *fMM0source, *fPM0source, - *fMP0source, *fP0Psource, *fM0Msource, *fP0Msource, *fM0Psource, *f0PPsource, *f0MMsource, *f0PMsource, *f0MPsource, - *f000source, *fMMMsource, *fMMPsource, *fMPPsource, *fMPMsource, *fPPMsource, *fPPPsource, *fPMPsource, *fPMMsource; - - if (isEvenTimestep == true) - { - fP00source = &DC[dP00 * numberOfLBnodesCoarse]; - fM00source = &DC[dM00 * numberOfLBnodesCoarse]; - f0P0source = &DC[d0P0 * numberOfLBnodesCoarse]; - f0M0source = &DC[d0M0 * numberOfLBnodesCoarse]; - f00Psource = &DC[d00P * numberOfLBnodesCoarse]; - f00Msource = &DC[d00M * numberOfLBnodesCoarse]; - fPP0source = &DC[dPP0 * numberOfLBnodesCoarse]; - fMM0source = &DC[dMM0 * numberOfLBnodesCoarse]; - fPM0source = &DC[dPM0 * numberOfLBnodesCoarse]; - fMP0source = &DC[dMP0 * numberOfLBnodesCoarse]; - fP0Psource = &DC[dP0P * numberOfLBnodesCoarse]; - fM0Msource = &DC[dM0M * numberOfLBnodesCoarse]; - fP0Msource = &DC[dP0M * numberOfLBnodesCoarse]; - fM0Psource = &DC[dM0P * numberOfLBnodesCoarse]; - f0PPsource = &DC[d0PP * numberOfLBnodesCoarse]; - f0MMsource = &DC[d0MM * numberOfLBnodesCoarse]; - f0PMsource = &DC[d0PM * numberOfLBnodesCoarse]; - f0MPsource = &DC[d0MP * numberOfLBnodesCoarse]; - f000source = &DC[d000 * numberOfLBnodesCoarse]; - fMMMsource = &DC[dMMM * numberOfLBnodesCoarse]; - fMMPsource = &DC[dMMP * numberOfLBnodesCoarse]; - fMPPsource = &DC[dMPP * numberOfLBnodesCoarse]; - fMPMsource = &DC[dMPM * numberOfLBnodesCoarse]; - fPPMsource = &DC[dPPM * numberOfLBnodesCoarse]; - fPPPsource = &DC[dPPP * numberOfLBnodesCoarse]; - fPMPsource = &DC[dPMP * numberOfLBnodesCoarse]; - fPMMsource = &DC[dPMM * numberOfLBnodesCoarse]; - } - else - { - fP00source = &DC[dM00 * numberOfLBnodesCoarse]; - fM00source = &DC[dP00 * numberOfLBnodesCoarse]; - f0P0source = &DC[d0M0 * numberOfLBnodesCoarse]; - f0M0source = &DC[d0P0 * numberOfLBnodesCoarse]; - f00Psource = &DC[d00M * numberOfLBnodesCoarse]; - f00Msource = &DC[d00P * numberOfLBnodesCoarse]; - fPP0source = &DC[dMM0 * numberOfLBnodesCoarse]; - fMM0source = &DC[dPP0 * numberOfLBnodesCoarse]; - fPM0source = &DC[dMP0 * numberOfLBnodesCoarse]; - fMP0source = &DC[dPM0 * numberOfLBnodesCoarse]; - fP0Psource = &DC[dM0M * numberOfLBnodesCoarse]; - fM0Msource = &DC[dP0P * numberOfLBnodesCoarse]; - fP0Msource = &DC[dM0P * numberOfLBnodesCoarse]; - fM0Psource = &DC[dP0M * numberOfLBnodesCoarse]; - f0PPsource = &DC[d0MM * numberOfLBnodesCoarse]; - f0MMsource = &DC[d0PP * numberOfLBnodesCoarse]; - f0PMsource = &DC[d0MP * numberOfLBnodesCoarse]; - f0MPsource = &DC[d0PM * numberOfLBnodesCoarse]; - f000source = &DC[d000 * numberOfLBnodesCoarse]; - fMMMsource = &DC[dPPP * numberOfLBnodesCoarse]; - fMMPsource = &DC[dPPM * numberOfLBnodesCoarse]; - fMPPsource = &DC[dPMM * numberOfLBnodesCoarse]; - fMPMsource = &DC[dPMP * numberOfLBnodesCoarse]; - fPPMsource = &DC[dMMP * numberOfLBnodesCoarse]; - fPPPsource = &DC[dMMM * numberOfLBnodesCoarse]; - fPMPsource = &DC[dMPM * numberOfLBnodesCoarse]; - fPMMsource = &DC[dMPP * numberOfLBnodesCoarse]; - } - - Distributions6 G; - G.g[dP00] = &G6[dP00 * numberOfLBnodesFine]; - G.g[dM00] = &G6[dM00 * numberOfLBnodesFine]; - G.g[d0P0] = &G6[d0P0 * numberOfLBnodesFine]; - G.g[d0M0] = &G6[d0M0 * numberOfLBnodesFine]; - G.g[d00P] = &G6[d00P * numberOfLBnodesFine]; - G.g[d00M] = &G6[d00M * numberOfLBnodesFine]; - - //////////////////////////////////////////////////////////////////////////////// - const unsigned ix = threadIdx.x; // Globaler x-Index - const unsigned iy = blockIdx.x; // Globaler y-Index - const unsigned iz = blockIdx.y; // Globaler z-Index - - const unsigned nx = blockDim.x; - const unsigned ny = gridDim.x; - - const unsigned k = nx*(ny*iz + iy) + ix; - ////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////// - real eps_new = c1o2; - real omegaS = omCoarse;//-omCoarse; - real o = omFine;//-omFine; - real oP = o;//:( - //real op = one; - //real cu_sq; - - real xoff, yoff, zoff; - real xoff_sq, yoff_sq, zoff_sq; - - // real drho; - real vvx, vvy, vvz, vx2, vy2, vz2; - real press;//,drho,vx1,vx2,vx3; - real /*pressMMP,*/drhoMMP,vx1MMP,vx2MMP,vx3MMP; - real /*pressMPP,*/drhoMPP,vx1MPP,vx2MPP,vx3MPP; - real /*pressPPP,*/drhoPPP,vx1PPP,vx2PPP,vx3PPP; - real /*pressPMP,*/drhoPMP,vx1PMP,vx2PMP,vx3PMP; - real /*pressMMM,*/drhoMMM,vx1MMM,vx2MMM,vx3MMM; - real /*pressMPM,*/drhoMPM,vx1MPM,vx2MPM,vx3MPM; - real /*pressPPM,*/drhoPPM,vx1PPM,vx2PPM,vx3PPM; - real /*pressPMM,*/drhoPMM,vx1PMM,vx2PMM,vx3PMM; - real fP00,fM00,f0P0,f0M0,f00P,f00M,fPP0,fMM0,fPM0,fMP0,fP0P,fM0M,fP0M,fM0P,f0PP,f0MM,f0PM,f0MP,f000,fPPP, fMMP, fPMP, fMPP, fPPM, fMMM, fPMM, fMPM; - //real feqP00,feqM00,feq0P0,feq0M0,feq00P,feq00M,feqPP0,feqMM0,feqPM0,feqMP0,feqP0P,feqM0M,feqP0M,feqM0P,feq0PP,feq0MM,feq0PM,feq0MP,feq000,feqPPP, feqMMP, feqPMP, feqMPP, feqPPM, feqMMM, feqPMM, feqMPM; - real kxyFromfcNEQMMP, kyzFromfcNEQMMP, kxzFromfcNEQMMP, kxxMyyFromfcNEQMMP, kxxMzzFromfcNEQMMP, kyyMzzFromfcNEQMMP; - real kxyFromfcNEQMPP, kyzFromfcNEQMPP, kxzFromfcNEQMPP, kxxMyyFromfcNEQMPP, kxxMzzFromfcNEQMPP, kyyMzzFromfcNEQMPP; - real kxyFromfcNEQPPP, kyzFromfcNEQPPP, kxzFromfcNEQPPP, kxxMyyFromfcNEQPPP, kxxMzzFromfcNEQPPP, kyyMzzFromfcNEQPPP; - real kxyFromfcNEQPMP, kyzFromfcNEQPMP, kxzFromfcNEQPMP, kxxMyyFromfcNEQPMP, kxxMzzFromfcNEQPMP, kyyMzzFromfcNEQPMP; - real kxyFromfcNEQMMM, kyzFromfcNEQMMM, kxzFromfcNEQMMM, kxxMyyFromfcNEQMMM, kxxMzzFromfcNEQMMM, kyyMzzFromfcNEQMMM; - real kxyFromfcNEQMPM, kyzFromfcNEQMPM, kxzFromfcNEQMPM, kxxMyyFromfcNEQMPM, kxxMzzFromfcNEQMPM, kyyMzzFromfcNEQMPM; - real kxyFromfcNEQPPM, kyzFromfcNEQPPM, kxzFromfcNEQPPM, kxxMyyFromfcNEQPPM, kxxMzzFromfcNEQPPM, kyyMzzFromfcNEQPPM; - real kxyFromfcNEQPMM, kyzFromfcNEQPMM, kxzFromfcNEQPMM, kxxMyyFromfcNEQPMM, kxxMzzFromfcNEQPMM, kyyMzzFromfcNEQPMM; - real a0, ax, ay, az, axx, ayy, azz, axy, axz, ayz, b0, bx, by, bz, bxx, byy, bzz, bxy, bxz, byz, c0, cx, cy, cz, cxx, cyy, czz, cxy, cxz, cyz, axyz, bxyz, cxyz; - real d0, dx, dy, dz, dxy, dxz, dyz, dxyz; - - real x,y,z; - - - if(k<kCF) - { - ////////////////////////////////////////////////////////////////////////// - xoff = offCF.x[k]; - yoff = offCF.y[k]; - zoff = offCF.z[k]; - xoff_sq = xoff * xoff; - yoff_sq = yoff * yoff; - zoff_sq = zoff * zoff; - ////////////////////////////////////////////////////////////////////////// - //SWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - unsigned int k000base = posCSWB[k]; - unsigned int kM00base = neighborCX[k000base]; - unsigned int k0M0base = neighborCY[k000base]; - unsigned int k00Mbase = neighborCZ[k000base]; - unsigned int kMM0base = neighborCY[kM00base]; - unsigned int kM0Mbase = neighborCZ[kM00base]; - unsigned int k0MMbase = neighborCZ[k0M0base]; - unsigned int kMMMbase = neighborCZ[kMM0base]; - ////////////////////////////////////////////////////////////////////////// - //index - unsigned int k000 = k000base; - unsigned int kM00 = kM00base; - unsigned int k0M0 = k0M0base; - unsigned int k00M = k00Mbase; - unsigned int kMM0 = kMM0base; - unsigned int kM0M = kM0Mbase; - unsigned int k0MM = k0MMbase; - unsigned int kMMM = kMMMbase; - //////////////////////////////////////////////////////////////////////////////// - fP00 = fP00source[k000]; - fM00 = fM00source[kM00]; - f0P0 = f0P0source[k000]; - f0M0 = f0M0source[k0M0]; - f00P = f00Psource[k000]; - f00M = f00Msource[k00M]; - fPP0 = fPP0source[k000]; - fMM0 = fMM0source[kMM0]; - fPM0 = fPM0source[k0M0]; - fMP0 = fMP0source[kM00]; - fP0P = fP0Psource[k000]; - fM0M = fM0Msource[kM0M]; - fP0M = fP0Msource[k00M]; - fM0P = fM0Psource[kM00]; - f0PP = f0PPsource[k000]; - f0MM = f0MMsource[k0MM]; - f0PM = f0PMsource[k00M]; - f0MP = f0MPsource[k0M0]; - f000 = f000source[k000]; - fMMM = fMMMsource[kMMM]; - fMMP = fMMPsource[kMM0]; - fMPP = fMPPsource[kM00]; - fMPM = fMPMsource[kM0M]; - fPPM = fPPMsource[k00M]; - fPPP = fPPPsource[k000]; - fPMP = fPMPsource[k0M0]; - fPMM = fPMMsource[k0MM]; - - drhoMMM = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM; - vx1MMM = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoMMM); - vx2MMM = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMMM); - vx3MMM = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMMM); - - kxyFromfcNEQMMM = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMM) - ((vx1MMM*vx2MMM))); - kyzFromfcNEQMMM = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMMM) - ((vx2MMM*vx3MMM))); - kxzFromfcNEQMMM = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMM) - ((vx1MMM*vx3MMM))); - kxxMyyFromfcNEQMMM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMMM) - ((vx1MMM*vx1MMM - vx2MMM*vx2MMM))); - kxxMzzFromfcNEQMMM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMMM) - ((vx1MMM*vx1MMM - vx3MMM*vx3MMM))); - kyyMzzFromfcNEQMMM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMMM) - ((vx2MMM*vx2MMM - vx3MMM*vx3MMM))); - - ////////////////////////////////////////////////////////////////////////// - //SWT// - ////////////////////////////////////////////////////////////////////////// - //index - k000 = k00M; - kM00 = kM0M; - k0M0 = k0MM; - k00M = neighborCZ[k00M]; - kMM0 = kMMM; - kM0M = neighborCZ[kM0M]; - k0MM = neighborCZ[k0MM]; - kMMM = neighborCZ[kMMM]; - //////////////////////////////////////////////////////////////////////////////// - fP00 = fP00source[k000]; - fM00 = fM00source[kM00]; - f0P0 = f0P0source[k000]; - f0M0 = f0M0source[k0M0]; - f00P = f00Psource[k000]; - f00M = f00Msource[k00M]; - fPP0 = fPP0source[k000]; - fMM0 = fMM0source[kMM0]; - fPM0 = fPM0source[k0M0]; - fMP0 = fMP0source[kM00]; - fP0P = fP0Psource[k000]; - fM0M = fM0Msource[kM0M]; - fP0M = fP0Msource[k00M]; - fM0P = fM0Psource[kM00]; - f0PP = f0PPsource[k000]; - f0MM = f0MMsource[k0MM]; - f0PM = f0PMsource[k00M]; - f0MP = f0MPsource[k0M0]; - f000 = f000source[k000]; - fMMM = fMMMsource[kMMM]; - fMMP = fMMPsource[kMM0]; - fMPP = fMPPsource[kM00]; - fMPM = fMPMsource[kM0M]; - fPPM = fPPMsource[k00M]; - fPPP = fPPPsource[k000]; - fPMP = fPMPsource[k0M0]; - fPMM = fPMMsource[k0MM]; - - drhoMMP = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM; - vx1MMP = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoMMP); - vx2MMP = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMMP); - vx3MMP = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMMP); - - kxyFromfcNEQMMP = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMP) - ((vx1MMP*vx2MMP))); - kyzFromfcNEQMMP = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMMP) - ((vx2MMP*vx3MMP))); - kxzFromfcNEQMMP = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMP) - ((vx1MMP*vx3MMP))); - kxxMyyFromfcNEQMMP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMMP) - ((vx1MMP*vx1MMP - vx2MMP*vx2MMP))); - kxxMzzFromfcNEQMMP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMMP) - ((vx1MMP*vx1MMP - vx3MMP*vx3MMP))); - kyyMzzFromfcNEQMMP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMMP) - ((vx2MMP*vx2MMP - vx3MMP*vx3MMP))); - - ////////////////////////////////////////////////////////////////////////// - //SET// - ////////////////////////////////////////////////////////////////////////// - //index - k000 = kM00; - kM00 = neighborCX[kM00]; - k0M0 = kMM0; - k00M = kM0M; - kMM0 = neighborCX[kMM0]; - kM0M = neighborCX[kM0M]; - k0MM = kMMM; - kMMM = neighborCX[kMMM]; - //////////////////////////////////////////////////////////////////////////////// - fP00 = fP00source[k000]; - fM00 = fM00source[kM00]; - f0P0 = f0P0source[k000]; - f0M0 = f0M0source[k0M0]; - f00P = f00Psource[k000]; - f00M = f00Msource[k00M]; - fPP0 = fPP0source[k000]; - fMM0 = fMM0source[kMM0]; - fPM0 = fPM0source[k0M0]; - fMP0 = fMP0source[kM00]; - fP0P = fP0Psource[k000]; - fM0M = fM0Msource[kM0M]; - fP0M = fP0Msource[k00M]; - fM0P = fM0Psource[kM00]; - f0PP = f0PPsource[k000]; - f0MM = f0MMsource[k0MM]; - f0PM = f0PMsource[k00M]; - f0MP = f0MPsource[k0M0]; - f000 = f000source[k000]; - fMMM = fMMMsource[kMMM]; - fMMP = fMMPsource[kMM0]; - fMPP = fMPPsource[kM00]; - fMPM = fMPMsource[kM0M]; - fPPM = fPPMsource[k00M]; - fPPP = fPPPsource[k000]; - fPMP = fPMPsource[k0M0]; - fPMM = fPMMsource[k0MM]; - - drhoPMP = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM; - vx1PMP = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoPMP); - vx2PMP = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPMP); - vx3PMP = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPMP); - - kxyFromfcNEQPMP = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMP) - ((vx1PMP*vx2PMP))); - kyzFromfcNEQPMP = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPMP) - ((vx2PMP*vx3PMP))); - kxzFromfcNEQPMP = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMP) - ((vx1PMP*vx3PMP))); - kxxMyyFromfcNEQPMP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPMP) - ((vx1PMP*vx1PMP - vx2PMP*vx2PMP))); - kxxMzzFromfcNEQPMP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPMP) - ((vx1PMP*vx1PMP - vx3PMP*vx3PMP))); - kyyMzzFromfcNEQPMP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPMP) - ((vx2PMP*vx2PMP - vx3PMP*vx3PMP))); - - ////////////////////////////////////////////////////////////////////////// - //SEB// - ////////////////////////////////////////////////////////////////////////// - //index - k00M = k000; - kM0M = kM00; - k0MM = k0M0; - kMMM = kMM0; - k000 = kM00base; - kM00 = neighborCX[kM00base]; - k0M0 = kMM0base; - kMM0 = neighborCX[kMM0base]; - //////////////////////////////////////////////////////////////////////////////// - fP00 = fP00source[k000]; - fM00 = fM00source[kM00]; - f0P0 = f0P0source[k000]; - f0M0 = f0M0source[k0M0]; - f00P = f00Psource[k000]; - f00M = f00Msource[k00M]; - fPP0 = fPP0source[k000]; - fMM0 = fMM0source[kMM0]; - fPM0 = fPM0source[k0M0]; - fMP0 = fMP0source[kM00]; - fP0P = fP0Psource[k000]; - fM0M = fM0Msource[kM0M]; - fP0M = fP0Msource[k00M]; - fM0P = fM0Psource[kM00]; - f0PP = f0PPsource[k000]; - f0MM = f0MMsource[k0MM]; - f0PM = f0PMsource[k00M]; - f0MP = f0MPsource[k0M0]; - f000 = f000source[k000]; - fMMM = fMMMsource[kMMM]; - fMMP = fMMPsource[kMM0]; - fMPP = fMPPsource[kM00]; - fMPM = fMPMsource[kM0M]; - fPPM = fPPMsource[k00M]; - fPPP = fPPPsource[k000]; - fPMP = fPMPsource[k0M0]; - fPMM = fPMMsource[k0MM]; - - drhoPMM = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM; - vx1PMM = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoPMM); - vx2PMM = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPMM); - vx3PMM = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPMM); - - kxyFromfcNEQPMM = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMM) - ((vx1PMM*vx2PMM))); - kyzFromfcNEQPMM = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPMM) - ((vx2PMM*vx3PMM))); - kxzFromfcNEQPMM = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMM) - ((vx1PMM*vx3PMM))); - kxxMyyFromfcNEQPMM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPMM) - ((vx1PMM*vx1PMM - vx2PMM*vx2PMM))); - kxxMzzFromfcNEQPMM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPMM) - ((vx1PMM*vx1PMM - vx3PMM*vx3PMM))); - kyyMzzFromfcNEQPMM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPMM) - ((vx2PMM*vx2PMM - vx3PMM*vx3PMM))); - - ////////////////////////////////////////////////////////////////////////// - //NWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - k000base = k0M0base; - kM00base = kMM0base; - k0M0base = neighborCY[k0M0base]; - k00Mbase = k0MMbase; - kMM0base = neighborCY[kMM0base]; - kM0Mbase = kMMMbase; - k0MMbase = neighborCY[k0MMbase]; - kMMMbase = neighborCY[kMMMbase]; - ////////////////////////////////////////////////////////////////////////// - //index - k000 = k000base; - kM00 = kM00base; - k0M0 = k0M0base; - k00M = k00Mbase; - kMM0 = kMM0base; - kM0M = kM0Mbase; - k0MM = k0MMbase; - kMMM = kMMMbase; - //////////////////////////////////////////////////////////////////////////////// - fP00 = fP00source[k000]; - fM00 = fM00source[kM00]; - f0P0 = f0P0source[k000]; - f0M0 = f0M0source[k0M0]; - f00P = f00Psource[k000]; - f00M = f00Msource[k00M]; - fPP0 = fPP0source[k000]; - fMM0 = fMM0source[kMM0]; - fPM0 = fPM0source[k0M0]; - fMP0 = fMP0source[kM00]; - fP0P = fP0Psource[k000]; - fM0M = fM0Msource[kM0M]; - fP0M = fP0Msource[k00M]; - fM0P = fM0Psource[kM00]; - f0PP = f0PPsource[k000]; - f0MM = f0MMsource[k0MM]; - f0PM = f0PMsource[k00M]; - f0MP = f0MPsource[k0M0]; - f000 = f000source[k000]; - fMMM = fMMMsource[kMMM]; - fMMP = fMMPsource[kMM0]; - fMPP = fMPPsource[kM00]; - fMPM = fMPMsource[kM0M]; - fPPM = fPPMsource[k00M]; - fPPP = fPPPsource[k000]; - fPMP = fPMPsource[k0M0]; - fPMM = fPMMsource[k0MM]; - - drhoMPM = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM; - vx1MPM = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoMPM); - vx2MPM = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMPM); - vx3MPM = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMPM); - - kxyFromfcNEQMPM = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPM) - ((vx1MPM*vx2MPM))); - kyzFromfcNEQMPM = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMPM) - ((vx2MPM*vx3MPM))); - kxzFromfcNEQMPM = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPM) - ((vx1MPM*vx3MPM))); - kxxMyyFromfcNEQMPM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMPM) - ((vx1MPM*vx1MPM - vx2MPM*vx2MPM))); - kxxMzzFromfcNEQMPM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMPM) - ((vx1MPM*vx1MPM - vx3MPM*vx3MPM))); - kyyMzzFromfcNEQMPM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMPM) - ((vx2MPM*vx2MPM - vx3MPM*vx3MPM))); - - ////////////////////////////////////////////////////////////////////////// - //NWT// - ////////////////////////////////////////////////////////////////////////// - //index - k000 = k00M; - kM00 = kM0M; - k0M0 = k0MM; - k00M = neighborCZ[k00M]; - kMM0 = kMMM; - kM0M = neighborCZ[kM0M]; - k0MM = neighborCZ[k0MM]; - kMMM = neighborCZ[kMMM]; - //////////////////////////////////////////////////////////////////////////////// - fP00 = fP00source[k000]; - fM00 = fM00source[kM00]; - f0P0 = f0P0source[k000]; - f0M0 = f0M0source[k0M0]; - f00P = f00Psource[k000]; - f00M = f00Msource[k00M]; - fPP0 = fPP0source[k000]; - fMM0 = fMM0source[kMM0]; - fPM0 = fPM0source[k0M0]; - fMP0 = fMP0source[kM00]; - fP0P = fP0Psource[k000]; - fM0M = fM0Msource[kM0M]; - fP0M = fP0Msource[k00M]; - fM0P = fM0Psource[kM00]; - f0PP = f0PPsource[k000]; - f0MM = f0MMsource[k0MM]; - f0PM = f0PMsource[k00M]; - f0MP = f0MPsource[k0M0]; - f000 = f000source[k000]; - fMMM = fMMMsource[kMMM]; - fMMP = fMMPsource[kMM0]; - fMPP = fMPPsource[kM00]; - fMPM = fMPMsource[kM0M]; - fPPM = fPPMsource[k00M]; - fPPP = fPPPsource[k000]; - fPMP = fPMPsource[k0M0]; - fPMM = fPMMsource[k0MM]; - - drhoMPP = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM; - vx1MPP = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoMPP); - vx2MPP = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMPP); - vx3MPP = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMPP); - - kxyFromfcNEQMPP = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPP) - ((vx1MPP*vx2MPP))); - kyzFromfcNEQMPP = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMPP) - ((vx2MPP*vx3MPP))); - kxzFromfcNEQMPP = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPP) - ((vx1MPP*vx3MPP))); - kxxMyyFromfcNEQMPP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMPP) - ((vx1MPP*vx1MPP - vx2MPP*vx2MPP))); - kxxMzzFromfcNEQMPP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMPP) - ((vx1MPP*vx1MPP - vx3MPP*vx3MPP))); - kyyMzzFromfcNEQMPP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMPP) - ((vx2MPP*vx2MPP - vx3MPP*vx3MPP))); - - ////////////////////////////////////////////////////////////////////////// - //NET// - ////////////////////////////////////////////////////////////////////////// - //index - k000 = kM00; - kM00 = neighborCX[kM00]; - k0M0 = kMM0; - k00M = kM0M; - kMM0 = neighborCX[kMM0]; - kM0M = neighborCX[kM0M]; - k0MM = kMMM; - kMMM = neighborCX[kMMM]; - //////////////////////////////////////////////////////////////////////////////// - fP00 = fP00source[k000]; - fM00 = fM00source[kM00]; - f0P0 = f0P0source[k000]; - f0M0 = f0M0source[k0M0]; - f00P = f00Psource[k000]; - f00M = f00Msource[k00M]; - fPP0 = fPP0source[k000]; - fMM0 = fMM0source[kMM0]; - fPM0 = fPM0source[k0M0]; - fMP0 = fMP0source[kM00]; - fP0P = fP0Psource[k000]; - fM0M = fM0Msource[kM0M]; - fP0M = fP0Msource[k00M]; - fM0P = fM0Psource[kM00]; - f0PP = f0PPsource[k000]; - f0MM = f0MMsource[k0MM]; - f0PM = f0PMsource[k00M]; - f0MP = f0MPsource[k0M0]; - f000 = f000source[k000]; - fMMM = fMMMsource[kMMM]; - fMMP = fMMPsource[kMM0]; - fMPP = fMPPsource[kM00]; - fMPM = fMPMsource[kM0M]; - fPPM = fPPMsource[k00M]; - fPPP = fPPPsource[k000]; - fPMP = fPMPsource[k0M0]; - fPMM = fPMMsource[k0MM]; - - drhoPPP = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM; - vx1PPP = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoPPP); - vx2PPP = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPPP); - vx3PPP = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPPP); - - kxyFromfcNEQPPP = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPP) - ((vx1PPP*vx2PPP))); - kyzFromfcNEQPPP = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPPP) - ((vx2PPP*vx3PPP))); - kxzFromfcNEQPPP = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPP) - ((vx1PPP*vx3PPP))); - kxxMyyFromfcNEQPPP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPPP) - ((vx1PPP*vx1PPP - vx2PPP*vx2PPP))); - kxxMzzFromfcNEQPPP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPPP) - ((vx1PPP*vx1PPP - vx3PPP*vx3PPP))); - kyyMzzFromfcNEQPPP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPPP) - ((vx2PPP*vx2PPP - vx3PPP*vx3PPP))); - - ////////////////////////////////////////////////////////////////////////// - //NEB// - ////////////////////////////////////////////////////////////////////////// - //index - k00M = k000; - kM0M = kM00; - k0MM = k0M0; - kMMM = kMM0; - k000 = kM00base; - kM00 = neighborCX[kM00base]; - k0M0 = kMM0base; - kMM0 = neighborCX[kMM0base]; - //////////////////////////////////////////////////////////////////////////////// - fP00 = fP00source[k000]; - fM00 = fM00source[kM00]; - f0P0 = f0P0source[k000]; - f0M0 = f0M0source[k0M0]; - f00P = f00Psource[k000]; - f00M = f00Msource[k00M]; - fPP0 = fPP0source[k000]; - fMM0 = fMM0source[kMM0]; - fPM0 = fPM0source[k0M0]; - fMP0 = fMP0source[kM00]; - fP0P = fP0Psource[k000]; - fM0M = fM0Msource[kM0M]; - fP0M = fP0Msource[k00M]; - fM0P = fM0Psource[kM00]; - f0PP = f0PPsource[k000]; - f0MM = f0MMsource[k0MM]; - f0PM = f0PMsource[k00M]; - f0MP = f0MPsource[k0M0]; - f000 = f000source[k000]; - fMMM = fMMMsource[kMMM]; - fMMP = fMMPsource[kMM0]; - fMPP = fMPPsource[kM00]; - fMPM = fMPMsource[kM0M]; - fPPM = fPPMsource[k00M]; - fPPP = fPPPsource[k000]; - fPMP = fPMPsource[k0M0]; - fPMM = fPMMsource[k0MM]; - - drhoPPM = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM; - vx1PPM = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoPPM); - vx2PPM = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPPM); - vx3PPM = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPPM); - - kxyFromfcNEQPPM = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPM) - ((vx1PPM*vx2PPM))); - kyzFromfcNEQPPM = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPPM) - ((vx2PPM*vx3PPM))); - kxzFromfcNEQPPM = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPM) - ((vx1PPM*vx3PPM))); - kxxMyyFromfcNEQPPM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPPM) - ((vx1PPM*vx1PPM - vx2PPM*vx2PPM))); - kxxMzzFromfcNEQPPM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPPM) - ((vx1PPM*vx1PPM - vx3PPM*vx3PPM))); - kyyMzzFromfcNEQPPM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPPM) - ((vx2PPM*vx2PPM - vx3PPM*vx3PPM))); - - ////////////////////////////////////////////////////////////////////////// - //3 - ////////////////////////////////////////////////////////////////////////// - a0 = c1o8*(((vx1PPM + vx1PPP) + (vx1MPM + vx1MPP)) + ((vx1PMM + vx1PMP) + (vx1MMM + vx1MMP))); - ax = c1o4*(((vx1PPM - vx1MMP) + (vx1PPP - vx1MMM)) + ((vx1PMP - vx1MPM) + (vx1PMM - vx1MPP))); - ay = c1o4*(((vx1PPM - vx1MMP) + (vx1PPP - vx1MMM)) + ((vx1MPM - vx1PMP) + (vx1MPP - vx1PMM))); - az = c1o4*(((vx1MMP - vx1PPM) + (vx1PPP - vx1MMM)) + ((vx1PMP - vx1MPM) + (vx1MPP - vx1PMM))); - axy = c1o2*(((vx1PPM - vx1PMP) + (vx1MMM - vx1MPP)) + ((vx1MMP - vx1MPM) + (vx1PPP - vx1PMM))); - axz = c1o2*(((vx1PMP - vx1PPM) + (vx1MMM - vx1MPP)) + ((vx1MPM - vx1MMP) + (vx1PPP - vx1PMM))); - ayz = c1o2*(((vx1PPP - vx1MPM) + (vx1PMM - vx1MMP)) + ((vx1MPP - vx1PPM) + (vx1MMM - vx1PMP))); - axyz= ((vx1MMP - vx1PPM) + (vx1PPP - vx1MMM)) + ((vx1MPM - vx1PMP) + (vx1PMM - vx1MPP)) ; - b0 = c1o8*(((vx2PPM + vx2PPP) + (vx2MPM + vx2MPP)) + ((vx2PMM + vx2PMP) + (vx2MMM + vx2MMP))); - bx = c1o4*(((vx2PPM - vx2MMP) + (vx2PPP - vx2MMM)) + ((vx2PMP - vx2MPM) + (vx2PMM - vx2MPP))); - by = c1o4*(((vx2PPM - vx2MMP) + (vx2PPP - vx2MMM)) + ((vx2MPM - vx2PMP) + (vx2MPP - vx2PMM))); - bz = c1o4*(((vx2MMP - vx2PPM) + (vx2PPP - vx2MMM)) + ((vx2PMP - vx2MPM) + (vx2MPP - vx2PMM))); - bxy = c1o2*(((vx2PPM - vx2MPP) + (vx2MMM - vx2PMP)) + ((vx2MMP - vx2PMM) + (vx2PPP - vx2MPM))); - bxz = c1o2*(((vx2MMM - vx2PPM) + (vx2PMP - vx2MPP)) + ((vx2MPM - vx2PMM) + (vx2PPP - vx2MMP))); - byz = c1o2*(((vx2MPP - vx2PPM) + (vx2MMM - vx2PMP)) + ((vx2PMM - vx2MMP) + (vx2PPP - vx2MPM))); - bxyz= ((vx2MMP - vx2PPM) + (vx2PPP - vx2MMM)) + ((vx2MPM - vx2PMP) + (vx2PMM - vx2MPP)) ; - c0 = c1o8*(((vx3PPM + vx3PPP) + (vx3MPM + vx3MPP)) + ((vx3PMM + vx3PMP) + (vx3MMM + vx3MMP))); - cx = c1o4*(((vx3PPM - vx3MMP) + (vx3PPP - vx3MMM)) + ((vx3PMP - vx3MPM) + (vx3PMM - vx3MPP))); - cy = c1o4*(((vx3PPM - vx3MMP) + (vx3PPP - vx3MMM)) + ((vx3MPM - vx3PMP) + (vx3MPP - vx3PMM))); - cz = c1o4*(((vx3MMP - vx3PPM) + (vx3PPP - vx3MMM)) + ((vx3PMP - vx3MPM) + (vx3MPP - vx3PMM))); - cxy = c1o2*(((vx3PPM - vx3PMP) + (vx3MMM - vx3MPP)) + ((vx3MMP - vx3MPM) + (vx3PPP - vx3PMM))); - cxz = c1o2*(((vx3MMM - vx3PPM) + (vx3PMP - vx3MPP)) + ((vx3MPM - vx3PMM) + (vx3PPP - vx3MMP))); - cyz = c1o2*(((vx3MMM - vx3PPM) + (vx3MPP - vx3PMP)) + ((vx3PMM - vx3MPM) + (vx3PPP - vx3MMP))); - cxyz= ((vx3MMP - vx3PPM) + (vx3PPP - vx3MMM)) + ((vx3MPM - vx3PMP) + (vx3PMM - vx3MPP)) ; - - //bxx = zero; - //cxx = zero; - //ayy = zero; - //cyy = zero; - //azz = zero; - //bzz = zero; - //axx = zero; - //byy = zero; - //czz = zero; - - bxx = c1o8*(((kxyFromfcNEQPPP - kxyFromfcNEQMMM) + (kxyFromfcNEQPMM - kxyFromfcNEQMPP)) + ((kxyFromfcNEQPMP - kxyFromfcNEQMPM) + (kxyFromfcNEQPPM - kxyFromfcNEQMMP))) - c1o2*axy; - cxx = c1o8*(((kxzFromfcNEQPPP - kxzFromfcNEQMMM) + (kxzFromfcNEQPMM - kxzFromfcNEQMPP)) + ((kxzFromfcNEQPMP - kxzFromfcNEQMPM) + (kxzFromfcNEQPPM - kxzFromfcNEQMMP))) - c1o2*axz; - - ayy = c1o8*(((kxyFromfcNEQPPP - kxyFromfcNEQMMM) + (kxyFromfcNEQPPM - kxyFromfcNEQMMP)) - ((kxyFromfcNEQPMM - kxyFromfcNEQMPP) + (kxyFromfcNEQPMP - kxyFromfcNEQMPM))) - c1o2*bxy; - cyy = c1o8*(((kyzFromfcNEQPPP - kyzFromfcNEQMMM) + (kyzFromfcNEQPPM - kyzFromfcNEQMMP)) - ((kyzFromfcNEQPMM - kyzFromfcNEQMPP) + (kyzFromfcNEQPMP - kyzFromfcNEQMPM))) - c1o2*byz; - - azz = c1o8*(((kxzFromfcNEQPPP - kxzFromfcNEQMMM) - (kxzFromfcNEQPMM - kxzFromfcNEQMPP)) + ((kxzFromfcNEQPMP - kxzFromfcNEQMPM) - (kxzFromfcNEQPPM - kxzFromfcNEQMMP))) - c1o2*cxz; - bzz = c1o8*(((kyzFromfcNEQPPP - kyzFromfcNEQMMM) - (kyzFromfcNEQPMM - kyzFromfcNEQMPP)) + ((kyzFromfcNEQPMP - kyzFromfcNEQMPM) - (kyzFromfcNEQPPM - kyzFromfcNEQMMP))) - c1o2*cyz; - - axx = (c1o16*(((kxxMyyFromfcNEQPPP - kxxMyyFromfcNEQMMM) + (kxxMyyFromfcNEQPMM - kxxMyyFromfcNEQMPP)) + ((kxxMyyFromfcNEQPMP - kxxMyyFromfcNEQMPM) + (kxxMyyFromfcNEQPPM - kxxMyyFromfcNEQMMP))) - c1o4*bxy) - + (c1o16*(((kxxMzzFromfcNEQPPP - kxxMzzFromfcNEQMMM) + (kxxMzzFromfcNEQPMM - kxxMzzFromfcNEQMPP)) + ((kxxMzzFromfcNEQPMP - kxxMzzFromfcNEQMPM) + (kxxMzzFromfcNEQPPM - kxxMzzFromfcNEQMMP))) - c1o4*cxz); - - byy = (-c1o16*(((kxxMyyFromfcNEQPPP - kxxMyyFromfcNEQMMM) - (kxxMyyFromfcNEQPMM - kxxMyyFromfcNEQMPP)) + ((kxxMyyFromfcNEQPPM - kxxMyyFromfcNEQMMP) - (kxxMyyFromfcNEQPMP - kxxMyyFromfcNEQMPM))) - c1o4*axy) - + (c1o16*(((kyyMzzFromfcNEQPPP - kyyMzzFromfcNEQMMM) - (kyyMzzFromfcNEQPMM - kyyMzzFromfcNEQMPP)) + ((kyyMzzFromfcNEQPPM - kyyMzzFromfcNEQMMP) - (kyyMzzFromfcNEQPMP - kyyMzzFromfcNEQMPM))) - c1o4*cyz); - - czz = (-c1o16*(((kxxMzzFromfcNEQPPP - kxxMzzFromfcNEQMMM) - (kxxMzzFromfcNEQPMM - kxxMzzFromfcNEQMPP)) - ((kxxMzzFromfcNEQPPM - kxxMzzFromfcNEQMMP) - (kxxMzzFromfcNEQPMP - kxxMzzFromfcNEQMPM))) - c1o4*axz) - + (c1o16*(((kyyMzzFromfcNEQPPP - kyyMzzFromfcNEQMMM) - (kyyMzzFromfcNEQPMM - kyyMzzFromfcNEQMPP)) - ((kyyMzzFromfcNEQPPM - kyyMzzFromfcNEQMMP) - (kyyMzzFromfcNEQPMP - kyyMzzFromfcNEQMPM))) - c1o4*byz); - - a0 -= c1o4*(axx + ayy + azz); - b0 -= c1o4*(bxx + byy + bzz); - c0 -= c1o4*(cxx + cyy + czz); - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real kxyAverage = c0; - real kyzAverage = c0; - real kxzAverage = c0; - real kxxMyyAverage = c0; - real kxxMzzAverage = c0; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //Press - //d0 = ( pressPPM + pressPPP + pressMPM + pressMPP + pressPMM + pressPMP + pressMMM + pressMMP) * c1o8; - //dx = ( pressPPM + pressPPP - pressMPM - pressMPP + pressPMM + pressPMP - pressMMM - pressMMP) * c1o4; - //dy = ( pressPPM + pressPPP + pressMPM + pressMPP - pressPMM - pressPMP - pressMMM - pressMMP) * c1o4; - //dz = (-pressPPM + pressPPP - pressMPM + pressMPP - pressPMM + pressPMP - pressMMM + pressMMP) * c1o4; - //dxy = ( pressPPM + pressPPP - pressMPM - pressMPP - pressPMM - pressPMP + pressMMM + pressMMP) * c1o2; - //dxz = (-pressPPM + pressPPP + pressMPM - pressMPP - pressPMM + pressPMP + pressMMM - pressMMP) * c1o2; - //dyz = (-pressPPM + pressPPP - pressMPM + pressMPP + pressPMM - pressPMP + pressMMM - pressMMP) * c1o2; - //dxyz = -pressPPM + pressPPP + pressMPM - pressMPP + pressPMM - pressPMP - pressMMM + pressMMP; - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho - d0 = ( ((drhoPPM + drhoMMP) + (drhoMPM + drhoPMP)) + ((drhoPMM + drhoMPP) + (drhoMMM + drhoPPP))) * c1o8; - dx = ( ((drhoPPM - drhoMMP) + (drhoPMM - drhoMPP)) + ((drhoPMP - drhoMPM) + (drhoPPP - drhoMMM))) * c1o4; - dy = ( ((drhoPPM - drhoMMP) + (drhoMPP - drhoPMM)) + ((drhoMPM - drhoPMP) + (drhoPPP - drhoMMM))) * c1o4; - dz = ( ((drhoMMP - drhoPPM) + (drhoPPP - drhoMMM)) + ((drhoPMP - drhoMPM) + (drhoMPP - drhoPMM))) * c1o4; - dxy = ( ((drhoPPM - drhoPMP) + (drhoPPP - drhoPMM)) + ((drhoMMP - drhoMPM) + (drhoMMM - drhoMPP))) * c1o2; - dxz = ( ((drhoMMM - drhoPPM) + (drhoPPP - drhoMMP)) + ((drhoMPM - drhoPMM) + (drhoPMP - drhoMPP))) * c1o2; - dyz = ( ((drhoMPP - drhoPPM) + (drhoPPP - drhoMPM)) + ((drhoPMM - drhoMMP) + (drhoMMM - drhoPMP))) * c1o2; - dxyz = -drhoPPM + drhoPPP + drhoMPM - drhoMPP + drhoPMM - drhoPMP - drhoMMM + drhoMMP; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - // Bernd das Brot - // - // X------X - // | | x---x - // | ---+-+-> | ----> off-vector - // | | x---x - // X------X - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - a0 = a0 + xoff * ax + yoff * ay + zoff * az + xoff_sq * axx + yoff_sq * ayy + zoff_sq * azz + xoff*yoff*axy + xoff*zoff*axz + yoff*zoff*ayz; - ax = ax + c2o1 * xoff * axx + yoff * axy + zoff * axz; - ay = ay + c2o1 * yoff * ayy + xoff * axy + zoff * ayz; - az = az + c2o1 * zoff * azz + xoff * axz + yoff * ayz; - b0 = b0 + xoff * bx + yoff * by + zoff * bz + xoff_sq * bxx + yoff_sq * byy + zoff_sq * bzz + xoff*yoff*bxy + xoff*zoff*bxz + yoff*zoff*byz; - bx = bx + c2o1 * xoff * bxx + yoff * bxy + zoff * bxz; - by = by + c2o1 * yoff * byy + xoff * bxy + zoff * byz; - bz = bz + c2o1 * zoff * bzz + xoff * bxz + yoff * byz; - c0 = c0 + xoff * cx + yoff * cy + zoff * cz + xoff_sq * cxx + yoff_sq * cyy + zoff_sq * czz + xoff*yoff*cxy + xoff*zoff*cxz + yoff*zoff*cyz; - cx = cx + c2o1 * xoff * cxx + yoff * cxy + zoff * cxz; - cy = cy + c2o1 * yoff * cyy + xoff * cxy + zoff * cyz; - cz = cz + c2o1 * zoff * czz + xoff * cxz + yoff * cyz; - d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz; - dx = dx + yoff * dxy + zoff * dxz; - dy = dy + xoff * dxy + zoff * dyz; - dz = dz + xoff * dxz + yoff * dyz; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = c0; - real mfabb = c0; - real mfbcb = c0; - real mfbab = c0; - real mfbbc = c0; - real mfbba = c0; - real mfccb = c0; - real mfaab = c0; - real mfcab = c0; - real mfacb = c0; - real mfcbc = c0; - real mfaba = c0; - real mfcba = c0; - real mfabc = c0; - real mfbcc = c0; - real mfbaa = c0; - real mfbca = c0; - real mfbac = c0; - real mfbbb = c0; - real mfccc = c0; - real mfaac = c0; - real mfcac = c0; - real mfacc = c0; - real mfcca = c0; - real mfaaa = c0; - real mfcaa = c0; - real mfaca = c0; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mgcbb = c0; - real mgabb = c0; - real mgbcb = c0; - real mgbab = c0; - real mgbbc = c0; - real mgbba = c0; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real m0, m1, m2, oMdrho; - real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz; - //real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein - //real O3 = two - o; - //real residu, residutmp; - //residutmp = zero;// /*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new; - real NeqOn = c1o1;//zero;//one; //.... one = on ..... zero = off - real dxux; - real dyuy; - real dzuz; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position SWB -0.25f, -0.25f, -0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = -c1o4; - y = -c1o4; - z = -c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //real mxoff = -xoff; - //real myoff = -yoff; - //real mzoff = -zoff; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c3o64*drho_NEB+c1o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c27o64*drho_SWB+c9o64*drho_SWT; - //press = press_SWT * (c9o64 + c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + - // press_NWT * (c3o64 + c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + - // press_SET * (c3o64 - c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + - // press_NET * (c1o64 - c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + - // press_NEB * (c3o64 - c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + - // press_NWB * (c9o64 + c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c9o64 - c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c27o64 + c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff); - //drho = drho_SWT * (c9o64 + c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + - // drho_NWT * (c3o64 + c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - // drho_SET * (c3o64 - c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + - // drho_NET * (c1o64 - c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + - // drho_NEB * (c3o64 - c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + - // drho_NWB * (c9o64 + c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c9o64 - c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c27o64 + c9o16 * xoff + c9o16 * yoff + c9o16 * zoff); - - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z )*eps_new / oP* (c1o1 + press); - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0; - - //////////////////////////////////////////////////////////////////////////////////// - // D3Q27F - dxux = (ax + c2o1*axx*x + axy*y + axz*z + axyz*y*z); - dyuy = (by + bxy*x + c2o1*byy*y + byz*z + bxyz*x*z); - dzuz = (cz - cxz*x + cyz*y + c2o1*czz*z + cxyz*x*y); - mgcbb = (vvx * axx + dxux * dxux) * (eps_new * eps_new) * (c1o1 + press); - mgabb = -(vvx * axx + dxux * dxux) * (eps_new * eps_new) * (c1o1 + press); - mgbcb = (vvy * byy + dyuy * dyuy) * (eps_new * eps_new) * (c1o1 + press); - mgbab = -(vvy * byy + dyuy * dyuy) * (eps_new * eps_new) * (c1o1 + press); - mgbbc = (vvz * czz + dzuz * dzuz) * (eps_new * eps_new) * (c1o1 + press); - mgbba = -(vvz * czz + dzuz * dzuz) * (eps_new * eps_new) * (c1o1 + press); - //mgcbb = zero; - //mgabb = zero; - //mgbcb = zero; - //mgbab = zero; - //mgbbc = zero; - //mgbba = zero; - //////////////////////////////////////////////////////////////////////////////////// - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index 0 - k000base = posFSWB[k]; - kM00base = neighborFX[k000base]; - k0M0base = neighborFY[k000base]; - k00Mbase = neighborFZ[k000base]; - kMM0base = neighborFY[kM00base]; - kM0Mbase = neighborFZ[kM00base]; - k0MMbase = neighborFZ[k0M0base]; - kMMMbase = neighborFZ[kMM0base]; - ////////////////////////////////////////////////////////////////////////// - //index - k000 = k000base; - kM00 = kM00base; - k0M0 = k0M0base; - k00M = k00Mbase; - kMM0 = kMM0base; - kM0M = kM0Mbase; - k0MM = k0MMbase; - kMMM = kMMMbase; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - (G.g[dP00])[k000] = mgcbb; - (G.g[dM00])[kM00] = mgabb; - (G.g[d0P0])[k000] = mgbcb; - (G.g[d0M0])[k0M0] = mgbab; - (G.g[d00P])[k000] = mgbbc; - (G.g[d00M])[k00M] = mgbba; - //////////////////////////////////////////////////////////////////////////////////// - fP00dest[k000] = mfcbb; - fM00dest[kM00] = mfabb; - f0P0dest[k000] = mfbcb; - f0M0dest[k0M0] = mfbab; - f00Pdest[k000] = mfbbc; - f00Mdest[k00M] = mfbba; - fPP0dest[k000] = mfccb; - fMM0dest[kMM0] = mfaab; - fPM0dest[k0M0] = mfcab; - fMP0dest[kM00] = mfacb; - fP0Pdest[k000] = mfcbc; - fM0Mdest[kM0M] = mfaba; - fP0Mdest[k00M] = mfcba; - fM0Pdest[kM00] = mfabc; - f0PPdest[k000] = mfbcc; - f0MMdest[k0MM] = mfbaa; - f0PMdest[k00M] = mfbca; - f0MPdest[k0M0] = mfbac; - f000dest[k000] = mfbbb; - fMMMdest[kMMM] = mfaaa; - fMMPdest[kMM0] = mfaac; - fMPPdest[kM00] = mfacc; - fMPMdest[kM0M] = mfaca; - fPPMdest[k00M] = mfcca; - fPPPdest[k000] = mfccc; - fPMPdest[k0M0] = mfcac; - fPMMdest[k0MM] = mfcaa; - //////////////////////////////////////////////////////////////////////////////////// - - //reset - mfcbb = c0; - mfabb = c0; - mfbcb = c0; - mfbab = c0; - mfbbc = c0; - mfbba = c0; - mfccb = c0; - mfaab = c0; - mfcab = c0; - mfacb = c0; - mfcbc = c0; - mfaba = c0; - mfcba = c0; - mfabc = c0; - mfbcc = c0; - mfbaa = c0; - mfbca = c0; - mfbac = c0; - mfbbb = c0; - mfccc = c0; - mfaac = c0; - mfcac = c0; - mfacc = c0; - mfcca = c0; - mfaaa = c0; - mfcaa = c0; - mfaca = c0; - ///////////// - mgcbb = c0; - mgabb = c0; - mgbcb = c0; - mgbab = c0; - mgbbc = c0; - mgbba = c0; - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position SWT -0.25f, -0.25f, 0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = -c1o4; - y = -c1o4; - z = c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c1o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c27o64*drho_SWT; - //press = press_SWT * (c27o64 + c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + - // press_NWT * (c9o64 + c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + - // press_SET * (c9o64 - c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + - // press_NET * (c3o64 - c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + - // press_NEB * (c1o64 - c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + - // press_NWB * (c3o64 + c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c3o64 - c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c9o64 + c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff); - //drho = drho_SWT * (c27o64 + c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + - // drho_NWT * (c9o64 + c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + - // drho_SET * (c9o64 - c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - // drho_NET * (c3o64 - c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + - // drho_NEB * (c1o64 - c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + - // drho_NWB * (c3o64 + c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c3o64 - c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c9o64 + c3o16 * xoff + c3o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press); - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0; - - //////////////////////////////////////////////////////////////////////////////////// - // D3Q27F - dxux = (ax + c2o1*axx*x + axy*y + axz*z + axyz*y*z); - dyuy = (by + bxy*x + c2o1*byy*y + byz*z + bxyz*x*z); - dzuz = (cz - cxz*x + cyz*y + c2o1*czz*z + cxyz*x*y); - mgcbb = (vvx * axx + dxux * dxux) * (eps_new * eps_new) * (c1o1 + press); - mgabb = -(vvx * axx + dxux * dxux) * (eps_new * eps_new) * (c1o1 + press); - mgbcb = (vvy * byy + dyuy * dyuy) * (eps_new * eps_new) * (c1o1 + press); - mgbab = -(vvy * byy + dyuy * dyuy) * (eps_new * eps_new) * (c1o1 + press); - mgbbc = (vvz * czz + dzuz * dzuz) * (eps_new * eps_new) * (c1o1 + press); - mgbba = -(vvz * czz + dzuz * dzuz) * (eps_new * eps_new) * (c1o1 + press); - //mgcbb = zero; - //mgabb = zero; - //mgbcb = zero; - //mgbab = zero; - //mgbbc = zero; - //mgbba = zero; - //////////////////////////////////////////////////////////////////////////////////// - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - //index - k000 = k00M; - kM00 = kM0M; - k0M0 = k0MM; - k00M = neighborFZ[k00M]; - kMM0 = kMMM; - kM0M = neighborFZ[kM0M]; - k0MM = neighborFZ[k0MM]; - kMMM = neighborFZ[kMMM]; - //////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - (G.g[dP00])[k000] = mgcbb; - (G.g[dM00])[kM00] = mgabb; - (G.g[d0P0])[k000] = mgbcb; - (G.g[d0M0])[k0M0] = mgbab; - (G.g[d00P])[k000] = mgbbc; - (G.g[d00M])[k00M] = mgbba; - //////////////////////////////////////////////////////////////////////////////////// - fP00dest[k000] = mfcbb; - fM00dest[kM00] = mfabb; - f0P0dest[k000] = mfbcb; - f0M0dest[k0M0] = mfbab; - f00Pdest[k000] = mfbbc; - f00Mdest[k00M] = mfbba; - fPP0dest[k000] = mfccb; - fMM0dest[kMM0] = mfaab; - fPM0dest[k0M0] = mfcab; - fMP0dest[kM00] = mfacb; - fP0Pdest[k000] = mfcbc; - fM0Mdest[kM0M] = mfaba; - fP0Mdest[k00M] = mfcba; - fM0Pdest[kM00] = mfabc; - f0PPdest[k000] = mfbcc; - f0MMdest[k0MM] = mfbaa; - f0PMdest[k00M] = mfbca; - f0MPdest[k0M0] = mfbac; - f000dest[k000] = mfbbb; - fMMMdest[kMMM] = mfaaa; - fMMPdest[kMM0] = mfaac; - fMPPdest[kM00] = mfacc; - fMPMdest[kM0M] = mfaca; - fPPMdest[k00M] = mfcca; - fPPPdest[k000] = mfccc; - fPMPdest[k0M0] = mfcac; - fPMMdest[k0MM] = mfcaa; - //////////////////////////////////////////////////////////////////////////////////// - - - //reset - mfcbb = c0; - mfabb = c0; - mfbcb = c0; - mfbab = c0; - mfbbc = c0; - mfbba = c0; - mfccb = c0; - mfaab = c0; - mfcab = c0; - mfacb = c0; - mfcbc = c0; - mfaba = c0; - mfcba = c0; - mfabc = c0; - mfbcc = c0; - mfbaa = c0; - mfbca = c0; - mfbac = c0; - mfbbb = c0; - mfccc = c0; - mfaac = c0; - mfcac = c0; - mfacc = c0; - mfcca = c0; - mfaaa = c0; - mfcaa = c0; - mfaca = c0; - ///////////// - mgcbb = c0; - mgabb = c0; - mgbcb = c0; - mgbab = c0; - mgbbc = c0; - mgbba = c0; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position SET 0.25f, -0.25f, 0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = c1o4; - y = -c1o4; - z = c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho =c3o64*drho_NEB+c9o64*drho_NET+c1o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c27o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT; - //press = press_SET * (c27o64 - c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + - // press_NET * (c9o64 - c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c9o64 + c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + - // press_NWT * (c3o64 + c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + - // press_NWB * (c1o64 + c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + - // press_NEB * (c3o64 - c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c3o64 + c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c9o64 - c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff); - //drho = drho_SET * (c27o64 - c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + - // drho_NET * (c9o64 - c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c9o64 + c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - // drho_NWT * (c3o64 + c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + - // drho_NWB * (c1o64 + c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + - // drho_NEB * (c3o64 - c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c3o64 + c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c9o64 - c3o16 * xoff + c3o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press); - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0; - - //////////////////////////////////////////////////////////////////////////////////// - // D3Q27F - dxux = (ax + c2o1*axx*x + axy*y + axz*z + axyz*y*z); - dyuy = (by + bxy*x + c2o1*byy*y + byz*z + bxyz*x*z); - dzuz = (cz - cxz*x + cyz*y + c2o1*czz*z + cxyz*x*y); - mgcbb = (vvx * axx + dxux * dxux) * (eps_new * eps_new) * (c1o1 + press); - mgabb = -(vvx * axx + dxux * dxux) * (eps_new * eps_new) * (c1o1 + press); - mgbcb = (vvy * byy + dyuy * dyuy) * (eps_new * eps_new) * (c1o1 + press); - mgbab = -(vvy * byy + dyuy * dyuy) * (eps_new * eps_new) * (c1o1 + press); - mgbbc = (vvz * czz + dzuz * dzuz) * (eps_new * eps_new) * (c1o1 + press); - mgbba = -(vvz * czz + dzuz * dzuz) * (eps_new * eps_new) * (c1o1 + press); - //mgcbb = zero; - //mgabb = zero; - //mgbcb = zero; - //mgbab = zero; - //mgbbc = zero; - //mgbba = zero; - //////////////////////////////////////////////////////////////////////////////////// - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index - k000 = kM00; - kM00 = neighborFX[kM00]; - k0M0 = kMM0; - k00M = kM0M; - kMM0 = neighborFX[kMM0]; - kM0M = neighborFX[kM0M]; - k0MM = kMMM; - kMMM = neighborFX[kMMM]; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - (G.g[dP00])[k000] = mgcbb; - (G.g[dM00])[kM00] = mgabb; - (G.g[d0P0])[k000] = mgbcb; - (G.g[d0M0])[k0M0] = mgbab; - (G.g[d00P])[k000] = mgbbc; - (G.g[d00M])[k00M] = mgbba; - //////////////////////////////////////////////////////////////////////////////////// - fP00dest[k000] = mfcbb; - fM00dest[kM00] = mfabb; - f0P0dest[k000] = mfbcb; - f0M0dest[k0M0] = mfbab; - f00Pdest[k000] = mfbbc; - f00Mdest[k00M] = mfbba; - fPP0dest[k000] = mfccb; - fMM0dest[kMM0] = mfaab; - fPM0dest[k0M0] = mfcab; - fMP0dest[kM00] = mfacb; - fP0Pdest[k000] = mfcbc; - fM0Mdest[kM0M] = mfaba; - fP0Mdest[k00M] = mfcba; - fM0Pdest[kM00] = mfabc; - f0PPdest[k000] = mfbcc; - f0MMdest[k0MM] = mfbaa; - f0PMdest[k00M] = mfbca; - f0MPdest[k0M0] = mfbac; - f000dest[k000] = mfbbb; - fMMMdest[kMMM] = mfaaa; - fMMPdest[kMM0] = mfaac; - fMPPdest[kM00] = mfacc; - fMPMdest[kM0M] = mfaca; - fPPMdest[k00M] = mfcca; - fPPPdest[k000] = mfccc; - fPMPdest[k0M0] = mfcac; - fPMMdest[k0MM] = mfcaa; - //////////////////////////////////////////////////////////////////////////////////// - - //reset - mfcbb = c0; - mfabb = c0; - mfbcb = c0; - mfbab = c0; - mfbbc = c0; - mfbba = c0; - mfccb = c0; - mfaab = c0; - mfcab = c0; - mfacb = c0; - mfcbc = c0; - mfaba = c0; - mfcba = c0; - mfabc = c0; - mfbcc = c0; - mfbaa = c0; - mfbca = c0; - mfbac = c0; - mfbbb = c0; - mfccc = c0; - mfaac = c0; - mfcac = c0; - mfacc = c0; - mfcca = c0; - mfaaa = c0; - mfcaa = c0; - mfaca = c0; - ///////////// - mgcbb = c0; - mgabb = c0; - mgbcb = c0; - mgbab = c0; - mgbbc = c0; - mgbba = c0; - - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position SEB 0.25f, -0.25f, -0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = c1o4; - y = -c1o4; - z = -c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho =c9o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c1o64*drho_NWT+c27o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT; - //press = press_SET * (c9o64 - c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + - // press_NET * (c3o64 - c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c3o64 + c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + - // press_NWT * (c1o64 + c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + - // press_NWB * (c3o64 + c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + - // press_NEB * (c9o64 - c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c9o64 + c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c27o64 - c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff); - //drho = drho_SET * (c9o64 - c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + - // drho_NET * (c3o64 - c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c3o64 + c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + - // drho_NWT * (c1o64 + c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + - // drho_NWB * (c3o64 + c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + - // drho_NEB * (c9o64 - c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c9o64 + c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c27o64 - c9o16 * xoff + c9o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press); - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0; - - //////////////////////////////////////////////////////////////////////////////////// - // D3Q27F - dxux = (ax + c2o1*axx*x + axy*y + axz*z + axyz*y*z); - dyuy = (by + bxy*x + c2o1*byy*y + byz*z + bxyz*x*z); - dzuz = (cz - cxz*x + cyz*y + c2o1*czz*z + cxyz*x*y); - mgcbb = (vvx * axx + dxux * dxux) * (eps_new * eps_new) * (c1o1 + press); - mgabb = -(vvx * axx + dxux * dxux) * (eps_new * eps_new) * (c1o1 + press); - mgbcb = (vvy * byy + dyuy * dyuy) * (eps_new * eps_new) * (c1o1 + press); - mgbab = -(vvy * byy + dyuy * dyuy) * (eps_new * eps_new) * (c1o1 + press); - mgbbc = (vvz * czz + dzuz * dzuz) * (eps_new * eps_new) * (c1o1 + press); - mgbba = -(vvz * czz + dzuz * dzuz) * (eps_new * eps_new) * (c1o1 + press); - //mgcbb = zero; - //mgabb = zero; - //mgbcb = zero; - //mgbab = zero; - //mgbbc = zero; - //mgbba = zero; - //////////////////////////////////////////////////////////////////////////////////// - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index - k00M = k000; - kM0M = kM00; - k0MM = k0M0; - kMMM = kMM0; - k000 = kM00base; - kM00 = neighborFX[kM00base]; - k0M0 = kMM0base; - kMM0 = neighborFX[kMM0base]; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - (G.g[dP00])[k000] = mgcbb; - (G.g[dM00])[kM00] = mgabb; - (G.g[d0P0])[k000] = mgbcb; - (G.g[d0M0])[k0M0] = mgbab; - (G.g[d00P])[k000] = mgbbc; - (G.g[d00M])[k00M] = mgbba; - //////////////////////////////////////////////////////////////////////////////////// - fP00dest[k000] = mfcbb; - fM00dest[kM00] = mfabb; - f0P0dest[k000] = mfbcb; - f0M0dest[k0M0] = mfbab; - f00Pdest[k000] = mfbbc; - f00Mdest[k00M] = mfbba; - fPP0dest[k000] = mfccb; - fMM0dest[kMM0] = mfaab; - fPM0dest[k0M0] = mfcab; - fMP0dest[kM00] = mfacb; - fP0Pdest[k000] = mfcbc; - fM0Mdest[kM0M] = mfaba; - fP0Mdest[k00M] = mfcba; - fM0Pdest[kM00] = mfabc; - f0PPdest[k000] = mfbcc; - f0MMdest[k0MM] = mfbaa; - f0PMdest[k00M] = mfbca; - f0MPdest[k0M0] = mfbac; - f000dest[k000] = mfbbb; - fMMMdest[kMMM] = mfaaa; - fMMPdest[kMM0] = mfaac; - fMPPdest[kM00] = mfacc; - fMPMdest[kM0M] = mfaca; - fPPMdest[k00M] = mfcca; - fPPPdest[k000] = mfccc; - fPMPdest[k0M0] = mfcac; - fPMMdest[k0MM] = mfcaa; - //////////////////////////////////////////////////////////////////////////////////// - - - //reset - mfcbb = c0; - mfabb = c0; - mfbcb = c0; - mfbab = c0; - mfbbc = c0; - mfbba = c0; - mfccb = c0; - mfaab = c0; - mfcab = c0; - mfacb = c0; - mfcbc = c0; - mfaba = c0; - mfcba = c0; - mfabc = c0; - mfbcc = c0; - mfbaa = c0; - mfbca = c0; - mfbac = c0; - mfbbb = c0; - mfccc = c0; - mfaac = c0; - mfcac = c0; - mfacc = c0; - mfcca = c0; - mfaaa = c0; - mfcaa = c0; - mfaca = c0; - ///////////// - mgcbb = c0; - mgabb = c0; - mgbcb = c0; - mgbab = c0; - mgbbc = c0; - mgbba = c0; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position NWB -0.25f, 0.25f, -0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = -c1o4; - y = c1o4; - z = -c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c9o64*drho_NEB+c3o64*drho_NET+c27o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c1o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT; - //press = press_NWT * (c9o64 + c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + - // press_NET * (c3o64 - c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c3o64 + c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + - // press_SET * (c1o64 - c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + - // press_SEB * (c3o64 - c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + - // press_NEB * (c9o64 - c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c9o64 + c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + - // press_NWB * (c27o64 + c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff); - //drho = drho_NWT * (c9o64 + c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + - // drho_NET * (c3o64 - c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c3o64 + c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - // drho_SET * (c1o64 - c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + - // drho_SEB * (c3o64 - c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + - // drho_NEB * (c9o64 - c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c9o64 + c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + - // drho_NWB * (c27o64 + c9o16 * xoff - c9o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press); - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0; - - //////////////////////////////////////////////////////////////////////////////////// - // D3Q27F - dxux = (ax + c2o1*axx*x + axy*y + axz*z + axyz*y*z); - dyuy = (by + bxy*x + c2o1*byy*y + byz*z + bxyz*x*z); - dzuz = (cz - cxz*x + cyz*y + c2o1*czz*z + cxyz*x*y); - mgcbb = (vvx * axx + dxux * dxux) * (eps_new * eps_new) * (c1o1 + press); - mgabb = -(vvx * axx + dxux * dxux) * (eps_new * eps_new) * (c1o1 + press); - mgbcb = (vvy * byy + dyuy * dyuy) * (eps_new * eps_new) * (c1o1 + press); - mgbab = -(vvy * byy + dyuy * dyuy) * (eps_new * eps_new) * (c1o1 + press); - mgbbc = (vvz * czz + dzuz * dzuz) * (eps_new * eps_new) * (c1o1 + press); - mgbba = -(vvz * czz + dzuz * dzuz) * (eps_new * eps_new) * (c1o1 + press); - //mgcbb = zero; - //mgabb = zero; - //mgbcb = zero; - //mgbab = zero; - //mgbbc = zero; - //mgbba = zero; - //////////////////////////////////////////////////////////////////////////////////// - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index 0 - k000base = k0M0base; - kM00base = kMM0base; - k0M0base = neighborFY[k0M0base]; - k00Mbase = k0MMbase; - kMM0base = neighborFY[kMM0base]; - kM0Mbase = kMMMbase; - k0MMbase = neighborFY[k0MMbase]; - kMMMbase = neighborFY[kMMMbase]; - ////////////////////////////////////////////////////////////////////////// - //index - k000 = k000base; - kM00 = kM00base; - k0M0 = k0M0base; - k00M = k00Mbase; - kMM0 = kMM0base; - kM0M = kM0Mbase; - k0MM = k0MMbase; - kMMM = kMMMbase; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - (G.g[dP00])[k000] = mgcbb; - (G.g[dM00])[kM00] = mgabb; - (G.g[d0P0])[k000] = mgbcb; - (G.g[d0M0])[k0M0] = mgbab; - (G.g[d00P])[k000] = mgbbc; - (G.g[d00M])[k00M] = mgbba; - //////////////////////////////////////////////////////////////////////////////////// - fP00dest[k000] = mfcbb; - fM00dest[kM00] = mfabb; - f0P0dest[k000] = mfbcb; - f0M0dest[k0M0] = mfbab; - f00Pdest[k000] = mfbbc; - f00Mdest[k00M] = mfbba; - fPP0dest[k000] = mfccb; - fMM0dest[kMM0] = mfaab; - fPM0dest[k0M0] = mfcab; - fMP0dest[kM00] = mfacb; - fP0Pdest[k000] = mfcbc; - fM0Mdest[kM0M] = mfaba; - fP0Mdest[k00M] = mfcba; - fM0Pdest[kM00] = mfabc; - f0PPdest[k000] = mfbcc; - f0MMdest[k0MM] = mfbaa; - f0PMdest[k00M] = mfbca; - f0MPdest[k0M0] = mfbac; - f000dest[k000] = mfbbb; - fMMMdest[kMMM] = mfaaa; - fMMPdest[kMM0] = mfaac; - fMPPdest[kM00] = mfacc; - fMPMdest[kM0M] = mfaca; - fPPMdest[k00M] = mfcca; - fPPPdest[k000] = mfccc; - fPMPdest[k0M0] = mfcac; - fPMMdest[k0MM] = mfcaa; - //////////////////////////////////////////////////////////////////////////////////// - - - //reset - mfcbb = c0; - mfabb = c0; - mfbcb = c0; - mfbab = c0; - mfbbc = c0; - mfbba = c0; - mfccb = c0; - mfaab = c0; - mfcab = c0; - mfacb = c0; - mfcbc = c0; - mfaba = c0; - mfcba = c0; - mfabc = c0; - mfbcc = c0; - mfbaa = c0; - mfbca = c0; - mfbac = c0; - mfbbb = c0; - mfccc = c0; - mfaac = c0; - mfcac = c0; - mfacc = c0; - mfcca = c0; - mfaaa = c0; - mfcaa = c0; - mfaca = c0; - ///////////// - mgcbb = c0; - mgabb = c0; - mgbcb = c0; - mgbab = c0; - mgbbc = c0; - mgbba = c0; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position NWT -0.25f, 0.25f, 0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = -c1o4; - y = c1o4; - z = c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c3o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c27o64*drho_NWT+c1o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT; - //press = press_NWT * (c27o64 + c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + - // press_NET * (c9o64 - c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c9o64 + c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + - // press_SET * (c3o64 - c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + - // press_SEB * (c1o64 - c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + - // press_NEB * (c3o64 - c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c3o64 + c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + - // press_NWB * (c9o64 + c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff); - //drho = drho_NWT * (c27o64 + c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + - // drho_NET * (c9o64 - c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c9o64 + c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + - // drho_SET * (c3o64 - c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + - // drho_SEB * (c1o64 - c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + - // drho_NEB * (c3o64 - c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c3o64 + c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - // drho_NWB * (c9o64 + c3o16 * xoff - c3o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press); - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0; - - //////////////////////////////////////////////////////////////////////////////////// - // D3Q27F - dxux = (ax + c2o1*axx*x + axy*y + axz*z + axyz*y*z); - dyuy = (by + bxy*x + c2o1*byy*y + byz*z + bxyz*x*z); - dzuz = (cz - cxz*x + cyz*y + c2o1*czz*z + cxyz*x*y); - mgcbb = (vvx * axx + dxux * dxux) * (eps_new * eps_new) * (c1o1 + press); - mgabb = -(vvx * axx + dxux * dxux) * (eps_new * eps_new) * (c1o1 + press); - mgbcb = (vvy * byy + dyuy * dyuy) * (eps_new * eps_new) * (c1o1 + press); - mgbab = -(vvy * byy + dyuy * dyuy) * (eps_new * eps_new) * (c1o1 + press); - mgbbc = (vvz * czz + dzuz * dzuz) * (eps_new * eps_new) * (c1o1 + press); - mgbba = -(vvz * czz + dzuz * dzuz) * (eps_new * eps_new) * (c1o1 + press); - //mgcbb = zero; - //mgabb = zero; - //mgbcb = zero; - //mgbab = zero; - //mgbbc = zero; - //mgbba = zero; - //////////////////////////////////////////////////////////////////////////////////// - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index - k000 = k00M; - kM00 = kM0M; - k0M0 = k0MM; - k00M = neighborFZ[k00M]; - kMM0 = kMMM; - kM0M = neighborFZ[kM0M]; - k0MM = neighborFZ[k0MM]; - kMMM = neighborFZ[kMMM]; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - (G.g[dP00])[k000] = mgcbb; - (G.g[dM00])[kM00] = mgabb; - (G.g[d0P0])[k000] = mgbcb; - (G.g[d0M0])[k0M0] = mgbab; - (G.g[d00P])[k000] = mgbbc; - (G.g[d00M])[k00M] = mgbba; - //////////////////////////////////////////////////////////////////////////////////// - fP00dest[k000] = mfcbb; - fM00dest[kM00] = mfabb; - f0P0dest[k000] = mfbcb; - f0M0dest[k0M0] = mfbab; - f00Pdest[k000] = mfbbc; - f00Mdest[k00M] = mfbba; - fPP0dest[k000] = mfccb; - fMM0dest[kMM0] = mfaab; - fPM0dest[k0M0] = mfcab; - fMP0dest[kM00] = mfacb; - fP0Pdest[k000] = mfcbc; - fM0Mdest[kM0M] = mfaba; - fP0Mdest[k00M] = mfcba; - fM0Pdest[kM00] = mfabc; - f0PPdest[k000] = mfbcc; - f0MMdest[k0MM] = mfbaa; - f0PMdest[k00M] = mfbca; - f0MPdest[k0M0] = mfbac; - f000dest[k000] = mfbbb; - fMMMdest[kMMM] = mfaaa; - fMMPdest[kMM0] = mfaac; - fMPPdest[kM00] = mfacc; - fMPMdest[kM0M] = mfaca; - fPPMdest[k00M] = mfcca; - fPPPdest[k000] = mfccc; - fPMPdest[k0M0] = mfcac; - fPMMdest[k0MM] = mfcaa; - //////////////////////////////////////////////////////////////////////////////////// - - - //reset - mfcbb = c0; - mfabb = c0; - mfbcb = c0; - mfbab = c0; - mfbbc = c0; - mfbba = c0; - mfccb = c0; - mfaab = c0; - mfcab = c0; - mfacb = c0; - mfcbc = c0; - mfaba = c0; - mfcba = c0; - mfabc = c0; - mfbcc = c0; - mfbaa = c0; - mfbca = c0; - mfbac = c0; - mfbbb = c0; - mfccc = c0; - mfaac = c0; - mfcac = c0; - mfacc = c0; - mfcca = c0; - mfaaa = c0; - mfcaa = c0; - mfaca = c0; - ///////////// - mgcbb = c0; - mgabb = c0; - mgbcb = c0; - mgbab = c0; - mgbbc = c0; - mgbba = c0; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position NET 0.25f, 0.25f, 0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = c1o4; - y = c1o4; - z = c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c9o64*drho_NEB+c27o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c1o64*drho_SWB+c3o64*drho_SWT; - //press = press_NET * (c27o64 - c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + - // press_NWT * (c9o64 + c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + - // press_SET * (c9o64 - c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c3o64 + c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + - // press_SWB * (c1o64 + c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + - // press_NWB * (c3o64 + c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c3o64 - c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + - // press_NEB * (c9o64 - c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff); - //drho = drho_NET * (c27o64 - c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + - // drho_NWT * (c9o64 + c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - // drho_SET * (c9o64 - c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c3o64 + c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + - // drho_SWB * (c1o64 + c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + - // drho_NWB * (c3o64 + c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c3o64 - c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - // drho_NEB * (c9o64 - c3o16 * xoff - c3o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press); - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0; - - //////////////////////////////////////////////////////////////////////////////////// - // D3Q27F - dxux = (ax + c2o1*axx*x + axy*y + axz*z + axyz*y*z); - dyuy = (by + bxy*x + c2o1*byy*y + byz*z + bxyz*x*z); - dzuz = (cz - cxz*x + cyz*y + c2o1*czz*z + cxyz*x*y); - mgcbb = (vvx * axx + dxux * dxux) * (eps_new * eps_new) * (c1o1 + press); - mgabb = -(vvx * axx + dxux * dxux) * (eps_new * eps_new) * (c1o1 + press); - mgbcb = (vvy * byy + dyuy * dyuy) * (eps_new * eps_new) * (c1o1 + press); - mgbab = -(vvy * byy + dyuy * dyuy) * (eps_new * eps_new) * (c1o1 + press); - mgbbc = (vvz * czz + dzuz * dzuz) * (eps_new * eps_new) * (c1o1 + press); - mgbba = -(vvz * czz + dzuz * dzuz) * (eps_new * eps_new) * (c1o1 + press); - //mgcbb = zero; - //mgabb = zero; - //mgbcb = zero; - //mgbab = zero; - //mgbbc = zero; - //mgbba = zero; - //////////////////////////////////////////////////////////////////////////////////// - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index - k000 = kM00; - kM00 = neighborFX[kM00]; - k0M0 = kMM0; - k00M = kM0M; - kMM0 = neighborFX[kMM0]; - kM0M = neighborFX[kM0M]; - k0MM = kMMM; - kMMM = neighborFX[kMMM]; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - (G.g[dP00])[k000] = mgcbb; - (G.g[dM00])[kM00] = mgabb; - (G.g[d0P0])[k000] = mgbcb; - (G.g[d0M0])[k0M0] = mgbab; - (G.g[d00P])[k000] = mgbbc; - (G.g[d00M])[k00M] = mgbba; - //////////////////////////////////////////////////////////////////////////////////// - fP00dest[k000] = mfcbb; - fM00dest[kM00] = mfabb; - f0P0dest[k000] = mfbcb; - f0M0dest[k0M0] = mfbab; - f00Pdest[k000] = mfbbc; - f00Mdest[k00M] = mfbba; - fPP0dest[k000] = mfccb; - fMM0dest[kMM0] = mfaab; - fPM0dest[k0M0] = mfcab; - fMP0dest[kM00] = mfacb; - fP0Pdest[k000] = mfcbc; - fM0Mdest[kM0M] = mfaba; - fP0Mdest[k00M] = mfcba; - fM0Pdest[kM00] = mfabc; - f0PPdest[k000] = mfbcc; - f0MMdest[k0MM] = mfbaa; - f0PMdest[k00M] = mfbca; - f0MPdest[k0M0] = mfbac; - f000dest[k000] = mfbbb; - fMMMdest[kMMM] = mfaaa; - fMMPdest[kMM0] = mfaac; - fMPPdest[kM00] = mfacc; - fMPMdest[kM0M] = mfaca; - fPPMdest[k00M] = mfcca; - fPPPdest[k000] = mfccc; - fPMPdest[k0M0] = mfcac; - fPMMdest[k0MM] = mfcaa; - //////////////////////////////////////////////////////////////////////////////////// - - - //reset - mfcbb = c0; - mfabb = c0; - mfbcb = c0; - mfbab = c0; - mfbbc = c0; - mfbba = c0; - mfccb = c0; - mfaab = c0; - mfcab = c0; - mfacb = c0; - mfcbc = c0; - mfaba = c0; - mfcba = c0; - mfabc = c0; - mfbcc = c0; - mfbaa = c0; - mfbca = c0; - mfbac = c0; - mfbbb = c0; - mfccc = c0; - mfaac = c0; - mfcac = c0; - mfacc = c0; - mfcca = c0; - mfaaa = c0; - mfcaa = c0; - mfaca = c0; - ///////////// - mgcbb = c0; - mgabb = c0; - mgbcb = c0; - mgbab = c0; - mgbbc = c0; - mgbba = c0; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position NEB 0.25f, 0.25f, -0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = c1o4; - y = c1o4; - z = -c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c27o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c1o64*drho_SWT; - //press = press_NET * (c9o64 - c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + - // press_NWT * (c3o64 + c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + - // press_SET * (c3o64 - c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c1o64 + c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + - // press_SWB * (c3o64 + c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + - // press_NWB * (c9o64 + c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c9o64 - c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + - // press_NEB * (c27o64 - c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff); - //drho = drho_NET * (c9o64 - c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + - // drho_NWT * (c3o64 + c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + - // drho_SET * (c3o64 - c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c1o64 + c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + - // drho_SWB * (c3o64 + c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + - // drho_NWB * (c9o64 + c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c9o64 - c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + - // drho_NEB * (c27o64 - c9o16 * xoff - c9o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press); - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0; - - //////////////////////////////////////////////////////////////////////////////////// - // D3Q27F - dxux = (ax + c2o1*axx*x + axy*y + axz*z + axyz*y*z); - dyuy = (by + bxy*x + c2o1*byy*y + byz*z + bxyz*x*z); - dzuz = (cz - cxz*x + cyz*y + c2o1*czz*z + cxyz*x*y); - mgcbb = (vvx * axx + dxux * dxux) * (eps_new * eps_new) * (c1o1 + press); - mgabb = -(vvx * axx + dxux * dxux) * (eps_new * eps_new) * (c1o1 + press); - mgbcb = (vvy * byy + dyuy * dyuy) * (eps_new * eps_new) * (c1o1 + press); - mgbab = -(vvy * byy + dyuy * dyuy) * (eps_new * eps_new) * (c1o1 + press); - mgbbc = (vvz * czz + dzuz * dzuz) * (eps_new * eps_new) * (c1o1 + press); - mgbba = -(vvz * czz + dzuz * dzuz) * (eps_new * eps_new) * (c1o1 + press); - //mgcbb = zero; - //mgabb = zero; - //mgbcb = zero; - //mgbab = zero; - //mgbbc = zero; - //mgbba = zero; - //////////////////////////////////////////////////////////////////////////////////// - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index - k00M = k000; - kM0M = kM00; - k0MM = k0M0; - kMMM = kMM0; - k000 = kM00base; - kM00 = neighborFX[kM00base]; - k0M0 = kMM0base; - kMM0 = neighborFX[kMM0base]; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - (G.g[dP00])[k000] = mgcbb; - (G.g[dM00])[kM00] = mgabb; - (G.g[d0P0])[k000] = mgbcb; - (G.g[d0M0])[k0M0] = mgbab; - (G.g[d00P])[k000] = mgbbc; - (G.g[d00M])[k00M] = mgbba; - //////////////////////////////////////////////////////////////////////////////////// - fP00dest[k000] = mfcbb; - fM00dest[kM00] = mfabb; - f0P0dest[k000] = mfbcb; - f0M0dest[k0M0] = mfbab; - f00Pdest[k000] = mfbbc; - f00Mdest[k00M] = mfbba; - fPP0dest[k000] = mfccb; - fMM0dest[kMM0] = mfaab; - fPM0dest[k0M0] = mfcab; - fMP0dest[kM00] = mfacb; - fP0Pdest[k000] = mfcbc; - fM0Mdest[kM0M] = mfaba; - fP0Mdest[k00M] = mfcba; - fM0Pdest[kM00] = mfabc; - f0PPdest[k000] = mfbcc; - f0MMdest[k0MM] = mfbaa; - f0PMdest[k00M] = mfbca; - f0MPdest[k0M0] = mfbac; - f000dest[k000] = mfbbb; - fMMMdest[kMMM] = mfaaa; - fMMPdest[kMM0] = mfaac; - fMPPdest[kM00] = mfacc; - fMPMdest[kM0M] = mfaca; - fPPMdest[k00M] = mfcca; - fPPPdest[k000] = mfccc; - fPMPdest[k0M0] = mfcac; - fPMMdest[k0MM] = mfcaa; - //////////////////////////////////////////////////////////////////////////////////// - } -} -////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -////////////////////////////////////////////////////////////////////////// -__global__ void scaleCF_comp_D3Q27F3( real* DC, - real* DF, - real* G6, - unsigned int* neighborCX, - unsigned int* neighborCY, - unsigned int* neighborCZ, - unsigned int* neighborFX, - unsigned int* neighborFY, - unsigned int* neighborFZ, - unsigned long long numberOfLBnodesCoarse, - unsigned long long numberOfLBnodesFine, - bool isEvenTimestep, - unsigned int* posCSWB, - unsigned int* posFSWB, - unsigned int kCF, - real omCoarse, - real omFine, - real nu, - unsigned int nxC, - unsigned int nyC, - unsigned int nxF, - unsigned int nyF, - ICellNeigh offCF) -{ - real - *fP00dest, *fM00dest, *f0P0dest, *f0M0dest, *f00Pdest, *f00Mdest, *fPP0dest, *fMM0dest, *fPM0dest, - *fMP0dest, *fP0Pdest, *fM0Mdest, *fP0Mdest, *fM0Pdest, *f0PPdest, *f0MMdest, *f0PMdest, *f0MPdest, - *f000dest, *fMMMdest, *fMMPdest, *fMPPdest, *fMPMdest, *fPPMdest, *fPPPdest, *fPMPdest, *fPMMdest; - - - fP00dest = &DF[dP00 * numberOfLBnodesFine]; - fM00dest = &DF[dM00 * numberOfLBnodesFine]; - f0P0dest = &DF[d0P0 * numberOfLBnodesFine]; - f0M0dest = &DF[d0M0 * numberOfLBnodesFine]; - f00Pdest = &DF[d00P * numberOfLBnodesFine]; - f00Mdest = &DF[d00M * numberOfLBnodesFine]; - fPP0dest = &DF[dPP0 * numberOfLBnodesFine]; - fMM0dest = &DF[dMM0 * numberOfLBnodesFine]; - fPM0dest = &DF[dPM0 * numberOfLBnodesFine]; - fMP0dest = &DF[dMP0 * numberOfLBnodesFine]; - fP0Pdest = &DF[dP0P * numberOfLBnodesFine]; - fM0Mdest = &DF[dM0M * numberOfLBnodesFine]; - fP0Mdest = &DF[dP0M * numberOfLBnodesFine]; - fM0Pdest = &DF[dM0P * numberOfLBnodesFine]; - f0PPdest = &DF[d0PP * numberOfLBnodesFine]; - f0MMdest = &DF[d0MM * numberOfLBnodesFine]; - f0PMdest = &DF[d0PM * numberOfLBnodesFine]; - f0MPdest = &DF[d0MP * numberOfLBnodesFine]; - f000dest = &DF[d000 * numberOfLBnodesFine]; - fMMMdest = &DF[dMMM * numberOfLBnodesFine]; - fMMPdest = &DF[dMMP * numberOfLBnodesFine]; - fMPPdest = &DF[dMPP * numberOfLBnodesFine]; - fMPMdest = &DF[dMPM * numberOfLBnodesFine]; - fPPMdest = &DF[dPPM * numberOfLBnodesFine]; - fPPPdest = &DF[dPPP * numberOfLBnodesFine]; - fPMPdest = &DF[dPMP * numberOfLBnodesFine]; - fPMMdest = &DF[dPMM * numberOfLBnodesFine]; - - real - *fP00source, *fM00source, *f0P0source, *f0M0source, *f00Psource, *f00Msource, *fPP0source, *fMM0source, *fPM0source, - *fMP0source, *fP0Psource, *fM0Msource, *fP0Msource, *fM0Psource, *f0PPsource, *f0MMsource, *f0PMsource, *f0MPsource, - *f000source, *fMMMsource, *fMMPsource, *fMPPsource, *fMPMsource, *fPPMsource, *fPPPsource, *fPMPsource, *fPMMsource; - - if (isEvenTimestep == true) - { - fP00source = &DC[dP00 * numberOfLBnodesCoarse]; - fM00source = &DC[dM00 * numberOfLBnodesCoarse]; - f0P0source = &DC[d0P0 * numberOfLBnodesCoarse]; - f0M0source = &DC[d0M0 * numberOfLBnodesCoarse]; - f00Psource = &DC[d00P * numberOfLBnodesCoarse]; - f00Msource = &DC[d00M * numberOfLBnodesCoarse]; - fPP0source = &DC[dPP0 * numberOfLBnodesCoarse]; - fMM0source = &DC[dMM0 * numberOfLBnodesCoarse]; - fPM0source = &DC[dPM0 * numberOfLBnodesCoarse]; - fMP0source = &DC[dMP0 * numberOfLBnodesCoarse]; - fP0Psource = &DC[dP0P * numberOfLBnodesCoarse]; - fM0Msource = &DC[dM0M * numberOfLBnodesCoarse]; - fP0Msource = &DC[dP0M * numberOfLBnodesCoarse]; - fM0Psource = &DC[dM0P * numberOfLBnodesCoarse]; - f0PPsource = &DC[d0PP * numberOfLBnodesCoarse]; - f0MMsource = &DC[d0MM * numberOfLBnodesCoarse]; - f0PMsource = &DC[d0PM * numberOfLBnodesCoarse]; - f0MPsource = &DC[d0MP * numberOfLBnodesCoarse]; - f000source = &DC[d000 * numberOfLBnodesCoarse]; - fMMMsource = &DC[dMMM * numberOfLBnodesCoarse]; - fMMPsource = &DC[dMMP * numberOfLBnodesCoarse]; - fMPPsource = &DC[dMPP * numberOfLBnodesCoarse]; - fMPMsource = &DC[dMPM * numberOfLBnodesCoarse]; - fPPMsource = &DC[dPPM * numberOfLBnodesCoarse]; - fPPPsource = &DC[dPPP * numberOfLBnodesCoarse]; - fPMPsource = &DC[dPMP * numberOfLBnodesCoarse]; - fPMMsource = &DC[dPMM * numberOfLBnodesCoarse]; - } - else - { - fP00source = &DC[dM00 * numberOfLBnodesCoarse]; - fM00source = &DC[dP00 * numberOfLBnodesCoarse]; - f0P0source = &DC[d0M0 * numberOfLBnodesCoarse]; - f0M0source = &DC[d0P0 * numberOfLBnodesCoarse]; - f00Psource = &DC[d00M * numberOfLBnodesCoarse]; - f00Msource = &DC[d00P * numberOfLBnodesCoarse]; - fPP0source = &DC[dMM0 * numberOfLBnodesCoarse]; - fMM0source = &DC[dPP0 * numberOfLBnodesCoarse]; - fPM0source = &DC[dMP0 * numberOfLBnodesCoarse]; - fMP0source = &DC[dPM0 * numberOfLBnodesCoarse]; - fP0Psource = &DC[dM0M * numberOfLBnodesCoarse]; - fM0Msource = &DC[dP0P * numberOfLBnodesCoarse]; - fP0Msource = &DC[dM0P * numberOfLBnodesCoarse]; - fM0Psource = &DC[dP0M * numberOfLBnodesCoarse]; - f0PPsource = &DC[d0MM * numberOfLBnodesCoarse]; - f0MMsource = &DC[d0PP * numberOfLBnodesCoarse]; - f0PMsource = &DC[d0MP * numberOfLBnodesCoarse]; - f0MPsource = &DC[d0PM * numberOfLBnodesCoarse]; - f000source = &DC[d000 * numberOfLBnodesCoarse]; - fMMMsource = &DC[dPPP * numberOfLBnodesCoarse]; - fMMPsource = &DC[dPPM * numberOfLBnodesCoarse]; - fMPPsource = &DC[dPMM * numberOfLBnodesCoarse]; - fMPMsource = &DC[dPMP * numberOfLBnodesCoarse]; - fPPMsource = &DC[dMMP * numberOfLBnodesCoarse]; - fPPPsource = &DC[dMMM * numberOfLBnodesCoarse]; - fPMPsource = &DC[dMPM * numberOfLBnodesCoarse]; - fPMMsource = &DC[dMPP * numberOfLBnodesCoarse]; - } - - Distributions6 G; - G.g[dP00] = &G6[dP00 * numberOfLBnodesFine]; - G.g[dM00] = &G6[dM00 * numberOfLBnodesFine]; - G.g[d0P0] = &G6[d0P0 * numberOfLBnodesFine]; - G.g[d0M0] = &G6[d0M0 * numberOfLBnodesFine]; - G.g[d00P] = &G6[d00P * numberOfLBnodesFine]; - G.g[d00M] = &G6[d00M * numberOfLBnodesFine]; - - //////////////////////////////////////////////////////////////////////////////// - const unsigned ix = threadIdx.x; // Globaler x-Index - const unsigned iy = blockIdx.x; // Globaler y-Index - const unsigned iz = blockIdx.y; // Globaler z-Index - - const unsigned nx = blockDim.x; - const unsigned ny = gridDim.x; - - const unsigned k = nx*(ny*iz + iy) + ix; - ////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////// - real eps_new = c1o2; - real omegaS = omCoarse;//-omCoarse; - real o = omFine;//-omFine; - real oP = o;//:( - //real op = one; - //real cu_sq; - - real xoff, yoff, zoff; - real xoff_sq, yoff_sq, zoff_sq; - - // real drho; - real vvx, vvy, vvz, vx2, vy2, vz2; - real press;//,drho,vx1,vx2,vx3; - real /*pressMMP,*/drhoMMP,vx1MMP,vx2MMP,vx3MMP; - real /*pressMPP,*/drhoMPP,vx1MPP,vx2MPP,vx3MPP; - real /*pressPPP,*/drhoPPP,vx1PPP,vx2PPP,vx3PPP; - real /*pressPMP,*/drhoPMP,vx1PMP,vx2PMP,vx3PMP; - real /*pressMMM,*/drhoMMM,vx1MMM,vx2MMM,vx3MMM; - real /*pressMPM,*/drhoMPM,vx1MPM,vx2MPM,vx3MPM; - real /*pressPPM,*/drhoPPM,vx1PPM,vx2PPM,vx3PPM; - real /*pressPMM,*/drhoPMM,vx1PMM,vx2PMM,vx3PMM; - real fP00,fM00,f0P0,f0M0,f00P,f00M,fPP0,fMM0,fPM0,fMP0,fP0P,fM0M,fP0M,fM0P,f0PP,f0MM,f0PM,f0MP,f000,fPPP, fMMP, fPMP, fMPP, fPPM, fMMM, fPMM, fMPM; - //real feqP00,feqM00,feq0P0,feq0M0,feq00P,feq00M,feqPP0,feqMM0,feqPM0,feqMP0,feqP0P,feqM0M,feqP0M,feqM0P,feq0PP,feq0MM,feq0PM,feq0MP,feq000,feqPPP, feqMMP, feqPMP, feqMPP, feqPPM, feqMMM, feqPMM, feqMPM; - real kxyFromfcNEQMMP, kyzFromfcNEQMMP, kxzFromfcNEQMMP, kxxMyyFromfcNEQMMP, kxxMzzFromfcNEQMMP, kyyMzzFromfcNEQMMP; - real kxyFromfcNEQMPP, kyzFromfcNEQMPP, kxzFromfcNEQMPP, kxxMyyFromfcNEQMPP, kxxMzzFromfcNEQMPP, kyyMzzFromfcNEQMPP; - real kxyFromfcNEQPPP, kyzFromfcNEQPPP, kxzFromfcNEQPPP, kxxMyyFromfcNEQPPP, kxxMzzFromfcNEQPPP, kyyMzzFromfcNEQPPP; - real kxyFromfcNEQPMP, kyzFromfcNEQPMP, kxzFromfcNEQPMP, kxxMyyFromfcNEQPMP, kxxMzzFromfcNEQPMP, kyyMzzFromfcNEQPMP; - real kxyFromfcNEQMMM, kyzFromfcNEQMMM, kxzFromfcNEQMMM, kxxMyyFromfcNEQMMM, kxxMzzFromfcNEQMMM, kyyMzzFromfcNEQMMM; - real kxyFromfcNEQMPM, kyzFromfcNEQMPM, kxzFromfcNEQMPM, kxxMyyFromfcNEQMPM, kxxMzzFromfcNEQMPM, kyyMzzFromfcNEQMPM; - real kxyFromfcNEQPPM, kyzFromfcNEQPPM, kxzFromfcNEQPPM, kxxMyyFromfcNEQPPM, kxxMzzFromfcNEQPPM, kyyMzzFromfcNEQPPM; - real kxyFromfcNEQPMM, kyzFromfcNEQPMM, kxzFromfcNEQPMM, kxxMyyFromfcNEQPMM, kxxMzzFromfcNEQPMM, kyyMzzFromfcNEQPMM; - real a0, ax, ay, az, axx, ayy, azz, axy, axz, ayz, b0, bx, by, bz, bxx, byy, bzz, bxy, bxz, byz, c0, cx, cy, cz, cxx, cyy, czz, cxy, cxz, cyz, axyz, bxyz, cxyz; - real d0, dx, dy, dz, dxy, dxz, dyz, dxyz; - - real x,y,z; - - - if(k<kCF) - { - ////////////////////////////////////////////////////////////////////////// - xoff = offCF.x[k]; - yoff = offCF.y[k]; - zoff = offCF.z[k]; - xoff_sq = xoff * xoff; - yoff_sq = yoff * yoff; - zoff_sq = zoff * zoff; - ////////////////////////////////////////////////////////////////////////// - //SWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - unsigned int k000base = posCSWB[k]; - unsigned int kM00base = neighborCX[k000base]; - unsigned int k0M0base = neighborCY[k000base]; - unsigned int k00Mbase = neighborCZ[k000base]; - unsigned int kMM0base = neighborCY[kM00base]; - unsigned int kM0Mbase = neighborCZ[kM00base]; - unsigned int k0MMbase = neighborCZ[k0M0base]; - unsigned int kMMMbase = neighborCZ[kMM0base]; - ////////////////////////////////////////////////////////////////////////// - //index - unsigned int k000 = k000base; - unsigned int kM00 = kM00base; - unsigned int k0M0 = k0M0base; - unsigned int k00M = k00Mbase; - unsigned int kMM0 = kMM0base; - unsigned int kM0M = kM0Mbase; - unsigned int k0MM = k0MMbase; - unsigned int kMMM = kMMMbase; - //////////////////////////////////////////////////////////////////////////////// - fP00 = fP00source[k000]; - fM00 = fM00source[kM00]; - f0P0 = f0P0source[k000]; - f0M0 = f0M0source[k0M0]; - f00P = f00Psource[k000]; - f00M = f00Msource[k00M]; - fPP0 = fPP0source[k000]; - fMM0 = fMM0source[kMM0]; - fPM0 = fPM0source[k0M0]; - fMP0 = fMP0source[kM00]; - fP0P = fP0Psource[k000]; - fM0M = fM0Msource[kM0M]; - fP0M = fP0Msource[k00M]; - fM0P = fM0Psource[kM00]; - f0PP = f0PPsource[k000]; - f0MM = f0MMsource[k0MM]; - f0PM = f0PMsource[k00M]; - f0MP = f0MPsource[k0M0]; - f000 = f000source[k000]; - fMMM = fMMMsource[kMMM]; - fMMP = fMMPsource[kMM0]; - fMPP = fMPPsource[kM00]; - fMPM = fMPMsource[kM0M]; - fPPM = fPPMsource[k00M]; - fPPP = fPPPsource[k000]; - fPMP = fPMPsource[k0M0]; - fPMM = fPMMsource[k0MM]; - - drhoMMM = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM; - vx1MMM = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoMMM); - vx2MMM = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMMM); - vx3MMM = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMMM); - - kxyFromfcNEQMMM = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMM) - ((vx1MMM*vx2MMM))); - kyzFromfcNEQMMM = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMMM) - ((vx2MMM*vx3MMM))); - kxzFromfcNEQMMM = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMM) - ((vx1MMM*vx3MMM))); - kxxMyyFromfcNEQMMM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMMM) - ((vx1MMM*vx1MMM - vx2MMM*vx2MMM))); - kxxMzzFromfcNEQMMM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMMM) - ((vx1MMM*vx1MMM - vx3MMM*vx3MMM))); - kyyMzzFromfcNEQMMM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMMM) - ((vx2MMM*vx2MMM - vx3MMM*vx3MMM))); - - ////////////////////////////////////////////////////////////////////////// - //SWT// - ////////////////////////////////////////////////////////////////////////// - //index - k000 = k00M; - kM00 = kM0M; - k0M0 = k0MM; - k00M = neighborCZ[k00M]; - kMM0 = kMMM; - kM0M = neighborCZ[kM0M]; - k0MM = neighborCZ[k0MM]; - kMMM = neighborCZ[kMMM]; - //////////////////////////////////////////////////////////////////////////////// - fP00 = fP00source[k000]; - fM00 = fM00source[kM00]; - f0P0 = f0P0source[k000]; - f0M0 = f0M0source[k0M0]; - f00P = f00Psource[k000]; - f00M = f00Msource[k00M]; - fPP0 = fPP0source[k000]; - fMM0 = fMM0source[kMM0]; - fPM0 = fPM0source[k0M0]; - fMP0 = fMP0source[kM00]; - fP0P = fP0Psource[k000]; - fM0M = fM0Msource[kM0M]; - fP0M = fP0Msource[k00M]; - fM0P = fM0Psource[kM00]; - f0PP = f0PPsource[k000]; - f0MM = f0MMsource[k0MM]; - f0PM = f0PMsource[k00M]; - f0MP = f0MPsource[k0M0]; - f000 = f000source[k000]; - fMMM = fMMMsource[kMMM]; - fMMP = fMMPsource[kMM0]; - fMPP = fMPPsource[kM00]; - fMPM = fMPMsource[kM0M]; - fPPM = fPPMsource[k00M]; - fPPP = fPPPsource[k000]; - fPMP = fPMPsource[k0M0]; - fPMM = fPMMsource[k0MM]; - - drhoMMP = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM; - vx1MMP = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoMMP); - vx2MMP = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMMP); - vx3MMP = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMMP); - - kxyFromfcNEQMMP = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMP) - ((vx1MMP*vx2MMP))); - kyzFromfcNEQMMP = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMMP) - ((vx2MMP*vx3MMP))); - kxzFromfcNEQMMP = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMP) - ((vx1MMP*vx3MMP))); - kxxMyyFromfcNEQMMP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMMP) - ((vx1MMP*vx1MMP - vx2MMP*vx2MMP))); - kxxMzzFromfcNEQMMP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMMP) - ((vx1MMP*vx1MMP - vx3MMP*vx3MMP))); - kyyMzzFromfcNEQMMP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMMP) - ((vx2MMP*vx2MMP - vx3MMP*vx3MMP))); - - ////////////////////////////////////////////////////////////////////////// - //SET// - ////////////////////////////////////////////////////////////////////////// - //index - k000 = kM00; - kM00 = neighborCX[kM00]; - k0M0 = kMM0; - k00M = kM0M; - kMM0 = neighborCX[kMM0]; - kM0M = neighborCX[kM0M]; - k0MM = kMMM; - kMMM = neighborCX[kMMM]; - //////////////////////////////////////////////////////////////////////////////// - fP00 = fP00source[k000]; - fM00 = fM00source[kM00]; - f0P0 = f0P0source[k000]; - f0M0 = f0M0source[k0M0]; - f00P = f00Psource[k000]; - f00M = f00Msource[k00M]; - fPP0 = fPP0source[k000]; - fMM0 = fMM0source[kMM0]; - fPM0 = fPM0source[k0M0]; - fMP0 = fMP0source[kM00]; - fP0P = fP0Psource[k000]; - fM0M = fM0Msource[kM0M]; - fP0M = fP0Msource[k00M]; - fM0P = fM0Psource[kM00]; - f0PP = f0PPsource[k000]; - f0MM = f0MMsource[k0MM]; - f0PM = f0PMsource[k00M]; - f0MP = f0MPsource[k0M0]; - f000 = f000source[k000]; - fMMM = fMMMsource[kMMM]; - fMMP = fMMPsource[kMM0]; - fMPP = fMPPsource[kM00]; - fMPM = fMPMsource[kM0M]; - fPPM = fPPMsource[k00M]; - fPPP = fPPPsource[k000]; - fPMP = fPMPsource[k0M0]; - fPMM = fPMMsource[k0MM]; - - drhoPMP = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM; - vx1PMP = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoPMP); - vx2PMP = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPMP); - vx3PMP = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPMP); - - kxyFromfcNEQPMP = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMP) - ((vx1PMP*vx2PMP))); - kyzFromfcNEQPMP = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPMP) - ((vx2PMP*vx3PMP))); - kxzFromfcNEQPMP = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMP) - ((vx1PMP*vx3PMP))); - kxxMyyFromfcNEQPMP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPMP) - ((vx1PMP*vx1PMP - vx2PMP*vx2PMP))); - kxxMzzFromfcNEQPMP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPMP) - ((vx1PMP*vx1PMP - vx3PMP*vx3PMP))); - kyyMzzFromfcNEQPMP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPMP) - ((vx2PMP*vx2PMP - vx3PMP*vx3PMP))); - - ////////////////////////////////////////////////////////////////////////// - //SEB// - ////////////////////////////////////////////////////////////////////////// - //index - k00M = k000; - kM0M = kM00; - k0MM = k0M0; - kMMM = kMM0; - k000 = kM00base; - kM00 = neighborCX[kM00base]; - k0M0 = kMM0base; - kMM0 = neighborCX[kMM0base]; - //////////////////////////////////////////////////////////////////////////////// - fP00 = fP00source[k000]; - fM00 = fM00source[kM00]; - f0P0 = f0P0source[k000]; - f0M0 = f0M0source[k0M0]; - f00P = f00Psource[k000]; - f00M = f00Msource[k00M]; - fPP0 = fPP0source[k000]; - fMM0 = fMM0source[kMM0]; - fPM0 = fPM0source[k0M0]; - fMP0 = fMP0source[kM00]; - fP0P = fP0Psource[k000]; - fM0M = fM0Msource[kM0M]; - fP0M = fP0Msource[k00M]; - fM0P = fM0Psource[kM00]; - f0PP = f0PPsource[k000]; - f0MM = f0MMsource[k0MM]; - f0PM = f0PMsource[k00M]; - f0MP = f0MPsource[k0M0]; - f000 = f000source[k000]; - fMMM = fMMMsource[kMMM]; - fMMP = fMMPsource[kMM0]; - fMPP = fMPPsource[kM00]; - fMPM = fMPMsource[kM0M]; - fPPM = fPPMsource[k00M]; - fPPP = fPPPsource[k000]; - fPMP = fPMPsource[k0M0]; - fPMM = fPMMsource[k0MM]; - - drhoPMM = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM; - vx1PMM = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoPMM); - vx2PMM = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPMM); - vx3PMM = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPMM); - - kxyFromfcNEQPMM = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMM) - ((vx1PMM*vx2PMM))); - kyzFromfcNEQPMM = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPMM) - ((vx2PMM*vx3PMM))); - kxzFromfcNEQPMM = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMM) - ((vx1PMM*vx3PMM))); - kxxMyyFromfcNEQPMM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPMM) - ((vx1PMM*vx1PMM - vx2PMM*vx2PMM))); - kxxMzzFromfcNEQPMM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPMM) - ((vx1PMM*vx1PMM - vx3PMM*vx3PMM))); - kyyMzzFromfcNEQPMM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPMM) - ((vx2PMM*vx2PMM - vx3PMM*vx3PMM))); - - ////////////////////////////////////////////////////////////////////////// - //NWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - k000base = k0M0base; - kM00base = kMM0base; - k0M0base = neighborCY[k0M0base]; - k00Mbase = k0MMbase; - kMM0base = neighborCY[kMM0base]; - kM0Mbase = kMMMbase; - k0MMbase = neighborCY[k0MMbase]; - kMMMbase = neighborCY[kMMMbase]; - ////////////////////////////////////////////////////////////////////////// - //index - k000 = k000base; - kM00 = kM00base; - k0M0 = k0M0base; - k00M = k00Mbase; - kMM0 = kMM0base; - kM0M = kM0Mbase; - k0MM = k0MMbase; - kMMM = kMMMbase; - //////////////////////////////////////////////////////////////////////////////// - fP00 = fP00source[k000]; - fM00 = fM00source[kM00]; - f0P0 = f0P0source[k000]; - f0M0 = f0M0source[k0M0]; - f00P = f00Psource[k000]; - f00M = f00Msource[k00M]; - fPP0 = fPP0source[k000]; - fMM0 = fMM0source[kMM0]; - fPM0 = fPM0source[k0M0]; - fMP0 = fMP0source[kM00]; - fP0P = fP0Psource[k000]; - fM0M = fM0Msource[kM0M]; - fP0M = fP0Msource[k00M]; - fM0P = fM0Psource[kM00]; - f0PP = f0PPsource[k000]; - f0MM = f0MMsource[k0MM]; - f0PM = f0PMsource[k00M]; - f0MP = f0MPsource[k0M0]; - f000 = f000source[k000]; - fMMM = fMMMsource[kMMM]; - fMMP = fMMPsource[kMM0]; - fMPP = fMPPsource[kM00]; - fMPM = fMPMsource[kM0M]; - fPPM = fPPMsource[k00M]; - fPPP = fPPPsource[k000]; - fPMP = fPMPsource[k0M0]; - fPMM = fPMMsource[k0MM]; - - drhoMPM = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM; - vx1MPM = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoMPM); - vx2MPM = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMPM); - vx3MPM = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMPM); - - kxyFromfcNEQMPM = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPM) - ((vx1MPM*vx2MPM))); - kyzFromfcNEQMPM = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMPM) - ((vx2MPM*vx3MPM))); - kxzFromfcNEQMPM = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPM) - ((vx1MPM*vx3MPM))); - kxxMyyFromfcNEQMPM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMPM) - ((vx1MPM*vx1MPM - vx2MPM*vx2MPM))); - kxxMzzFromfcNEQMPM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMPM) - ((vx1MPM*vx1MPM - vx3MPM*vx3MPM))); - kyyMzzFromfcNEQMPM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMPM) - ((vx2MPM*vx2MPM - vx3MPM*vx3MPM))); - - ////////////////////////////////////////////////////////////////////////// - //NWT// - ////////////////////////////////////////////////////////////////////////// - //index - k000 = k00M; - kM00 = kM0M; - k0M0 = k0MM; - k00M = neighborCZ[k00M]; - kMM0 = kMMM; - kM0M = neighborCZ[kM0M]; - k0MM = neighborCZ[k0MM]; - kMMM = neighborCZ[kMMM]; - //////////////////////////////////////////////////////////////////////////////// - fP00 = fP00source[k000]; - fM00 = fM00source[kM00]; - f0P0 = f0P0source[k000]; - f0M0 = f0M0source[k0M0]; - f00P = f00Psource[k000]; - f00M = f00Msource[k00M]; - fPP0 = fPP0source[k000]; - fMM0 = fMM0source[kMM0]; - fPM0 = fPM0source[k0M0]; - fMP0 = fMP0source[kM00]; - fP0P = fP0Psource[k000]; - fM0M = fM0Msource[kM0M]; - fP0M = fP0Msource[k00M]; - fM0P = fM0Psource[kM00]; - f0PP = f0PPsource[k000]; - f0MM = f0MMsource[k0MM]; - f0PM = f0PMsource[k00M]; - f0MP = f0MPsource[k0M0]; - f000 = f000source[k000]; - fMMM = fMMMsource[kMMM]; - fMMP = fMMPsource[kMM0]; - fMPP = fMPPsource[kM00]; - fMPM = fMPMsource[kM0M]; - fPPM = fPPMsource[k00M]; - fPPP = fPPPsource[k000]; - fPMP = fPMPsource[k0M0]; - fPMM = fPMMsource[k0MM]; - - drhoMPP = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM; - vx1MPP = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoMPP); - vx2MPP = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMPP); - vx3MPP = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMPP); - - kxyFromfcNEQMPP = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPP) - ((vx1MPP*vx2MPP))); - kyzFromfcNEQMPP = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMPP) - ((vx2MPP*vx3MPP))); - kxzFromfcNEQMPP = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPP) - ((vx1MPP*vx3MPP))); - kxxMyyFromfcNEQMPP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMPP) - ((vx1MPP*vx1MPP - vx2MPP*vx2MPP))); - kxxMzzFromfcNEQMPP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMPP) - ((vx1MPP*vx1MPP - vx3MPP*vx3MPP))); - kyyMzzFromfcNEQMPP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMPP) - ((vx2MPP*vx2MPP - vx3MPP*vx3MPP))); - - ////////////////////////////////////////////////////////////////////////// - //NET// - ////////////////////////////////////////////////////////////////////////// - //index - k000 = kM00; - kM00 = neighborCX[kM00]; - k0M0 = kMM0; - k00M = kM0M; - kMM0 = neighborCX[kMM0]; - kM0M = neighborCX[kM0M]; - k0MM = kMMM; - kMMM = neighborCX[kMMM]; - //////////////////////////////////////////////////////////////////////////////// - fP00 = fP00source[k000]; - fM00 = fM00source[kM00]; - f0P0 = f0P0source[k000]; - f0M0 = f0M0source[k0M0]; - f00P = f00Psource[k000]; - f00M = f00Msource[k00M]; - fPP0 = fPP0source[k000]; - fMM0 = fMM0source[kMM0]; - fPM0 = fPM0source[k0M0]; - fMP0 = fMP0source[kM00]; - fP0P = fP0Psource[k000]; - fM0M = fM0Msource[kM0M]; - fP0M = fP0Msource[k00M]; - fM0P = fM0Psource[kM00]; - f0PP = f0PPsource[k000]; - f0MM = f0MMsource[k0MM]; - f0PM = f0PMsource[k00M]; - f0MP = f0MPsource[k0M0]; - f000 = f000source[k000]; - fMMM = fMMMsource[kMMM]; - fMMP = fMMPsource[kMM0]; - fMPP = fMPPsource[kM00]; - fMPM = fMPMsource[kM0M]; - fPPM = fPPMsource[k00M]; - fPPP = fPPPsource[k000]; - fPMP = fPMPsource[k0M0]; - fPMM = fPMMsource[k0MM]; - - drhoPPP = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM; - vx1PPP = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoPPP); - vx2PPP = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPPP); - vx3PPP = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPPP); - - kxyFromfcNEQPPP = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPP) - ((vx1PPP*vx2PPP))); - kyzFromfcNEQPPP = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPPP) - ((vx2PPP*vx3PPP))); - kxzFromfcNEQPPP = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPP) - ((vx1PPP*vx3PPP))); - kxxMyyFromfcNEQPPP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPPP) - ((vx1PPP*vx1PPP - vx2PPP*vx2PPP))); - kxxMzzFromfcNEQPPP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPPP) - ((vx1PPP*vx1PPP - vx3PPP*vx3PPP))); - kyyMzzFromfcNEQPPP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPPP) - ((vx2PPP*vx2PPP - vx3PPP*vx3PPP))); - - ////////////////////////////////////////////////////////////////////////// - //NEB// - ////////////////////////////////////////////////////////////////////////// - //index - k00M = k000; - kM0M = kM00; - k0MM = k0M0; - kMMM = kMM0; - k000 = kM00base; - kM00 = neighborCX[kM00base]; - k0M0 = kMM0base; - kMM0 = neighborCX[kMM0base]; - //////////////////////////////////////////////////////////////////////////////// - fP00 = fP00source[k000]; - fM00 = fM00source[kM00]; - f0P0 = f0P0source[k000]; - f0M0 = f0M0source[k0M0]; - f00P = f00Psource[k000]; - f00M = f00Msource[k00M]; - fPP0 = fPP0source[k000]; - fMM0 = fMM0source[kMM0]; - fPM0 = fPM0source[k0M0]; - fMP0 = fMP0source[kM00]; - fP0P = fP0Psource[k000]; - fM0M = fM0Msource[kM0M]; - fP0M = fP0Msource[k00M]; - fM0P = fM0Psource[kM00]; - f0PP = f0PPsource[k000]; - f0MM = f0MMsource[k0MM]; - f0PM = f0PMsource[k00M]; - f0MP = f0MPsource[k0M0]; - f000 = f000source[k000]; - fMMM = fMMMsource[kMMM]; - fMMP = fMMPsource[kMM0]; - fMPP = fMPPsource[kM00]; - fMPM = fMPMsource[kM0M]; - fPPM = fPPMsource[k00M]; - fPPP = fPPPsource[k000]; - fPMP = fPMPsource[k0M0]; - fPMM = fPMMsource[k0MM]; - - drhoPPM = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM; - vx1PPM = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoPPM); - vx2PPM = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPPM); - vx3PPM = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPPM); - - kxyFromfcNEQPPM = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPM) - ((vx1PPM*vx2PPM))); - kyzFromfcNEQPPM = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPPM) - ((vx2PPM*vx3PPM))); - kxzFromfcNEQPPM = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPM) - ((vx1PPM*vx3PPM))); - kxxMyyFromfcNEQPPM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPPM) - ((vx1PPM*vx1PPM - vx2PPM*vx2PPM))); - kxxMzzFromfcNEQPPM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPPM) - ((vx1PPM*vx1PPM - vx3PPM*vx3PPM))); - kyyMzzFromfcNEQPPM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPPM) - ((vx2PPM*vx2PPM - vx3PPM*vx3PPM))); - - ////////////////////////////////////////////////////////////////////////// - //3 - ////////////////////////////////////////////////////////////////////////// - a0 = c1o8*(((vx1PPM + vx1PPP) + (vx1MPM + vx1MPP)) + ((vx1PMM + vx1PMP) + (vx1MMM + vx1MMP))); - ax = c1o4*(((vx1PPM - vx1MMP) + (vx1PPP - vx1MMM)) + ((vx1PMP - vx1MPM) + (vx1PMM - vx1MPP))); - ay = c1o4*(((vx1PPM - vx1MMP) + (vx1PPP - vx1MMM)) + ((vx1MPM - vx1PMP) + (vx1MPP - vx1PMM))); - az = c1o4*(((vx1MMP - vx1PPM) + (vx1PPP - vx1MMM)) + ((vx1PMP - vx1MPM) + (vx1MPP - vx1PMM))); - axy = c1o2*(((vx1PPM - vx1PMP) + (vx1MMM - vx1MPP)) + ((vx1MMP - vx1MPM) + (vx1PPP - vx1PMM))); - axz = c1o2*(((vx1PMP - vx1PPM) + (vx1MMM - vx1MPP)) + ((vx1MPM - vx1MMP) + (vx1PPP - vx1PMM))); - ayz = c1o2*(((vx1PPP - vx1MPM) + (vx1PMM - vx1MMP)) + ((vx1MPP - vx1PPM) + (vx1MMM - vx1PMP))); - axyz= ((vx1MMP - vx1PPM) + (vx1PPP - vx1MMM)) + ((vx1MPM - vx1PMP) + (vx1PMM - vx1MPP)) ; - b0 = c1o8*(((vx2PPM + vx2PPP) + (vx2MPM + vx2MPP)) + ((vx2PMM + vx2PMP) + (vx2MMM + vx2MMP))); - bx = c1o4*(((vx2PPM - vx2MMP) + (vx2PPP - vx2MMM)) + ((vx2PMP - vx2MPM) + (vx2PMM - vx2MPP))); - by = c1o4*(((vx2PPM - vx2MMP) + (vx2PPP - vx2MMM)) + ((vx2MPM - vx2PMP) + (vx2MPP - vx2PMM))); - bz = c1o4*(((vx2MMP - vx2PPM) + (vx2PPP - vx2MMM)) + ((vx2PMP - vx2MPM) + (vx2MPP - vx2PMM))); - bxy = c1o2*(((vx2PPM - vx2MPP) + (vx2MMM - vx2PMP)) + ((vx2MMP - vx2PMM) + (vx2PPP - vx2MPM))); - bxz = c1o2*(((vx2MMM - vx2PPM) + (vx2PMP - vx2MPP)) + ((vx2MPM - vx2PMM) + (vx2PPP - vx2MMP))); - byz = c1o2*(((vx2MPP - vx2PPM) + (vx2MMM - vx2PMP)) + ((vx2PMM - vx2MMP) + (vx2PPP - vx2MPM))); - bxyz= ((vx2MMP - vx2PPM) + (vx2PPP - vx2MMM)) + ((vx2MPM - vx2PMP) + (vx2PMM - vx2MPP)) ; - c0 = c1o8*(((vx3PPM + vx3PPP) + (vx3MPM + vx3MPP)) + ((vx3PMM + vx3PMP) + (vx3MMM + vx3MMP))); - cx = c1o4*(((vx3PPM - vx3MMP) + (vx3PPP - vx3MMM)) + ((vx3PMP - vx3MPM) + (vx3PMM - vx3MPP))); - cy = c1o4*(((vx3PPM - vx3MMP) + (vx3PPP - vx3MMM)) + ((vx3MPM - vx3PMP) + (vx3MPP - vx3PMM))); - cz = c1o4*(((vx3MMP - vx3PPM) + (vx3PPP - vx3MMM)) + ((vx3PMP - vx3MPM) + (vx3MPP - vx3PMM))); - cxy = c1o2*(((vx3PPM - vx3PMP) + (vx3MMM - vx3MPP)) + ((vx3MMP - vx3MPM) + (vx3PPP - vx3PMM))); - cxz = c1o2*(((vx3MMM - vx3PPM) + (vx3PMP - vx3MPP)) + ((vx3MPM - vx3PMM) + (vx3PPP - vx3MMP))); - cyz = c1o2*(((vx3MMM - vx3PPM) + (vx3MPP - vx3PMP)) + ((vx3PMM - vx3MPM) + (vx3PPP - vx3MMP))); - cxyz= ((vx3MMP - vx3PPM) + (vx3PPP - vx3MMM)) + ((vx3MPM - vx3PMP) + (vx3PMM - vx3MPP)) ; - - //bxx = zero; - //cxx = zero; - //ayy = zero; - //cyy = zero; - //azz = zero; - //bzz = zero; - //axx = zero; - //byy = zero; - //czz = zero; - - bxx = c1o8*(((kxyFromfcNEQPPP - kxyFromfcNEQMMM) + (kxyFromfcNEQPMM - kxyFromfcNEQMPP)) + ((kxyFromfcNEQPMP - kxyFromfcNEQMPM) + (kxyFromfcNEQPPM - kxyFromfcNEQMMP))) - c1o2*axy; - cxx = c1o8*(((kxzFromfcNEQPPP - kxzFromfcNEQMMM) + (kxzFromfcNEQPMM - kxzFromfcNEQMPP)) + ((kxzFromfcNEQPMP - kxzFromfcNEQMPM) + (kxzFromfcNEQPPM - kxzFromfcNEQMMP))) - c1o2*axz; - - ayy = c1o8*(((kxyFromfcNEQPPP - kxyFromfcNEQMMM) + (kxyFromfcNEQPPM - kxyFromfcNEQMMP)) - ((kxyFromfcNEQPMM - kxyFromfcNEQMPP) + (kxyFromfcNEQPMP - kxyFromfcNEQMPM))) - c1o2*bxy; - cyy = c1o8*(((kyzFromfcNEQPPP - kyzFromfcNEQMMM) + (kyzFromfcNEQPPM - kyzFromfcNEQMMP)) - ((kyzFromfcNEQPMM - kyzFromfcNEQMPP) + (kyzFromfcNEQPMP - kyzFromfcNEQMPM))) - c1o2*byz; - - azz = c1o8*(((kxzFromfcNEQPPP - kxzFromfcNEQMMM) - (kxzFromfcNEQPMM - kxzFromfcNEQMPP)) + ((kxzFromfcNEQPMP - kxzFromfcNEQMPM) - (kxzFromfcNEQPPM - kxzFromfcNEQMMP))) - c1o2*cxz; - bzz = c1o8*(((kyzFromfcNEQPPP - kyzFromfcNEQMMM) - (kyzFromfcNEQPMM - kyzFromfcNEQMPP)) + ((kyzFromfcNEQPMP - kyzFromfcNEQMPM) - (kyzFromfcNEQPPM - kyzFromfcNEQMMP))) - c1o2*cyz; - - axx = (c1o16*(((kxxMyyFromfcNEQPPP - kxxMyyFromfcNEQMMM) + (kxxMyyFromfcNEQPMM - kxxMyyFromfcNEQMPP)) + ((kxxMyyFromfcNEQPMP - kxxMyyFromfcNEQMPM) + (kxxMyyFromfcNEQPPM - kxxMyyFromfcNEQMMP))) - c1o4*bxy) - + (c1o16*(((kxxMzzFromfcNEQPPP - kxxMzzFromfcNEQMMM) + (kxxMzzFromfcNEQPMM - kxxMzzFromfcNEQMPP)) + ((kxxMzzFromfcNEQPMP - kxxMzzFromfcNEQMPM) + (kxxMzzFromfcNEQPPM - kxxMzzFromfcNEQMMP))) - c1o4*cxz); - - byy = (-c1o16*(((kxxMyyFromfcNEQPPP - kxxMyyFromfcNEQMMM) - (kxxMyyFromfcNEQPMM - kxxMyyFromfcNEQMPP)) + ((kxxMyyFromfcNEQPPM - kxxMyyFromfcNEQMMP) - (kxxMyyFromfcNEQPMP - kxxMyyFromfcNEQMPM))) - c1o4*axy) - + (c1o16*(((kyyMzzFromfcNEQPPP - kyyMzzFromfcNEQMMM) - (kyyMzzFromfcNEQPMM - kyyMzzFromfcNEQMPP)) + ((kyyMzzFromfcNEQPPM - kyyMzzFromfcNEQMMP) - (kyyMzzFromfcNEQPMP - kyyMzzFromfcNEQMPM))) - c1o4*cyz); - - czz = (-c1o16*(((kxxMzzFromfcNEQPPP - kxxMzzFromfcNEQMMM) - (kxxMzzFromfcNEQPMM - kxxMzzFromfcNEQMPP)) - ((kxxMzzFromfcNEQPPM - kxxMzzFromfcNEQMMP) - (kxxMzzFromfcNEQPMP - kxxMzzFromfcNEQMPM))) - c1o4*axz) - + (c1o16*(((kyyMzzFromfcNEQPPP - kyyMzzFromfcNEQMMM) - (kyyMzzFromfcNEQPMM - kyyMzzFromfcNEQMPP)) - ((kyyMzzFromfcNEQPPM - kyyMzzFromfcNEQMMP) - (kyyMzzFromfcNEQPMP - kyyMzzFromfcNEQMPM))) - c1o4*byz); - - a0 -= c1o4*(axx + ayy + azz); - b0 -= c1o4*(bxx + byy + bzz); - c0 -= c1o4*(cxx + cyy + czz); - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real kxyAverage = c0; - real kyzAverage = c0; - real kxzAverage = c0; - real kxxMyyAverage = c0; - real kxxMzzAverage = c0; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //Press - //d0 = ( pressPPM + pressPPP + pressMPM + pressMPP + pressPMM + pressPMP + pressMMM + pressMMP) * c1o8; - //dx = ( pressPPM + pressPPP - pressMPM - pressMPP + pressPMM + pressPMP - pressMMM - pressMMP) * c1o4; - //dy = ( pressPPM + pressPPP + pressMPM + pressMPP - pressPMM - pressPMP - pressMMM - pressMMP) * c1o4; - //dz = (-pressPPM + pressPPP - pressMPM + pressMPP - pressPMM + pressPMP - pressMMM + pressMMP) * c1o4; - //dxy = ( pressPPM + pressPPP - pressMPM - pressMPP - pressPMM - pressPMP + pressMMM + pressMMP) * c1o2; - //dxz = (-pressPPM + pressPPP + pressMPM - pressMPP - pressPMM + pressPMP + pressMMM - pressMMP) * c1o2; - //dyz = (-pressPPM + pressPPP - pressMPM + pressMPP + pressPMM - pressPMP + pressMMM - pressMMP) * c1o2; - //dxyz = -pressPPM + pressPPP + pressMPM - pressMPP + pressPMM - pressPMP - pressMMM + pressMMP; - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho - d0 = ( ((drhoPPM + drhoMMP) + (drhoMPM + drhoPMP)) + ((drhoPMM + drhoMPP) + (drhoMMM + drhoPPP))) * c1o8; - dx = ( ((drhoPPM - drhoMMP) + (drhoPMM - drhoMPP)) + ((drhoPMP - drhoMPM) + (drhoPPP - drhoMMM))) * c1o4; - dy = ( ((drhoPPM - drhoMMP) + (drhoMPP - drhoPMM)) + ((drhoMPM - drhoPMP) + (drhoPPP - drhoMMM))) * c1o4; - dz = ( ((drhoMMP - drhoPPM) + (drhoPPP - drhoMMM)) + ((drhoPMP - drhoMPM) + (drhoMPP - drhoPMM))) * c1o4; - dxy = ( ((drhoPPM - drhoPMP) + (drhoPPP - drhoPMM)) + ((drhoMMP - drhoMPM) + (drhoMMM - drhoMPP))) * c1o2; - dxz = ( ((drhoMMM - drhoPPM) + (drhoPPP - drhoMMP)) + ((drhoMPM - drhoPMM) + (drhoPMP - drhoMPP))) * c1o2; - dyz = ( ((drhoMPP - drhoPPM) + (drhoPPP - drhoMPM)) + ((drhoPMM - drhoMMP) + (drhoMMM - drhoPMP))) * c1o2; - dxyz = -drhoPPM + drhoPPP + drhoMPM - drhoMPP + drhoPMM - drhoPMP - drhoMMM + drhoMMP; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - // Bernd das Brot - // - // X------X - // | | x---x - // | ---+-+-> | ----> off-vector - // | | x---x - // X------X - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - a0 = a0 + xoff * ax + yoff * ay + zoff * az + xoff_sq * axx + yoff_sq * ayy + zoff_sq * azz + xoff*yoff*axy + xoff*zoff*axz + yoff*zoff*ayz; - ax = ax + c2o1 * xoff * axx + yoff * axy + zoff * axz; - ay = ay + c2o1 * yoff * ayy + xoff * axy + zoff * ayz; - az = az + c2o1 * zoff * azz + xoff * axz + yoff * ayz; - b0 = b0 + xoff * bx + yoff * by + zoff * bz + xoff_sq * bxx + yoff_sq * byy + zoff_sq * bzz + xoff*yoff*bxy + xoff*zoff*bxz + yoff*zoff*byz; - bx = bx + c2o1 * xoff * bxx + yoff * bxy + zoff * bxz; - by = by + c2o1 * yoff * byy + xoff * bxy + zoff * byz; - bz = bz + c2o1 * zoff * bzz + xoff * bxz + yoff * byz; - c0 = c0 + xoff * cx + yoff * cy + zoff * cz + xoff_sq * cxx + yoff_sq * cyy + zoff_sq * czz + xoff*yoff*cxy + xoff*zoff*cxz + yoff*zoff*cyz; - cx = cx + c2o1 * xoff * cxx + yoff * cxy + zoff * cxz; - cy = cy + c2o1 * yoff * cyy + xoff * cxy + zoff * cyz; - cz = cz + c2o1 * zoff * czz + xoff * cxz + yoff * cyz; - d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz; - dx = dx + yoff * dxy + zoff * dxz; - dy = dy + xoff * dxy + zoff * dyz; - dz = dz + xoff * dxz + yoff * dyz; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = c0; - real mfabb = c0; - real mfbcb = c0; - real mfbab = c0; - real mfbbc = c0; - real mfbba = c0; - real mfccb = c0; - real mfaab = c0; - real mfcab = c0; - real mfacb = c0; - real mfcbc = c0; - real mfaba = c0; - real mfcba = c0; - real mfabc = c0; - real mfbcc = c0; - real mfbaa = c0; - real mfbca = c0; - real mfbac = c0; - real mfbbb = c0; - real mfccc = c0; - real mfaac = c0; - real mfcac = c0; - real mfacc = c0; - real mfcca = c0; - real mfaaa = c0; - real mfcaa = c0; - real mfaca = c0; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mgcbb = c0; - real mgabb = c0; - real mgbcb = c0; - real mgbab = c0; - real mgbbc = c0; - real mgbba = c0; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real m0, m1, m2, oMdrho; - real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz; - //real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein - //real O3 = two - o; - //real residu, residutmp; - //residutmp = zero;// /*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new; - real NeqOn = c1o1;//zero;//one; //.... one = on ..... zero = off - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position SWB -0.25f, -0.25f, -0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = -c1o4; - y = -c1o4; - z = -c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //real mxoff = -xoff; - //real myoff = -yoff; - //real mzoff = -zoff; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c3o64*drho_NEB+c1o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c27o64*drho_SWB+c9o64*drho_SWT; - //press = press_SWT * (c9o64 + c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + - // press_NWT * (c3o64 + c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + - // press_SET * (c3o64 - c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + - // press_NET * (c1o64 - c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + - // press_NEB * (c3o64 - c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + - // press_NWB * (c9o64 + c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c9o64 - c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c27o64 + c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff); - //drho = drho_SWT * (c9o64 + c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + - // drho_NWT * (c3o64 + c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - // drho_SET * (c3o64 - c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + - // drho_NET * (c1o64 - c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + - // drho_NEB * (c3o64 - c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + - // drho_NWB * (c9o64 + c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c9o64 - c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c27o64 + c9o16 * xoff + c9o16 * yoff + c9o16 * zoff); - - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z )*eps_new / oP* (c1o1 + press); - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0; - - //////////////////////////////////////////////////////////////////////////////////// - // D3Q27F - mgcbb = (ax - axx) * eps_new; - mgabb = (ax + axx) * eps_new; - mgbcb = (by - byy) * eps_new; - mgbab = (by + byy) * eps_new; - mgbbc = (cz - czz) * eps_new; - mgbba = (cz + czz) * eps_new; - //////////////////////////////////////////////////////////////////////////////////// - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index 0 - k000base = posFSWB[k]; - kM00base = neighborFX[k000base]; - k0M0base = neighborFY[k000base]; - k00Mbase = neighborFZ[k000base]; - kMM0base = neighborFY[kM00base]; - kM0Mbase = neighborFZ[kM00base]; - k0MMbase = neighborFZ[k0M0base]; - kMMMbase = neighborFZ[kMM0base]; - ////////////////////////////////////////////////////////////////////////// - //index - k000 = k000base; - kM00 = kM00base; - k0M0 = k0M0base; - k00M = k00Mbase; - kMM0 = kMM0base; - kM0M = kM0Mbase; - k0MM = k0MMbase; - kMMM = kMMMbase; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - (G.g[dP00])[k000] = mgcbb; - (G.g[dM00])[kM00] = mgabb; - (G.g[d0P0])[k000] = mgbcb; - (G.g[d0M0])[k0M0] = mgbab; - (G.g[d00P])[k000] = mgbbc; - (G.g[d00M])[k00M] = mgbba; - //////////////////////////////////////////////////////////////////////////////////// - fP00dest[k000] = mfcbb; - fM00dest[kM00] = mfabb; - f0P0dest[k000] = mfbcb; - f0M0dest[k0M0] = mfbab; - f00Pdest[k000] = mfbbc; - f00Mdest[k00M] = mfbba; - fPP0dest[k000] = mfccb; - fMM0dest[kMM0] = mfaab; - fPM0dest[k0M0] = mfcab; - fMP0dest[kM00] = mfacb; - fP0Pdest[k000] = mfcbc; - fM0Mdest[kM0M] = mfaba; - fP0Mdest[k00M] = mfcba; - fM0Pdest[kM00] = mfabc; - f0PPdest[k000] = mfbcc; - f0MMdest[k0MM] = mfbaa; - f0PMdest[k00M] = mfbca; - f0MPdest[k0M0] = mfbac; - f000dest[k000] = mfbbb; - fMMMdest[kMMM] = mfaaa; - fMMPdest[kMM0] = mfaac; - fMPPdest[kM00] = mfacc; - fMPMdest[kM0M] = mfaca; - fPPMdest[k00M] = mfcca; - fPPPdest[k000] = mfccc; - fPMPdest[k0M0] = mfcac; - fPMMdest[k0MM] = mfcaa; - //////////////////////////////////////////////////////////////////////////////////// - - //reset - mfcbb = c0; - mfabb = c0; - mfbcb = c0; - mfbab = c0; - mfbbc = c0; - mfbba = c0; - mfccb = c0; - mfaab = c0; - mfcab = c0; - mfacb = c0; - mfcbc = c0; - mfaba = c0; - mfcba = c0; - mfabc = c0; - mfbcc = c0; - mfbaa = c0; - mfbca = c0; - mfbac = c0; - mfbbb = c0; - mfccc = c0; - mfaac = c0; - mfcac = c0; - mfacc = c0; - mfcca = c0; - mfaaa = c0; - mfcaa = c0; - mfaca = c0; - ///////////// - mgcbb = c0; - mgabb = c0; - mgbcb = c0; - mgbab = c0; - mgbbc = c0; - mgbba = c0; - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position SWT -0.25f, -0.25f, 0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = -c1o4; - y = -c1o4; - z = c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c1o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c27o64*drho_SWT; - //press = press_SWT * (c27o64 + c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + - // press_NWT * (c9o64 + c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + - // press_SET * (c9o64 - c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + - // press_NET * (c3o64 - c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + - // press_NEB * (c1o64 - c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + - // press_NWB * (c3o64 + c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c3o64 - c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c9o64 + c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff); - //drho = drho_SWT * (c27o64 + c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + - // drho_NWT * (c9o64 + c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + - // drho_SET * (c9o64 - c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - // drho_NET * (c3o64 - c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + - // drho_NEB * (c1o64 - c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + - // drho_NWB * (c3o64 + c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c3o64 - c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c9o64 + c3o16 * xoff + c3o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press); - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0; - - //////////////////////////////////////////////////////////////////////////////////// - // D3Q27F - mgcbb = (ax - axx) * eps_new; - mgabb = (ax + axx) * eps_new; - mgbcb = (by - byy) * eps_new; - mgbab = (by + byy) * eps_new; - mgbbc = (cz - czz) * eps_new; - mgbba = (cz + czz) * eps_new; - //////////////////////////////////////////////////////////////////////////////////// - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - //index - k000 = k00M; - kM00 = kM0M; - k0M0 = k0MM; - k00M = neighborFZ[k00M]; - kMM0 = kMMM; - kM0M = neighborFZ[kM0M]; - k0MM = neighborFZ[k0MM]; - kMMM = neighborFZ[kMMM]; - //////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - (G.g[dP00])[k000] = mgcbb; - (G.g[dM00])[kM00] = mgabb; - (G.g[d0P0])[k000] = mgbcb; - (G.g[d0M0])[k0M0] = mgbab; - (G.g[d00P])[k000] = mgbbc; - (G.g[d00M])[k00M] = mgbba; - //////////////////////////////////////////////////////////////////////////////////// - fP00dest[k000] = mfcbb; - fM00dest[kM00] = mfabb; - f0P0dest[k000] = mfbcb; - f0M0dest[k0M0] = mfbab; - f00Pdest[k000] = mfbbc; - f00Mdest[k00M] = mfbba; - fPP0dest[k000] = mfccb; - fMM0dest[kMM0] = mfaab; - fPM0dest[k0M0] = mfcab; - fMP0dest[kM00] = mfacb; - fP0Pdest[k000] = mfcbc; - fM0Mdest[kM0M] = mfaba; - fP0Mdest[k00M] = mfcba; - fM0Pdest[kM00] = mfabc; - f0PPdest[k000] = mfbcc; - f0MMdest[k0MM] = mfbaa; - f0PMdest[k00M] = mfbca; - f0MPdest[k0M0] = mfbac; - f000dest[k000] = mfbbb; - fMMMdest[kMMM] = mfaaa; - fMMPdest[kMM0] = mfaac; - fMPPdest[kM00] = mfacc; - fMPMdest[kM0M] = mfaca; - fPPMdest[k00M] = mfcca; - fPPPdest[k000] = mfccc; - fPMPdest[k0M0] = mfcac; - fPMMdest[k0MM] = mfcaa; - //////////////////////////////////////////////////////////////////////////////////// - - - //reset - mfcbb = c0; - mfabb = c0; - mfbcb = c0; - mfbab = c0; - mfbbc = c0; - mfbba = c0; - mfccb = c0; - mfaab = c0; - mfcab = c0; - mfacb = c0; - mfcbc = c0; - mfaba = c0; - mfcba = c0; - mfabc = c0; - mfbcc = c0; - mfbaa = c0; - mfbca = c0; - mfbac = c0; - mfbbb = c0; - mfccc = c0; - mfaac = c0; - mfcac = c0; - mfacc = c0; - mfcca = c0; - mfaaa = c0; - mfcaa = c0; - mfaca = c0; - ///////////// - mgcbb = c0; - mgabb = c0; - mgbcb = c0; - mgbab = c0; - mgbbc = c0; - mgbba = c0; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position SET 0.25f, -0.25f, 0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = c1o4; - y = -c1o4; - z = c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho =c3o64*drho_NEB+c9o64*drho_NET+c1o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c27o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT; - //press = press_SET * (c27o64 - c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + - // press_NET * (c9o64 - c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c9o64 + c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + - // press_NWT * (c3o64 + c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + - // press_NWB * (c1o64 + c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + - // press_NEB * (c3o64 - c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c3o64 + c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c9o64 - c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff); - //drho = drho_SET * (c27o64 - c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + - // drho_NET * (c9o64 - c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c9o64 + c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - // drho_NWT * (c3o64 + c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + - // drho_NWB * (c1o64 + c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + - // drho_NEB * (c3o64 - c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c3o64 + c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c9o64 - c3o16 * xoff + c3o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press); - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0; - - //////////////////////////////////////////////////////////////////////////////////// - // D3Q27F - mgcbb = (ax - axx) * eps_new; - mgabb = (ax + axx) * eps_new; - mgbcb = (by - byy) * eps_new; - mgbab = (by + byy) * eps_new; - mgbbc = (cz - czz) * eps_new; - mgbba = (cz + czz) * eps_new; - //////////////////////////////////////////////////////////////////////////////////// - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index - k000 = kM00; - kM00 = neighborFX[kM00]; - k0M0 = kMM0; - k00M = kM0M; - kMM0 = neighborFX[kMM0]; - kM0M = neighborFX[kM0M]; - k0MM = kMMM; - kMMM = neighborFX[kMMM]; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - (G.g[dP00])[k000] = mgcbb; - (G.g[dM00])[kM00] = mgabb; - (G.g[d0P0])[k000] = mgbcb; - (G.g[d0M0])[k0M0] = mgbab; - (G.g[d00P])[k000] = mgbbc; - (G.g[d00M])[k00M] = mgbba; - //////////////////////////////////////////////////////////////////////////////////// - fP00dest[k000] = mfcbb; - fM00dest[kM00] = mfabb; - f0P0dest[k000] = mfbcb; - f0M0dest[k0M0] = mfbab; - f00Pdest[k000] = mfbbc; - f00Mdest[k00M] = mfbba; - fPP0dest[k000] = mfccb; - fMM0dest[kMM0] = mfaab; - fPM0dest[k0M0] = mfcab; - fMP0dest[kM00] = mfacb; - fP0Pdest[k000] = mfcbc; - fM0Mdest[kM0M] = mfaba; - fP0Mdest[k00M] = mfcba; - fM0Pdest[kM00] = mfabc; - f0PPdest[k000] = mfbcc; - f0MMdest[k0MM] = mfbaa; - f0PMdest[k00M] = mfbca; - f0MPdest[k0M0] = mfbac; - f000dest[k000] = mfbbb; - fMMMdest[kMMM] = mfaaa; - fMMPdest[kMM0] = mfaac; - fMPPdest[kM00] = mfacc; - fMPMdest[kM0M] = mfaca; - fPPMdest[k00M] = mfcca; - fPPPdest[k000] = mfccc; - fPMPdest[k0M0] = mfcac; - fPMMdest[k0MM] = mfcaa; - //////////////////////////////////////////////////////////////////////////////////// - - //reset - mfcbb = c0; - mfabb = c0; - mfbcb = c0; - mfbab = c0; - mfbbc = c0; - mfbba = c0; - mfccb = c0; - mfaab = c0; - mfcab = c0; - mfacb = c0; - mfcbc = c0; - mfaba = c0; - mfcba = c0; - mfabc = c0; - mfbcc = c0; - mfbaa = c0; - mfbca = c0; - mfbac = c0; - mfbbb = c0; - mfccc = c0; - mfaac = c0; - mfcac = c0; - mfacc = c0; - mfcca = c0; - mfaaa = c0; - mfcaa = c0; - mfaca = c0; - ///////////// - mgcbb = c0; - mgabb = c0; - mgbcb = c0; - mgbab = c0; - mgbbc = c0; - mgbba = c0; - - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position SEB 0.25f, -0.25f, -0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = c1o4; - y = -c1o4; - z = -c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho =c9o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c1o64*drho_NWT+c27o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT; - //press = press_SET * (c9o64 - c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + - // press_NET * (c3o64 - c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c3o64 + c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + - // press_NWT * (c1o64 + c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + - // press_NWB * (c3o64 + c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + - // press_NEB * (c9o64 - c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c9o64 + c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c27o64 - c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff); - //drho = drho_SET * (c9o64 - c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + - // drho_NET * (c3o64 - c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c3o64 + c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + - // drho_NWT * (c1o64 + c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + - // drho_NWB * (c3o64 + c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + - // drho_NEB * (c9o64 - c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c9o64 + c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c27o64 - c9o16 * xoff + c9o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press); - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0; - - //////////////////////////////////////////////////////////////////////////////////// - // D3Q27F - mgcbb = (ax - axx) * eps_new; - mgabb = (ax + axx) * eps_new; - mgbcb = (by - byy) * eps_new; - mgbab = (by + byy) * eps_new; - mgbbc = (cz - czz) * eps_new; - mgbba = (cz + czz) * eps_new; - //////////////////////////////////////////////////////////////////////////////////// - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index - k00M = k000; - kM0M = kM00; - k0MM = k0M0; - kMMM = kMM0; - k000 = kM00base; - kM00 = neighborFX[kM00base]; - k0M0 = kMM0base; - kMM0 = neighborFX[kMM0base]; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - (G.g[dP00])[k000] = mgcbb; - (G.g[dM00])[kM00] = mgabb; - (G.g[d0P0])[k000] = mgbcb; - (G.g[d0M0])[k0M0] = mgbab; - (G.g[d00P])[k000] = mgbbc; - (G.g[d00M])[k00M] = mgbba; - //////////////////////////////////////////////////////////////////////////////////// - fP00dest[k000] = mfcbb; - fM00dest[kM00] = mfabb; - f0P0dest[k000] = mfbcb; - f0M0dest[k0M0] = mfbab; - f00Pdest[k000] = mfbbc; - f00Mdest[k00M] = mfbba; - fPP0dest[k000] = mfccb; - fMM0dest[kMM0] = mfaab; - fPM0dest[k0M0] = mfcab; - fMP0dest[kM00] = mfacb; - fP0Pdest[k000] = mfcbc; - fM0Mdest[kM0M] = mfaba; - fP0Mdest[k00M] = mfcba; - fM0Pdest[kM00] = mfabc; - f0PPdest[k000] = mfbcc; - f0MMdest[k0MM] = mfbaa; - f0PMdest[k00M] = mfbca; - f0MPdest[k0M0] = mfbac; - f000dest[k000] = mfbbb; - fMMMdest[kMMM] = mfaaa; - fMMPdest[kMM0] = mfaac; - fMPPdest[kM00] = mfacc; - fMPMdest[kM0M] = mfaca; - fPPMdest[k00M] = mfcca; - fPPPdest[k000] = mfccc; - fPMPdest[k0M0] = mfcac; - fPMMdest[k0MM] = mfcaa; - //////////////////////////////////////////////////////////////////////////////////// - - - //reset - mfcbb = c0; - mfabb = c0; - mfbcb = c0; - mfbab = c0; - mfbbc = c0; - mfbba = c0; - mfccb = c0; - mfaab = c0; - mfcab = c0; - mfacb = c0; - mfcbc = c0; - mfaba = c0; - mfcba = c0; - mfabc = c0; - mfbcc = c0; - mfbaa = c0; - mfbca = c0; - mfbac = c0; - mfbbb = c0; - mfccc = c0; - mfaac = c0; - mfcac = c0; - mfacc = c0; - mfcca = c0; - mfaaa = c0; - mfcaa = c0; - mfaca = c0; - ///////////// - mgcbb = c0; - mgabb = c0; - mgbcb = c0; - mgbab = c0; - mgbbc = c0; - mgbba = c0; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position NWB -0.25f, 0.25f, -0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = -c1o4; - y = c1o4; - z = -c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c9o64*drho_NEB+c3o64*drho_NET+c27o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c1o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT; - //press = press_NWT * (c9o64 + c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + - // press_NET * (c3o64 - c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c3o64 + c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + - // press_SET * (c1o64 - c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + - // press_SEB * (c3o64 - c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + - // press_NEB * (c9o64 - c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c9o64 + c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + - // press_NWB * (c27o64 + c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff); - //drho = drho_NWT * (c9o64 + c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + - // drho_NET * (c3o64 - c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c3o64 + c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - // drho_SET * (c1o64 - c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + - // drho_SEB * (c3o64 - c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + - // drho_NEB * (c9o64 - c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c9o64 + c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + - // drho_NWB * (c27o64 + c9o16 * xoff - c9o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press); - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0; - - //////////////////////////////////////////////////////////////////////////////////// - // D3Q27F - mgcbb = (ax - axx) * eps_new; - mgabb = (ax + axx) * eps_new; - mgbcb = (by - byy) * eps_new; - mgbab = (by + byy) * eps_new; - mgbbc = (cz - czz) * eps_new; - mgbba = (cz + czz) * eps_new; - //////////////////////////////////////////////////////////////////////////////////// - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index 0 - k000base = k0M0base; - kM00base = kMM0base; - k0M0base = neighborFY[k0M0base]; - k00Mbase = k0MMbase; - kMM0base = neighborFY[kMM0base]; - kM0Mbase = kMMMbase; - k0MMbase = neighborFY[k0MMbase]; - kMMMbase = neighborFY[kMMMbase]; - ////////////////////////////////////////////////////////////////////////// - //index - k000 = k000base; - kM00 = kM00base; - k0M0 = k0M0base; - k00M = k00Mbase; - kMM0 = kMM0base; - kM0M = kM0Mbase; - k0MM = k0MMbase; - kMMM = kMMMbase; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - (G.g[dP00])[k000] = mgcbb; - (G.g[dM00])[kM00] = mgabb; - (G.g[d0P0])[k000] = mgbcb; - (G.g[d0M0])[k0M0] = mgbab; - (G.g[d00P])[k000] = mgbbc; - (G.g[d00M])[k00M] = mgbba; - //////////////////////////////////////////////////////////////////////////////////// - fP00dest[k000] = mfcbb; - fM00dest[kM00] = mfabb; - f0P0dest[k000] = mfbcb; - f0M0dest[k0M0] = mfbab; - f00Pdest[k000] = mfbbc; - f00Mdest[k00M] = mfbba; - fPP0dest[k000] = mfccb; - fMM0dest[kMM0] = mfaab; - fPM0dest[k0M0] = mfcab; - fMP0dest[kM00] = mfacb; - fP0Pdest[k000] = mfcbc; - fM0Mdest[kM0M] = mfaba; - fP0Mdest[k00M] = mfcba; - fM0Pdest[kM00] = mfabc; - f0PPdest[k000] = mfbcc; - f0MMdest[k0MM] = mfbaa; - f0PMdest[k00M] = mfbca; - f0MPdest[k0M0] = mfbac; - f000dest[k000] = mfbbb; - fMMMdest[kMMM] = mfaaa; - fMMPdest[kMM0] = mfaac; - fMPPdest[kM00] = mfacc; - fMPMdest[kM0M] = mfaca; - fPPMdest[k00M] = mfcca; - fPPPdest[k000] = mfccc; - fPMPdest[k0M0] = mfcac; - fPMMdest[k0MM] = mfcaa; - //////////////////////////////////////////////////////////////////////////////////// - - - //reset - mfcbb = c0; - mfabb = c0; - mfbcb = c0; - mfbab = c0; - mfbbc = c0; - mfbba = c0; - mfccb = c0; - mfaab = c0; - mfcab = c0; - mfacb = c0; - mfcbc = c0; - mfaba = c0; - mfcba = c0; - mfabc = c0; - mfbcc = c0; - mfbaa = c0; - mfbca = c0; - mfbac = c0; - mfbbb = c0; - mfccc = c0; - mfaac = c0; - mfcac = c0; - mfacc = c0; - mfcca = c0; - mfaaa = c0; - mfcaa = c0; - mfaca = c0; - ///////////// - mgcbb = c0; - mgabb = c0; - mgbcb = c0; - mgbab = c0; - mgbbc = c0; - mgbba = c0; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position NWT -0.25f, 0.25f, 0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = -c1o4; - y = c1o4; - z = c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c3o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c27o64*drho_NWT+c1o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT; - //press = press_NWT * (c27o64 + c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + - // press_NET * (c9o64 - c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c9o64 + c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + - // press_SET * (c3o64 - c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + - // press_SEB * (c1o64 - c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + - // press_NEB * (c3o64 - c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + - // press_SWB * (c3o64 + c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + - // press_NWB * (c9o64 + c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff); - //drho = drho_NWT * (c27o64 + c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + - // drho_NET * (c9o64 - c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c9o64 + c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + - // drho_SET * (c3o64 - c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + - // drho_SEB * (c1o64 - c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + - // drho_NEB * (c3o64 - c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + - // drho_SWB * (c3o64 + c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - // drho_NWB * (c9o64 + c3o16 * xoff - c3o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press); - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0; - - //////////////////////////////////////////////////////////////////////////////////// - // D3Q27F - mgcbb = (ax - axx) * eps_new; - mgabb = (ax + axx) * eps_new; - mgbcb = (by - byy) * eps_new; - mgbab = (by + byy) * eps_new; - mgbbc = (cz - czz) * eps_new; - mgbba = (cz + czz) * eps_new; - //////////////////////////////////////////////////////////////////////////////////// - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index - k000 = k00M; - kM00 = kM0M; - k0M0 = k0MM; - k00M = neighborFZ[k00M]; - kMM0 = kMMM; - kM0M = neighborFZ[kM0M]; - k0MM = neighborFZ[k0MM]; - kMMM = neighborFZ[kMMM]; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - (G.g[dP00])[k000] = mgcbb; - (G.g[dM00])[kM00] = mgabb; - (G.g[d0P0])[k000] = mgbcb; - (G.g[d0M0])[k0M0] = mgbab; - (G.g[d00P])[k000] = mgbbc; - (G.g[d00M])[k00M] = mgbba; - //////////////////////////////////////////////////////////////////////////////////// - fP00dest[k000] = mfcbb; - fM00dest[kM00] = mfabb; - f0P0dest[k000] = mfbcb; - f0M0dest[k0M0] = mfbab; - f00Pdest[k000] = mfbbc; - f00Mdest[k00M] = mfbba; - fPP0dest[k000] = mfccb; - fMM0dest[kMM0] = mfaab; - fPM0dest[k0M0] = mfcab; - fMP0dest[kM00] = mfacb; - fP0Pdest[k000] = mfcbc; - fM0Mdest[kM0M] = mfaba; - fP0Mdest[k00M] = mfcba; - fM0Pdest[kM00] = mfabc; - f0PPdest[k000] = mfbcc; - f0MMdest[k0MM] = mfbaa; - f0PMdest[k00M] = mfbca; - f0MPdest[k0M0] = mfbac; - f000dest[k000] = mfbbb; - fMMMdest[kMMM] = mfaaa; - fMMPdest[kMM0] = mfaac; - fMPPdest[kM00] = mfacc; - fMPMdest[kM0M] = mfaca; - fPPMdest[k00M] = mfcca; - fPPPdest[k000] = mfccc; - fPMPdest[k0M0] = mfcac; - fPMMdest[k0MM] = mfcaa; - //////////////////////////////////////////////////////////////////////////////////// - - - //reset - mfcbb = c0; - mfabb = c0; - mfbcb = c0; - mfbab = c0; - mfbbc = c0; - mfbba = c0; - mfccb = c0; - mfaab = c0; - mfcab = c0; - mfacb = c0; - mfcbc = c0; - mfaba = c0; - mfcba = c0; - mfabc = c0; - mfbcc = c0; - mfbaa = c0; - mfbca = c0; - mfbac = c0; - mfbbb = c0; - mfccc = c0; - mfaac = c0; - mfcac = c0; - mfacc = c0; - mfcca = c0; - mfaaa = c0; - mfcaa = c0; - mfaca = c0; - ///////////// - mgcbb = c0; - mgabb = c0; - mgbcb = c0; - mgbab = c0; - mgbbc = c0; - mgbba = c0; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position NET 0.25f, 0.25f, 0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = c1o4; - y = c1o4; - z = c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c9o64*drho_NEB+c27o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c1o64*drho_SWB+c3o64*drho_SWT; - //press = press_NET * (c27o64 - c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + - // press_NWT * (c9o64 + c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + - // press_SET * (c9o64 - c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c3o64 + c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + - // press_SWB * (c1o64 + c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + - // press_NWB * (c3o64 + c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c3o64 - c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + - // press_NEB * (c9o64 - c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff); - //drho = drho_NET * (c27o64 - c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + - // drho_NWT * (c9o64 + c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + - // drho_SET * (c9o64 - c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c3o64 + c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + - // drho_SWB * (c1o64 + c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + - // drho_NWB * (c3o64 + c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c3o64 - c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + - // drho_NEB * (c9o64 - c3o16 * xoff - c3o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press); - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0; - - //////////////////////////////////////////////////////////////////////////////////// - // D3Q27F - mgcbb = (ax - axx) * eps_new; - mgabb = (ax + axx) * eps_new; - mgbcb = (by - byy) * eps_new; - mgbab = (by + byy) * eps_new; - mgbbc = (cz - czz) * eps_new; - mgbba = (cz + czz) * eps_new; - //////////////////////////////////////////////////////////////////////////////////// - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index - k000 = kM00; - kM00 = neighborFX[kM00]; - k0M0 = kMM0; - k00M = kM0M; - kMM0 = neighborFX[kMM0]; - kM0M = neighborFX[kM0M]; - k0MM = kMMM; - kMMM = neighborFX[kMMM]; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - (G.g[dP00])[k000] = mgcbb; - (G.g[dM00])[kM00] = mgabb; - (G.g[d0P0])[k000] = mgbcb; - (G.g[d0M0])[k0M0] = mgbab; - (G.g[d00P])[k000] = mgbbc; - (G.g[d00M])[k00M] = mgbba; - //////////////////////////////////////////////////////////////////////////////////// - fP00dest[k000] = mfcbb; - fM00dest[kM00] = mfabb; - f0P0dest[k000] = mfbcb; - f0M0dest[k0M0] = mfbab; - f00Pdest[k000] = mfbbc; - f00Mdest[k00M] = mfbba; - fPP0dest[k000] = mfccb; - fMM0dest[kMM0] = mfaab; - fPM0dest[k0M0] = mfcab; - fMP0dest[kM00] = mfacb; - fP0Pdest[k000] = mfcbc; - fM0Mdest[kM0M] = mfaba; - fP0Mdest[k00M] = mfcba; - fM0Pdest[kM00] = mfabc; - f0PPdest[k000] = mfbcc; - f0MMdest[k0MM] = mfbaa; - f0PMdest[k00M] = mfbca; - f0MPdest[k0M0] = mfbac; - f000dest[k000] = mfbbb; - fMMMdest[kMMM] = mfaaa; - fMMPdest[kMM0] = mfaac; - fMPPdest[kM00] = mfacc; - fMPMdest[kM0M] = mfaca; - fPPMdest[k00M] = mfcca; - fPPPdest[k000] = mfccc; - fPMPdest[k0M0] = mfcac; - fPMMdest[k0MM] = mfcaa; - //////////////////////////////////////////////////////////////////////////////////// - - - //reset - mfcbb = c0; - mfabb = c0; - mfbcb = c0; - mfbab = c0; - mfbbc = c0; - mfbba = c0; - mfccb = c0; - mfaab = c0; - mfcab = c0; - mfacb = c0; - mfcbc = c0; - mfaba = c0; - mfcba = c0; - mfabc = c0; - mfbcc = c0; - mfbaa = c0; - mfbca = c0; - mfbac = c0; - mfbbb = c0; - mfccc = c0; - mfaac = c0; - mfcac = c0; - mfacc = c0; - mfcca = c0; - mfaaa = c0; - mfcaa = c0; - mfaca = c0; - ///////////// - mgcbb = c0; - mgabb = c0; - mgbcb = c0; - mgbab = c0; - mgbbc = c0; - mgbba = c0; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position NEB 0.25f, 0.25f, -0.25f - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - x = c1o4; - y = c1o4; - z = -c1o4; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho = c27o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c1o64*drho_SWT; - //press = press_NET * (c9o64 - c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + - // press_NWT * (c3o64 + c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + - // press_SET * (c3o64 - c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + - // press_SWT * (c1o64 + c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + - // press_SWB * (c3o64 + c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + - // press_NWB * (c9o64 + c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + - // press_SEB * (c9o64 - c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + - // press_NEB * (c27o64 - c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff); - //drho = drho_NET * (c9o64 - c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + - // drho_NWT * (c3o64 + c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + - // drho_SET * (c3o64 - c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + - // drho_SWT * (c1o64 + c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + - // drho_SWB * (c3o64 + c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + - // drho_NWB * (c9o64 + c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + - // drho_SEB * (c9o64 - c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + - // drho_NEB * (c27o64 - c9o16 * xoff - c9o16 * yoff + c9o16 * zoff); - press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz; - vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz); - vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); - vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz); - //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz); - //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz); - //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz); - - //mfaaa = drho; - //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //2.f - // linear combinations - mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press); - //mxxMyy = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o; - //mfbab = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o; - //mfbba = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o; - - mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //three - // linear combinations - //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z); - //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit); - //residu = -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z)); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y); - //residu = -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new; - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y)); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z); - //residu = -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new; - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0; - - //////////////////////////////////////////////////////////////////////////////////// - // D3Q27F - mgcbb = (ax - axx) * eps_new; - mgabb = (ax + axx) * eps_new; - mgbcb = (by - byy) * eps_new; - mgbab = (by + byy) * eps_new; - mgbbc = (cz - czz) * eps_new; - mgbba = (cz + czz) * eps_new; - //////////////////////////////////////////////////////////////////////////////////// - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4.f - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////// - //index - k00M = k000; - kM0M = kM00; - k0MM = k0M0; - kMMM = kMM0; - k000 = kM00base; - kM00 = neighborFX[kM00base]; - k0M0 = kMM0base; - kMM0 = neighborFX[kMM0base]; - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - (G.g[dP00])[k000] = mgcbb; - (G.g[dM00])[kM00] = mgabb; - (G.g[d0P0])[k000] = mgbcb; - (G.g[d0M0])[k0M0] = mgbab; - (G.g[d00P])[k000] = mgbbc; - (G.g[d00M])[k00M] = mgbba; - //////////////////////////////////////////////////////////////////////////////////// - fP00dest[k000] = mfcbb; - fM00dest[kM00] = mfabb; - f0P0dest[k000] = mfbcb; - f0M0dest[k0M0] = mfbab; - f00Pdest[k000] = mfbbc; - f00Mdest[k00M] = mfbba; - fPP0dest[k000] = mfccb; - fMM0dest[kMM0] = mfaab; - fPM0dest[k0M0] = mfcab; - fMP0dest[kM00] = mfacb; - fP0Pdest[k000] = mfcbc; - fM0Mdest[kM0M] = mfaba; - fP0Mdest[k00M] = mfcba; - fM0Pdest[kM00] = mfabc; - f0PPdest[k000] = mfbcc; - f0MMdest[k0MM] = mfbaa; - f0PMdest[k00M] = mfbca; - f0MPdest[k0M0] = mfbac; - f000dest[k000] = mfbbb; - fMMMdest[kMMM] = mfaaa; - fMMPdest[kMM0] = mfaac; - fMPPdest[kM00] = mfacc; - fMPMdest[kM0M] = mfaca; - fPPMdest[k00M] = mfcca; - fPPPdest[k000] = mfccc; - fPMPdest[k0M0] = mfcac; - fPMMdest[k0MM] = mfcaa; - //////////////////////////////////////////////////////////////////////////////////// - } -} -////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/gpu/core/GridScaling/ScaleFC27.cu b/src/gpu/core/GridScaling/ScaleFC27.cu deleted file mode 100644 index 9a823037f9ff0f6f83ce620abc16a33c24dc169c..0000000000000000000000000000000000000000 --- a/src/gpu/core/GridScaling/ScaleFC27.cu +++ /dev/null @@ -1,24351 +0,0 @@ -// _ ___ __ __________ _ __ ______________ __ -// | | / (_)____/ /___ ______ _/ / ____/ /_ __(_)___/ /____ / ___/ __ / / / / -// | | / / / ___/ __/ / / / __ `/ / /_ / / / / / / __ / ___/ / /___/ /_/ / / / / -// | |/ / / / / /_/ /_/ / /_/ / / __/ / / /_/ / / /_/ (__ ) / /_) / ____/ /__/ / -// |___/_/_/ \__/\__,_/\__,_/_/_/ /_/\__,_/_/\__,_/____/ \____/_/ \_____/ -// -////////////////////////////////////////////////////////////////////////// -/* Device code */ -#include "Calculation/Calculation.h" -#include "lbm/constants/D3Q27.h" -#include <basics/constants/NumericConstants.h> - -using namespace vf::basics::constant; -using namespace vf::lbm::dir; - -////////////////////////////////////////////////////////////////////////// -__global__ void scaleFC_0817_comp_27( real* DC, - real* DF, - unsigned int* neighborCX, - unsigned int* neighborCY, - unsigned int* neighborCZ, - unsigned int* neighborFX, - unsigned int* neighborFY, - unsigned int* neighborFZ, - unsigned long long numberOfLBnodesCoarse, - unsigned long long numberOfLBnodesFine, - bool isEvenTimestep, - unsigned int* posC, - unsigned int* posFSWB, - unsigned int kFC, - real omCoarse, - real omFine, - real nu, - unsigned int nxC, - unsigned int nyC, - unsigned int nxF, - unsigned int nyF, - ICellNeigh offFC) -{ - real - *fP00source, *fM00source, *f0P0source, *f0M0source, *f00Psource, *f00Msource, *fPP0source, *fMM0source, *fPM0source, - *fMP0source, *fP0Psource, *fM0Msource, *fP0Msource, *fM0Psource, *f0PPsource, *f0MMsource, *f0PMsource, *f0MPsource, - *f000source, *fMMMsource, *fMMPsource, *fMPPsource, *fMPMsource, *fPPMsource, *fPPPsource, *fPMPsource, *fPMMsource; - - - fP00source = &DF[dP00 * numberOfLBnodesFine]; - fM00source = &DF[dM00 * numberOfLBnodesFine]; - f0P0source = &DF[d0P0 * numberOfLBnodesFine]; - f0M0source = &DF[d0M0 * numberOfLBnodesFine]; - f00Psource = &DF[d00P * numberOfLBnodesFine]; - f00Msource = &DF[d00M * numberOfLBnodesFine]; - fPP0source = &DF[dPP0 * numberOfLBnodesFine]; - fMM0source = &DF[dMM0 * numberOfLBnodesFine]; - fPM0source = &DF[dPM0 * numberOfLBnodesFine]; - fMP0source = &DF[dMP0 * numberOfLBnodesFine]; - fP0Psource = &DF[dP0P * numberOfLBnodesFine]; - fM0Msource = &DF[dM0M * numberOfLBnodesFine]; - fP0Msource = &DF[dP0M * numberOfLBnodesFine]; - fM0Psource = &DF[dM0P * numberOfLBnodesFine]; - f0PPsource = &DF[d0PP * numberOfLBnodesFine]; - f0MMsource = &DF[d0MM * numberOfLBnodesFine]; - f0PMsource = &DF[d0PM * numberOfLBnodesFine]; - f0MPsource = &DF[d0MP * numberOfLBnodesFine]; - f000source = &DF[d000 * numberOfLBnodesFine]; - fMMMsource = &DF[dMMM * numberOfLBnodesFine]; - fMMPsource = &DF[dMMP * numberOfLBnodesFine]; - fMPPsource = &DF[dMPP * numberOfLBnodesFine]; - fMPMsource = &DF[dMPM * numberOfLBnodesFine]; - fPPMsource = &DF[dPPM * numberOfLBnodesFine]; - fPPPsource = &DF[dPPP * numberOfLBnodesFine]; - fPMPsource = &DF[dPMP * numberOfLBnodesFine]; - fPMMsource = &DF[dPMM * numberOfLBnodesFine]; - - real - *fP00dest, *fM00dest, *f0P0dest, *f0M0dest, *f00Pdest, *f00Mdest, *fPP0dest, *fMM0dest, *fPM0dest, - *fMP0dest, *fP0Pdest, *fM0Mdest, *fP0Mdest, *fM0Pdest, *f0PPdest, *f0MMdest, *f0PMdest, *f0MPdest, - *f000dest, *fMMMdest, *fMMPdest, *fMPPdest, *fMPMdest, *fPPMdest, *fPPPdest, *fPMPdest, *fPMMdest; - - if (isEvenTimestep==true) - { - fP00dest = &DC[dP00 * numberOfLBnodesCoarse]; - fM00dest = &DC[dM00 * numberOfLBnodesCoarse]; - f0P0dest = &DC[d0P0 * numberOfLBnodesCoarse]; - f0M0dest = &DC[d0M0 * numberOfLBnodesCoarse]; - f00Pdest = &DC[d00P * numberOfLBnodesCoarse]; - f00Mdest = &DC[d00M * numberOfLBnodesCoarse]; - fPP0dest = &DC[dPP0 * numberOfLBnodesCoarse]; - fMM0dest = &DC[dMM0 * numberOfLBnodesCoarse]; - fPM0dest = &DC[dPM0 * numberOfLBnodesCoarse]; - fMP0dest = &DC[dMP0 * numberOfLBnodesCoarse]; - fP0Pdest = &DC[dP0P * numberOfLBnodesCoarse]; - fM0Mdest = &DC[dM0M * numberOfLBnodesCoarse]; - fP0Mdest = &DC[dP0M * numberOfLBnodesCoarse]; - fM0Pdest = &DC[dM0P * numberOfLBnodesCoarse]; - f0PPdest = &DC[d0PP * numberOfLBnodesCoarse]; - f0MMdest = &DC[d0MM * numberOfLBnodesCoarse]; - f0PMdest = &DC[d0PM * numberOfLBnodesCoarse]; - f0MPdest = &DC[d0MP * numberOfLBnodesCoarse]; - f000dest = &DC[d000 * numberOfLBnodesCoarse]; - fMMMdest = &DC[dMMM * numberOfLBnodesCoarse]; - fMMPdest = &DC[dMMP * numberOfLBnodesCoarse]; - fMPPdest = &DC[dMPP * numberOfLBnodesCoarse]; - fMPMdest = &DC[dMPM * numberOfLBnodesCoarse]; - fPPMdest = &DC[dPPM * numberOfLBnodesCoarse]; - fPPPdest = &DC[dPPP * numberOfLBnodesCoarse]; - fPMPdest = &DC[dPMP * numberOfLBnodesCoarse]; - fPMMdest = &DC[dPMM * numberOfLBnodesCoarse]; - } - else - { - fP00dest = &DC[dM00 * numberOfLBnodesCoarse]; - fM00dest = &DC[dP00 * numberOfLBnodesCoarse]; - f0P0dest = &DC[d0M0 * numberOfLBnodesCoarse]; - f0M0dest = &DC[d0P0 * numberOfLBnodesCoarse]; - f00Pdest = &DC[d00M * numberOfLBnodesCoarse]; - f00Mdest = &DC[d00P * numberOfLBnodesCoarse]; - fPP0dest = &DC[dMM0 * numberOfLBnodesCoarse]; - fMM0dest = &DC[dPP0 * numberOfLBnodesCoarse]; - fPM0dest = &DC[dMP0 * numberOfLBnodesCoarse]; - fMP0dest = &DC[dPM0 * numberOfLBnodesCoarse]; - fP0Pdest = &DC[dM0M * numberOfLBnodesCoarse]; - fM0Mdest = &DC[dP0P * numberOfLBnodesCoarse]; - fP0Mdest = &DC[dM0P * numberOfLBnodesCoarse]; - fM0Pdest = &DC[dP0M * numberOfLBnodesCoarse]; - f0PPdest = &DC[d0MM * numberOfLBnodesCoarse]; - f0MMdest = &DC[d0PP * numberOfLBnodesCoarse]; - f0PMdest = &DC[d0MP * numberOfLBnodesCoarse]; - f0MPdest = &DC[d0PM * numberOfLBnodesCoarse]; - f000dest = &DC[d000 * numberOfLBnodesCoarse]; - fMMMdest = &DC[dPPP * numberOfLBnodesCoarse]; - fMMPdest = &DC[dPPM * numberOfLBnodesCoarse]; - fMPPdest = &DC[dPMM * numberOfLBnodesCoarse]; - fMPMdest = &DC[dPMP * numberOfLBnodesCoarse]; - fPPMdest = &DC[dMMP * numberOfLBnodesCoarse]; - fPPPdest = &DC[dMMM * numberOfLBnodesCoarse]; - fPMPdest = &DC[dMPM * numberOfLBnodesCoarse]; - fPMMdest = &DC[dMPP * numberOfLBnodesCoarse]; - } - //////////////////////////////////////////////////////////////////////////////// - const unsigned ix = threadIdx.x; // Globaler x-Index - const unsigned iy = blockIdx.x; // Globaler y-Index - const unsigned iz = blockIdx.y; // Globaler z-Index - - const unsigned nx = blockDim.x; - const unsigned ny = gridDim.x; - - const unsigned k = nx*(ny*iz + iy) + ix; - ////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////// - real eps_new = c2o1; - real omegaS = omFine;//-omFine; - real o = omCoarse;//-omCoarse; - //real op = one; - //real cu_sq; - - real xoff, yoff, zoff; - real xoff_sq, yoff_sq, zoff_sq; - - //real drho; - real vvx, vvy, vvz, vx2, vy2, vz2; - real press;//,drho,vx1,vx2,vx3; - real /*pressMMM,*/drhoMMM,vx1MMM,vx2MMM,vx3MMM; - real /*pressMMP,*/drhoMMP,vx1MMP,vx2MMP,vx3MMP; - real /*pressMPP,*/drhoMPP,vx1MPP,vx2MPP,vx3MPP; - real /*pressMPM,*/drhoMPM,vx1MPM,vx2MPM,vx3MPM; - real /*pressPPM,*/drhoPPM,vx1PPM,vx2PPM,vx3PPM; - real /*pressPPP,*/drhoPPP,vx1PPP,vx2PPP,vx3PPP; - real /*pressPMP,*/drhoPMP,vx1PMP,vx2PMP,vx3PMP; - real /*pressPMM,*/drhoPMM,vx1PMM,vx2PMM,vx3PMM; - real fP00,fM00,f0P0,f0M0,f00P,f00M,fPP0,fMM0,fPM0,fMP0,fP0P,fM0M,fP0M,fM0P,f0PP,f0MM,f0PM,f0MP,f000,fPPP, fMMP, fPMP, fMPP, fPPM, fMMM, fPMM, fMPM; - real kxyFromfcNEQMMM, kyzFromfcNEQMMM, kxzFromfcNEQMMM, kxxMyyFromfcNEQMMM, kxxMzzFromfcNEQMMM, kyyMzzFromfcNEQMMM; - real kxyFromfcNEQMMP, kyzFromfcNEQMMP, kxzFromfcNEQMMP, kxxMyyFromfcNEQMMP, kxxMzzFromfcNEQMMP, kyyMzzFromfcNEQMMP; - real kxyFromfcNEQMPP, kyzFromfcNEQMPP, kxzFromfcNEQMPP, kxxMyyFromfcNEQMPP, kxxMzzFromfcNEQMPP, kyyMzzFromfcNEQMPP; - real kxyFromfcNEQMPM, kyzFromfcNEQMPM, kxzFromfcNEQMPM, kxxMyyFromfcNEQMPM, kxxMzzFromfcNEQMPM, kyyMzzFromfcNEQMPM; - real kxyFromfcNEQPPM, kyzFromfcNEQPPM, kxzFromfcNEQPPM, kxxMyyFromfcNEQPPM, kxxMzzFromfcNEQPPM, kyyMzzFromfcNEQPPM; - real kxyFromfcNEQPPP, kyzFromfcNEQPPP, kxzFromfcNEQPPP, kxxMyyFromfcNEQPPP, kxxMzzFromfcNEQPPP, kyyMzzFromfcNEQPPP; - real kxyFromfcNEQPMP, kyzFromfcNEQPMP, kxzFromfcNEQPMP, kxxMyyFromfcNEQPMP, kxxMzzFromfcNEQPMP, kyyMzzFromfcNEQPMP; - real kxyFromfcNEQPMM, kyzFromfcNEQPMM, kxzFromfcNEQPMM, kxxMyyFromfcNEQPMM, kxxMzzFromfcNEQPMM, kyyMzzFromfcNEQPMM; - real a0, ax, ay, az, axx, ayy, azz, axy, axz, ayz, b0, bx, by, bz, bxx, byy, bzz, bxy, bxz, byz, c0, cx, cy, cz, cxx, cyy, czz, cxy, cxz, cyz/*, axyz, bxyz, cxyz*/; - real d0, dx, dy, dz, dxy, dxz, dyz/*, dxyz*/; - - if(k<kFC) - { - ////////////////////////////////////////////////////////////////////////// - xoff = offFC.x[k]; - yoff = offFC.y[k]; - zoff = offFC.z[k]; - xoff_sq = xoff * xoff; - yoff_sq = yoff * yoff; - zoff_sq = zoff * zoff; - ////////////////////////////////////////////////////////////////////////// - //SWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - unsigned int k000base = posFSWB[k]; - unsigned int kM00base = neighborFX[k000base]; - unsigned int k0M0base = neighborFY[k000base]; - unsigned int k00Mbase = neighborFZ[k000base]; - unsigned int kMM0base = neighborFY[kM00base]; - unsigned int kM0Mbase = neighborFZ[kM00base]; - unsigned int k0MMbase = neighborFZ[k0M0base]; - unsigned int kMMMbase = neighborFZ[kMM0base]; - ////////////////////////////////////////////////////////////////////////// - //index - unsigned int k000 = k000base; - unsigned int kM00 = kM00base; - unsigned int k0M0 = k0M0base; - unsigned int k00M = k00Mbase; - unsigned int kMM0 = kMM0base; - unsigned int kM0M = kM0Mbase; - unsigned int k0MM = k0MMbase; - unsigned int kMMM = kMMMbase; - //////////////////////////////////////////////////////////////////////////////// - fP00 = fP00source[k000]; - fM00 = fM00source[kM00]; - f0P0 = f0P0source[k000]; - f0M0 = f0M0source[k0M0]; - f00P = f00Psource[k000]; - f00M = f00Msource[k00M]; - fPP0 = fPP0source[k000]; - fMM0 = fMM0source[kMM0]; - fPM0 = fPM0source[k0M0]; - fMP0 = fMP0source[kM00]; - fP0P = fP0Psource[k000]; - fM0M = fM0Msource[kM0M]; - fP0M = fP0Msource[k00M]; - fM0P = fM0Psource[kM00]; - f0PP = f0PPsource[k000]; - f0MM = f0MMsource[k0MM]; - f0PM = f0PMsource[k00M]; - f0MP = f0MPsource[k0M0]; - f000 = f000source[k000]; - fMMM = fMMMsource[kMMM]; - fMMP = fMMPsource[kMM0]; - fMPP = fMPPsource[kM00]; - fMPM = fMPMsource[kM0M]; - fPPM = fPPMsource[k00M]; - fPPP = fPPPsource[k000]; - fPMP = fPMPsource[k0M0]; - fPMM = fPMMsource[k0MM]; - - drhoMMM = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM; - vx1MMM = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoMMM); - vx2MMM = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMMM); - vx3MMM = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMMM); - - kxyFromfcNEQMMM = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMM) - ((vx1MMM*vx2MMM))); - kyzFromfcNEQMMM = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMMM) - ((vx2MMM*vx3MMM))); - kxzFromfcNEQMMM = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMM) - ((vx1MMM*vx3MMM))); - kxxMyyFromfcNEQMMM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMMM) - ((vx1MMM*vx1MMM - vx2MMM*vx2MMM))); - kxxMzzFromfcNEQMMM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMMM) - ((vx1MMM*vx1MMM - vx3MMM*vx3MMM))); - kyyMzzFromfcNEQMMM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMMM) - ((vx2MMM*vx2MMM - vx3MMM*vx3MMM))); - - ////////////////////////////////////////////////////////////////////////// - //SWT// - ////////////////////////////////////////////////////////////////////////// - //index - k000 = k00M; - kM00 = kM0M; - k0M0 = k0MM; - k00M = neighborFZ[k00M]; - kMM0 = kMMM; - kM0M = neighborFZ[kM0M]; - k0MM = neighborFZ[k0MM]; - kMMM = neighborFZ[kMMM]; - //////////////////////////////////////////////////////////////////////////////// - fP00 = fP00source[k000]; - fM00 = fM00source[kM00]; - f0P0 = f0P0source[k000]; - f0M0 = f0M0source[k0M0]; - f00P = f00Psource[k000]; - f00M = f00Msource[k00M]; - fPP0 = fPP0source[k000]; - fMM0 = fMM0source[kMM0]; - fPM0 = fPM0source[k0M0]; - fMP0 = fMP0source[kM00]; - fP0P = fP0Psource[k000]; - fM0M = fM0Msource[kM0M]; - fP0M = fP0Msource[k00M]; - fM0P = fM0Psource[kM00]; - f0PP = f0PPsource[k000]; - f0MM = f0MMsource[k0MM]; - f0PM = f0PMsource[k00M]; - f0MP = f0MPsource[k0M0]; - f000 = f000source[k000]; - fMMM = fMMMsource[kMMM]; - fMMP = fMMPsource[kMM0]; - fMPP = fMPPsource[kM00]; - fMPM = fMPMsource[kM0M]; - fPPM = fPPMsource[k00M]; - fPPP = fPPPsource[k000]; - fPMP = fPMPsource[k0M0]; - fPMM = fPMMsource[k0MM]; - - drhoMMP = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM; - vx1MMP = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoMMP); - vx2MMP = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMMP); - vx3MMP = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMMP); - - kxyFromfcNEQMMP = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMP) - ((vx1MMP*vx2MMP))); - kyzFromfcNEQMMP = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMMP) - ((vx2MMP*vx3MMP))); - kxzFromfcNEQMMP = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMP) - ((vx1MMP*vx3MMP))); - kxxMyyFromfcNEQMMP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMMP) - ((vx1MMP*vx1MMP - vx2MMP*vx2MMP))); - kxxMzzFromfcNEQMMP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMMP) - ((vx1MMP*vx1MMP - vx3MMP*vx3MMP))); - kyyMzzFromfcNEQMMP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMMP) - ((vx2MMP*vx2MMP - vx3MMP*vx3MMP))); - - ////////////////////////////////////////////////////////////////////////// - //SET// - ////////////////////////////////////////////////////////////////////////// - //index - k000 = kM00; - kM00 = neighborFX[kM00]; - k0M0 = kMM0; - k00M = kM0M; - kMM0 = neighborFX[kMM0]; - kM0M = neighborFX[kM0M]; - k0MM = kMMM; - kMMM = neighborFX[kMMM]; - //////////////////////////////////////////////////////////////////////////////// - fP00 = fP00source[k000]; - fM00 = fM00source[kM00]; - f0P0 = f0P0source[k000]; - f0M0 = f0M0source[k0M0]; - f00P = f00Psource[k000]; - f00M = f00Msource[k00M]; - fPP0 = fPP0source[k000]; - fMM0 = fMM0source[kMM0]; - fPM0 = fPM0source[k0M0]; - fMP0 = fMP0source[kM00]; - fP0P = fP0Psource[k000]; - fM0M = fM0Msource[kM0M]; - fP0M = fP0Msource[k00M]; - fM0P = fM0Psource[kM00]; - f0PP = f0PPsource[k000]; - f0MM = f0MMsource[k0MM]; - f0PM = f0PMsource[k00M]; - f0MP = f0MPsource[k0M0]; - f000 = f000source[k000]; - fMMM = fMMMsource[kMMM]; - fMMP = fMMPsource[kMM0]; - fMPP = fMPPsource[kM00]; - fMPM = fMPMsource[kM0M]; - fPPM = fPPMsource[k00M]; - fPPP = fPPPsource[k000]; - fPMP = fPMPsource[k0M0]; - fPMM = fPMMsource[k0MM]; - - drhoPMP = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM; - vx1PMP = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoPMP); - vx2PMP = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPMP); - vx3PMP = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPMP); - - kxyFromfcNEQPMP = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMP) - ((vx1PMP*vx2PMP))); - kyzFromfcNEQPMP = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPMP) - ((vx2PMP*vx3PMP))); - kxzFromfcNEQPMP = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMP) - ((vx1PMP*vx3PMP))); - kxxMyyFromfcNEQPMP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPMP) - ((vx1PMP*vx1PMP - vx2PMP*vx2PMP))); - kxxMzzFromfcNEQPMP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPMP) - ((vx1PMP*vx1PMP - vx3PMP*vx3PMP))); - kyyMzzFromfcNEQPMP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPMP) - ((vx2PMP*vx2PMP - vx3PMP*vx3PMP))); - - ////////////////////////////////////////////////////////////////////////// - //SEB// - ////////////////////////////////////////////////////////////////////////// - //index - k00M = k000; - kM0M = kM00; - k0MM = k0M0; - kMMM = kMM0; - k000 = kM00base; - kM00 = neighborFX[kM00base]; - k0M0 = kMM0base; - kMM0 = neighborFX[kMM0base]; - //////////////////////////////////////////////////////////////////////////////// - fP00 = fP00source[k000]; - fM00 = fM00source[kM00]; - f0P0 = f0P0source[k000]; - f0M0 = f0M0source[k0M0]; - f00P = f00Psource[k000]; - f00M = f00Msource[k00M]; - fPP0 = fPP0source[k000]; - fMM0 = fMM0source[kMM0]; - fPM0 = fPM0source[k0M0]; - fMP0 = fMP0source[kM00]; - fP0P = fP0Psource[k000]; - fM0M = fM0Msource[kM0M]; - fP0M = fP0Msource[k00M]; - fM0P = fM0Psource[kM00]; - f0PP = f0PPsource[k000]; - f0MM = f0MMsource[k0MM]; - f0PM = f0PMsource[k00M]; - f0MP = f0MPsource[k0M0]; - f000 = f000source[k000]; - fMMM = fMMMsource[kMMM]; - fMMP = fMMPsource[kMM0]; - fMPP = fMPPsource[kM00]; - fMPM = fMPMsource[kM0M]; - fPPM = fPPMsource[k00M]; - fPPP = fPPPsource[k000]; - fPMP = fPMPsource[k0M0]; - fPMM = fPMMsource[k0MM]; - - drhoPMM = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM; - vx1PMM = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoPMM); - vx2PMM = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPMM); - vx3PMM = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPMM); - - kxyFromfcNEQPMM = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMM) - ((vx1PMM*vx2PMM))); - kyzFromfcNEQPMM = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPMM) - ((vx2PMM*vx3PMM))); - kxzFromfcNEQPMM = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMM) - ((vx1PMM*vx3PMM))); - kxxMyyFromfcNEQPMM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPMM) - ((vx1PMM*vx1PMM - vx2PMM*vx2PMM))); - kxxMzzFromfcNEQPMM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPMM) - ((vx1PMM*vx1PMM - vx3PMM*vx3PMM))); - kyyMzzFromfcNEQPMM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPMM) - ((vx2PMM*vx2PMM - vx3PMM*vx3PMM))); - - ////////////////////////////////////////////////////////////////////////// - //NWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - k000base = k0M0base; - kM00base = kMM0base; - k0M0base = neighborFY[k0M0base]; - k00Mbase = k0MMbase; - kMM0base = neighborFY[kMM0base]; - kM0Mbase = kMMMbase; - k0MMbase = neighborFY[k0MMbase]; - kMMMbase = neighborFY[kMMMbase]; - ////////////////////////////////////////////////////////////////////////// - //index - k000 = k000base; - kM00 = kM00base; - k0M0 = k0M0base; - k00M = k00Mbase; - kMM0 = kMM0base; - kM0M = kM0Mbase; - k0MM = k0MMbase; - kMMM = kMMMbase; - //////////////////////////////////////////////////////////////////////////////// - fP00 = fP00source[k000]; - fM00 = fM00source[kM00]; - f0P0 = f0P0source[k000]; - f0M0 = f0M0source[k0M0]; - f00P = f00Psource[k000]; - f00M = f00Msource[k00M]; - fPP0 = fPP0source[k000]; - fMM0 = fMM0source[kMM0]; - fPM0 = fPM0source[k0M0]; - fMP0 = fMP0source[kM00]; - fP0P = fP0Psource[k000]; - fM0M = fM0Msource[kM0M]; - fP0M = fP0Msource[k00M]; - fM0P = fM0Psource[kM00]; - f0PP = f0PPsource[k000]; - f0MM = f0MMsource[k0MM]; - f0PM = f0PMsource[k00M]; - f0MP = f0MPsource[k0M0]; - f000 = f000source[k000]; - fMMM = fMMMsource[kMMM]; - fMMP = fMMPsource[kMM0]; - fMPP = fMPPsource[kM00]; - fMPM = fMPMsource[kM0M]; - fPPM = fPPMsource[k00M]; - fPPP = fPPPsource[k000]; - fPMP = fPMPsource[k0M0]; - fPMM = fPMMsource[k0MM]; - - drhoMPM = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM; - vx1MPM = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoMPM); - vx2MPM = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMPM); - vx3MPM = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMPM); - - kxyFromfcNEQMPM = -c3o1*omegaS* ((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPM) - ((vx1MPM*vx2MPM))); - kyzFromfcNEQMPM = -c3o1*omegaS* ((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMPM) - ((vx2MPM*vx3MPM))); - kxzFromfcNEQMPM = -c3o1*omegaS* ((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPM) - ((vx1MPM*vx3MPM))); - kxxMyyFromfcNEQMPM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMPM) - ((vx1MPM*vx1MPM - vx2MPM*vx2MPM))); - kxxMzzFromfcNEQMPM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMPM) - ((vx1MPM*vx1MPM - vx3MPM*vx3MPM))); - kyyMzzFromfcNEQMPM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMPM) - ((vx2MPM*vx2MPM - vx3MPM*vx3MPM))); - - ////////////////////////////////////////////////////////////////////////// - //NWT// - ////////////////////////////////////////////////////////////////////////// - //index - k000 = k00M; - kM00 = kM0M; - k0M0 = k0MM; - k00M = neighborFZ[k00M]; - kMM0 = kMMM; - kM0M = neighborFZ[kM0M]; - k0MM = neighborFZ[k0MM]; - kMMM = neighborFZ[kMMM]; - //////////////////////////////////////////////////////////////////////////////// - fP00 = fP00source[k000]; - fM00 = fM00source[kM00]; - f0P0 = f0P0source[k000]; - f0M0 = f0M0source[k0M0]; - f00P = f00Psource[k000]; - f00M = f00Msource[k00M]; - fPP0 = fPP0source[k000]; - fMM0 = fMM0source[kMM0]; - fPM0 = fPM0source[k0M0]; - fMP0 = fMP0source[kM00]; - fP0P = fP0Psource[k000]; - fM0M = fM0Msource[kM0M]; - fP0M = fP0Msource[k00M]; - fM0P = fM0Psource[kM00]; - f0PP = f0PPsource[k000]; - f0MM = f0MMsource[k0MM]; - f0PM = f0PMsource[k00M]; - f0MP = f0MPsource[k0M0]; - f000 = f000source[k000]; - fMMM = fMMMsource[kMMM]; - fMMP = fMMPsource[kMM0]; - fMPP = fMPPsource[kM00]; - fMPM = fMPMsource[kM0M]; - fPPM = fPPMsource[k00M]; - fPPP = fPPPsource[k000]; - fPMP = fPMPsource[k0M0]; - fPMM = fPMMsource[k0MM]; - - drhoMPP = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM; - vx1MPP = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoMPP); - vx2MPP = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMPP); - vx3MPP = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMPP); - - kxyFromfcNEQMPP = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPP) - ((vx1MPP*vx2MPP))); - kyzFromfcNEQMPP = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMPP) - ((vx2MPP*vx3MPP))); - kxzFromfcNEQMPP = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPP) - ((vx1MPP*vx3MPP))); - kxxMyyFromfcNEQMPP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMPP) - ((vx1MPP*vx1MPP - vx2MPP*vx2MPP))); - kxxMzzFromfcNEQMPP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMPP) - ((vx1MPP*vx1MPP - vx3MPP*vx3MPP))); - kyyMzzFromfcNEQMPP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMPP) - ((vx2MPP*vx2MPP - vx3MPP*vx3MPP))); - - ////////////////////////////////////////////////////////////////////////// - //NET// - ////////////////////////////////////////////////////////////////////////// - //index - k000 = kM00; - kM00 = neighborFX[kM00]; - k0M0 = kMM0; - k00M = kM0M; - kMM0 = neighborFX[kMM0]; - kM0M = neighborFX[kM0M]; - k0MM = kMMM; - kMMM = neighborFX[kMMM]; - //////////////////////////////////////////////////////////////////////////////// - fP00 = fP00source[k000]; - fM00 = fM00source[kM00]; - f0P0 = f0P0source[k000]; - f0M0 = f0M0source[k0M0]; - f00P = f00Psource[k000]; - f00M = f00Msource[k00M]; - fPP0 = fPP0source[k000]; - fMM0 = fMM0source[kMM0]; - fPM0 = fPM0source[k0M0]; - fMP0 = fMP0source[kM00]; - fP0P = fP0Psource[k000]; - fM0M = fM0Msource[kM0M]; - fP0M = fP0Msource[k00M]; - fM0P = fM0Psource[kM00]; - f0PP = f0PPsource[k000]; - f0MM = f0MMsource[k0MM]; - f0PM = f0PMsource[k00M]; - f0MP = f0MPsource[k0M0]; - f000 = f000source[k000]; - fMMM = fMMMsource[kMMM]; - fMMP = fMMPsource[kMM0]; - fMPP = fMPPsource[kM00]; - fMPM = fMPMsource[kM0M]; - fPPM = fPPMsource[k00M]; - fPPP = fPPPsource[k000]; - fPMP = fPMPsource[k0M0]; - fPMM = fPMMsource[k0MM]; - - drhoPPP = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM; - vx1PPP = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoPPP); - vx2PPP = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPPP); - vx3PPP = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPPP); - - kxyFromfcNEQPPP = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPP) - ((vx1PPP*vx2PPP))); - kyzFromfcNEQPPP = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPPP) - ((vx2PPP*vx3PPP))); - kxzFromfcNEQPPP = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPP) - ((vx1PPP*vx3PPP))); - kxxMyyFromfcNEQPPP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPPP) - ((vx1PPP*vx1PPP - vx2PPP*vx2PPP))); - kxxMzzFromfcNEQPPP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPPP) - ((vx1PPP*vx1PPP - vx3PPP*vx3PPP))); - kyyMzzFromfcNEQPPP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPPP) - ((vx2PPP*vx2PPP - vx3PPP*vx3PPP))); - - ////////////////////////////////////////////////////////////////////////// - //NEB// - ////////////////////////////////////////////////////////////////////////// - //index - k00M = k000; - kM0M = kM00; - k0MM = k0M0; - kMMM = kMM0; - k000 = kM00base; - kM00 = neighborFX[kM00base]; - k0M0 = kMM0base; - kMM0 = neighborFX[kMM0base]; - //////////////////////////////////////////////////////////////////////////////// - fP00 = fP00source[k000]; - fM00 = fM00source[kM00]; - f0P0 = f0P0source[k000]; - f0M0 = f0M0source[k0M0]; - f00P = f00Psource[k000]; - f00M = f00Msource[k00M]; - fPP0 = fPP0source[k000]; - fMM0 = fMM0source[kMM0]; - fPM0 = fPM0source[k0M0]; - fMP0 = fMP0source[kM00]; - fP0P = fP0Psource[k000]; - fM0M = fM0Msource[kM0M]; - fP0M = fP0Msource[k00M]; - fM0P = fM0Psource[kM00]; - f0PP = f0PPsource[k000]; - f0MM = f0MMsource[k0MM]; - f0PM = f0PMsource[k00M]; - f0MP = f0MPsource[k0M0]; - f000 = f000source[k000]; - fMMM = fMMMsource[kMMM]; - fMMP = fMMPsource[kMM0]; - fMPP = fMPPsource[kM00]; - fMPM = fMPMsource[kM0M]; - fPPM = fPPMsource[k00M]; - fPPP = fPPPsource[k000]; - fPMP = fPMPsource[k0M0]; - fPMM = fPMMsource[k0MM]; - - drhoPPM = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM; - vx1PPM = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoPPM); - vx2PPM = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPPM); - vx3PPM = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPPM); - - kxyFromfcNEQPPM = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPM) - ((vx1PPM*vx2PPM))); - kyzFromfcNEQPPM = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPPM) - ((vx2PPM*vx3PPM))); - kxzFromfcNEQPPM = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPM) - ((vx1PPM*vx3PPM))); - kxxMyyFromfcNEQPPM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPPM) - ((vx1PPM*vx1PPM - vx2PPM*vx2PPM))); - kxxMzzFromfcNEQPPM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPPM) - ((vx1PPM*vx1PPM - vx3PPM*vx3PPM))); - kyyMzzFromfcNEQPPM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPPM) - ((vx2PPM*vx2PPM - vx3PPM*vx3PPM))); - - ////////////////////////////////////////////////////////////////////////// - //3 - ////////////////////////////////////////////////////////////////////////// - a0 = c1o8*(((vx1PPM + vx1MMP) + (vx1MPM + vx1PMP)) + ((vx1PMM + vx1MPP) + (vx1MMM + vx1PPP))); - ax = c1o4*(((vx1PPM - vx1MMP) + (vx1PPP - vx1MMM)) + ((vx1PMP - vx1MPM) + (vx1PMM - vx1MPP))); - ay = c1o4*(((vx1PPM - vx1MMP) + (vx1PPP - vx1MMM)) + ((vx1MPM - vx1PMP) + (vx1MPP - vx1PMM))); - az = c1o4*(((vx1MMP - vx1PPM) + (vx1PPP - vx1MMM)) + ((vx1PMP - vx1MPM) + (vx1MPP - vx1PMM))); - axy = c1o2*(((vx1PPM - vx1PMP) + (vx1MMM - vx1MPP)) + ((vx1MMP - vx1MPM) + (vx1PPP - vx1PMM))); - axz = c1o2*(((vx1PMP - vx1PPM) + (vx1MMM - vx1MPP)) + ((vx1MPM - vx1MMP) + (vx1PPP - vx1PMM))); - ayz = c1o2*(((vx1PPP - vx1MPM) + (vx1PMM - vx1MMP)) + ((vx1MPP - vx1PPM) + (vx1MMM - vx1PMP))); - //axyz= ((vx1MMP - vx1PPM) + (vx1PPP - vx1MMM)) + ((vx1MPM - vx1PMP) + (vx1PMM - vx1MPP)) ; - b0 = c1o8*(((vx2PPM + vx2MMP) + (vx2MPM + vx2PMP)) + ((vx2PMM + vx2MPP) + (vx2MMM + vx2PPP))); - bx = c1o4*(((vx2PPM - vx2MMP) + (vx2PPP - vx2MMM)) + ((vx2PMP - vx2MPM) + (vx2PMM - vx2MPP))); - by = c1o4*(((vx2PPM - vx2MMP) + (vx2PPP - vx2MMM)) + ((vx2MPM - vx2PMP) + (vx2MPP - vx2PMM))); - bz = c1o4*(((vx2MMP - vx2PPM) + (vx2PPP - vx2MMM)) + ((vx2PMP - vx2MPM) + (vx2MPP - vx2PMM))); - bxy = c1o2*(((vx2PPM - vx2MPP) + (vx2MMM - vx2PMP)) + ((vx2MMP - vx2PMM) + (vx2PPP - vx2MPM))); - bxz = c1o2*(((vx2MMM - vx2PPM) + (vx2PMP - vx2MPP)) + ((vx2MPM - vx2PMM) + (vx2PPP - vx2MMP))); - byz = c1o2*(((vx2MPP - vx2PPM) + (vx2MMM - vx2PMP)) + ((vx2PMM - vx2MMP) + (vx2PPP - vx2MPM))); - //bxyz= ((vx2MMP - vx2PPM) + (vx2PPP - vx2MMM)) + ((vx2MPM - vx2PMP) + (vx2PMM - vx2MPP)) ; - c0 = c1o8*(((vx3PPM + vx3MMP) + (vx3MPM + vx3PMP)) + ((vx3PMM + vx3MPP) + (vx3MMM + vx3PPP))); - cx = c1o4*(((vx3PPM - vx3MMP) + (vx3PPP - vx3MMM)) + ((vx3PMP - vx3MPM) + (vx3PMM - vx3MPP))); - cy = c1o4*(((vx3PPM - vx3MMP) + (vx3PPP - vx3MMM)) + ((vx3MPM - vx3PMP) + (vx3MPP - vx3PMM))); - cz = c1o4*(((vx3MMP - vx3PPM) + (vx3PPP - vx3MMM)) + ((vx3PMP - vx3MPM) + (vx3MPP - vx3PMM))); - cxy = c1o2*(((vx3PPM - vx3PMP) + (vx3MMM - vx3MPP)) + ((vx3MMP - vx3MPM) + (vx3PPP - vx3PMM))); - cxz = c1o2*(((vx3MMM - vx3PPM) + (vx3PMP - vx3MPP)) + ((vx3MPM - vx3PMM) + (vx3PPP - vx3MMP))); - cyz = c1o2*(((vx3MMM - vx3PPM) + (vx3MPP - vx3PMP)) + ((vx3PMM - vx3MPM) + (vx3PPP - vx3MMP))); - //cxyz= ((vx3MMP - vx3PPM) + (vx3PPP - vx3MMM)) + ((vx3MPM - vx3PMP) + (vx3PMM - vx3MPP)) ; - - //bxx = zero; - //cxx = zero; - //ayy = zero; - //cyy = zero; - //azz = zero; - //bzz = zero; - //axx = zero; - //byy = zero; - //czz = zero; - - bxx = c1o8*(((kxyFromfcNEQPPP - kxyFromfcNEQMMM) + (kxyFromfcNEQPMM - kxyFromfcNEQMPP)) + ((kxyFromfcNEQPMP - kxyFromfcNEQMPM) + (kxyFromfcNEQPPM - kxyFromfcNEQMMP))) - c1o2*axy; - cxx = c1o8*(((kxzFromfcNEQPPP - kxzFromfcNEQMMM) + (kxzFromfcNEQPMM - kxzFromfcNEQMPP)) + ((kxzFromfcNEQPMP - kxzFromfcNEQMPM) + (kxzFromfcNEQPPM - kxzFromfcNEQMMP))) - c1o2*axz; - - ayy = c1o8*(((kxyFromfcNEQPPP - kxyFromfcNEQMMM) + (kxyFromfcNEQPPM - kxyFromfcNEQMMP)) - ((kxyFromfcNEQPMM - kxyFromfcNEQMPP) + (kxyFromfcNEQPMP - kxyFromfcNEQMPM))) - c1o2*bxy; - cyy = c1o8*(((kyzFromfcNEQPPP - kyzFromfcNEQMMM) + (kyzFromfcNEQPPM - kyzFromfcNEQMMP)) - ((kyzFromfcNEQPMM - kyzFromfcNEQMPP) + (kyzFromfcNEQPMP - kyzFromfcNEQMPM))) - c1o2*byz; - - azz = c1o8*(((kxzFromfcNEQPPP - kxzFromfcNEQMMM) - (kxzFromfcNEQPMM - kxzFromfcNEQMPP)) + ((kxzFromfcNEQPMP - kxzFromfcNEQMPM) - (kxzFromfcNEQPPM - kxzFromfcNEQMMP))) - c1o2*cxz; - bzz = c1o8*(((kyzFromfcNEQPPP - kyzFromfcNEQMMM) - (kyzFromfcNEQPMM - kyzFromfcNEQMPP)) + ((kyzFromfcNEQPMP - kyzFromfcNEQMPM) - (kyzFromfcNEQPPM - kyzFromfcNEQMMP))) - c1o2*cyz; - - axx = ( c1o16*(((kxxMyyFromfcNEQPPP - kxxMyyFromfcNEQMMM) + (kxxMyyFromfcNEQPMM - kxxMyyFromfcNEQMPP)) + ((kxxMyyFromfcNEQPMP - kxxMyyFromfcNEQMPM) + (kxxMyyFromfcNEQPPM - kxxMyyFromfcNEQMMP))) - c1o4*bxy) - + ( c1o16*(((kxxMzzFromfcNEQPPP - kxxMzzFromfcNEQMMM) + (kxxMzzFromfcNEQPMM - kxxMzzFromfcNEQMPP)) + ((kxxMzzFromfcNEQPMP - kxxMzzFromfcNEQMPM) + (kxxMzzFromfcNEQPPM - kxxMzzFromfcNEQMMP))) - c1o4*cxz); - - byy = (-c1o16*(((kxxMyyFromfcNEQPPP - kxxMyyFromfcNEQMMM) - (kxxMyyFromfcNEQPMM - kxxMyyFromfcNEQMPP)) + ((kxxMyyFromfcNEQPPM - kxxMyyFromfcNEQMMP) - (kxxMyyFromfcNEQPMP - kxxMyyFromfcNEQMPM))) - c1o4*axy) - + ( c1o16*(((kyyMzzFromfcNEQPPP - kyyMzzFromfcNEQMMM) - (kyyMzzFromfcNEQPMM - kyyMzzFromfcNEQMPP)) + ((kyyMzzFromfcNEQPPM - kyyMzzFromfcNEQMMP) - (kyyMzzFromfcNEQPMP - kyyMzzFromfcNEQMPM))) - c1o4*cyz); - - czz = (-c1o16*(((kxxMzzFromfcNEQPPP - kxxMzzFromfcNEQMMM) - (kxxMzzFromfcNEQPMM - kxxMzzFromfcNEQMPP)) - ((kxxMzzFromfcNEQPPM - kxxMzzFromfcNEQMMP) - (kxxMzzFromfcNEQPMP - kxxMzzFromfcNEQMPM))) - c1o4*axz) - + ( c1o16*(((kyyMzzFromfcNEQPPP - kyyMzzFromfcNEQMMM) - (kyyMzzFromfcNEQPMM - kyyMzzFromfcNEQMPP)) - ((kyyMzzFromfcNEQPPM - kyyMzzFromfcNEQMMP) - (kyyMzzFromfcNEQPMP - kyyMzzFromfcNEQMPM))) - c1o4*byz); - - a0 -= c1o4*(axx + ayy + azz); - b0 -= c1o4*(bxx + byy + bzz); - c0 -= c1o4*(cxx + cyy + czz); - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real kxyAverage = c0o1; - real kyzAverage = c0o1; - real kxzAverage = c0o1; - real kxxMyyAverage = c0o1; - real kxxMzzAverage = c0o1; - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - ////Press - //d0 = ( pressPPM + pressPPP + pressMPM + pressMPP + pressPMM + pressPMP + pressMMM + pressMMP) * c1o8; - //dx = ( pressPPM + pressPPP - pressMPM - pressMPP + pressPMM + pressPMP - pressMMM - pressMMP) * c1o4; - //dy = ( pressPPM + pressPPP + pressMPM + pressMPP - pressPMM - pressPMP - pressMMM - pressMMP) * c1o4; - //dz = (-pressPPM + pressPPP - pressMPM + pressMPP - pressPMM + pressPMP - pressMMM + pressMMP) * c1o4; - //dxy = ( pressPPM + pressPPP - pressMPM - pressMPP - pressPMM - pressPMP + pressMMM + pressMMP) * c1o2; - //dxz = (-pressPPM + pressPPP + pressMPM - pressMPP - pressPMM + pressPMP + pressMMM - pressMMP) * c1o2; - //dyz = (-pressPPM + pressPPP - pressMPM + pressMPP + pressPMM - pressPMP + pressMMM - pressMMP) * c1o2; - //dxyz = -pressPPM + pressPPP + pressMPM - pressMPP + pressPMM - pressPMP - pressMMM + pressMMP; - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho - d0 = ( ((drhoPPM + drhoMMP) + (drhoMPM + drhoPMP)) + ((drhoPMM + drhoMPP) + (drhoMMM + drhoPPP))) * c1o8; - dx = ( ((drhoPPM - drhoMMP) + (drhoPMM - drhoMPP)) + ((drhoPMP - drhoMPM) + (drhoPPP - drhoMMM))) * c1o4; - dy = ( ((drhoPPM - drhoMMP) + (drhoMPP - drhoPMM)) + ((drhoMPM - drhoPMP) + (drhoPPP - drhoMMM))) * c1o4; - dz = ( ((drhoMMP - drhoPPM) + (drhoPPP - drhoMMM)) + ((drhoPMP - drhoMPM) + (drhoMPP - drhoPMM))) * c1o4; - dxy = ( ((drhoPPM - drhoPMP) + (drhoPPP - drhoPMM)) + ((drhoMMP - drhoMPM) + (drhoMMM - drhoMPP))) * c1o2; - dxz = ( ((drhoMMM - drhoPPM) + (drhoPPP - drhoMMP)) + ((drhoMPM - drhoPMM) + (drhoPMP - drhoMPP))) * c1o2; - dyz = ( ((drhoMPP - drhoPPM) + (drhoPPP - drhoMPM)) + ((drhoPMM - drhoMMP) + (drhoMMM - drhoPMP))) * c1o2; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - // Bernd das Brot - // - // - // x------x - // | | - // | ---+--->X - // | | \ - // x------x \ - // off-vector - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - a0 = a0 + xoff * ax + yoff * ay + zoff * az + xoff_sq * axx + yoff_sq * ayy + zoff_sq * azz + xoff*yoff*axy + xoff*zoff*axz + yoff*zoff*ayz; - ax = ax + c2o1 * xoff * axx + yoff * axy + zoff * axz; - ay = ay + c2o1 * yoff * ayy + xoff * axy + zoff * ayz; - az = az + c2o1 * zoff * azz + xoff * axz + yoff * ayz; - b0 = b0 + xoff * bx + yoff * by + zoff * bz + xoff_sq * bxx + yoff_sq * byy + zoff_sq * bzz + xoff*yoff*bxy + xoff*zoff*bxz + yoff*zoff*byz; - bx = bx + c2o1 * xoff * bxx + yoff * bxy + zoff * bxz; - by = by + c2o1 * yoff * byy + xoff * bxy + zoff * byz; - bz = bz + c2o1 * zoff * bzz + xoff * bxz + yoff * byz; - c0 = c0 + xoff * cx + yoff * cy + zoff * cz + xoff_sq * cxx + yoff_sq * cyy + zoff_sq * czz + xoff*yoff*cxy + xoff*zoff*cxz + yoff*zoff*cyz; - cx = cx + c2o1 * xoff * cxx + yoff * cxy + zoff * cxz; - cy = cy + c2o1 * yoff * cyy + xoff * cxy + zoff * cyz; - cz = cz + c2o1 * zoff * czz + xoff * cxz + yoff * cyz; - d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = c0o1; - real mfabb = c0o1; - real mfbcb = c0o1; - real mfbab = c0o1; - real mfbbc = c0o1; - real mfbba = c0o1; - real mfccb = c0o1; - real mfaab = c0o1; - real mfcab = c0o1; - real mfacb = c0o1; - real mfcbc = c0o1; - real mfaba = c0o1; - real mfcba = c0o1; - real mfabc = c0o1; - real mfbcc = c0o1; - real mfbaa = c0o1; - real mfbca = c0o1; - real mfbac = c0o1; - real mfbbb = c0o1; - real mfccc = c0o1; - real mfaac = c0o1; - real mfcac = c0o1; - real mfacc = c0o1; - real mfcca = c0o1; - real mfaaa = c0o1; - real mfcaa = c0o1; - real mfaca = c0o1; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real m0, m1, m2, oMdrho; - real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz; - //real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein - //real O3 = c2o1 - o; - //real residu, residutmp; - //residutmp = c0o1;///*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new; - real NeqOn = c1o1;//zero;//one; //.... one = on ..... zero = off - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position C 0., 0., 0. - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //x = 0.; - //y = 0.; - //z = 0.; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //real mxoff = -xoff; - //real myoff = -yoff; - //real mzoff = -zoff; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //press = pressPPP * (c1o8 - c1o4 * mxoff - c1o4 * myoff - c1o4 * mzoff) + - // pressMPP * (c1o8 + c1o4 * mxoff - c1o4 * myoff - c1o4 * mzoff) + - // pressPMP * (c1o8 - c1o4 * mxoff + c1o4 * myoff - c1o4 * mzoff) + - // pressMMP * (c1o8 + c1o4 * mxoff + c1o4 * myoff - c1o4 * mzoff) + - // pressPPM * (c1o8 - c1o4 * mxoff - c1o4 * myoff + c1o4 * mzoff) + - // pressMPM * (c1o8 + c1o4 * mxoff - c1o4 * myoff + c1o4 * mzoff) + - // pressPMM * (c1o8 - c1o4 * mxoff + c1o4 * myoff + c1o4 * mzoff) + - // pressMMM * (c1o8 + c1o4 * mxoff + c1o4 * myoff + c1o4 * mzoff); - //drho = drhoPPP * (c1o8 - c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + - // drhoMPP * (c1o8 + c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + - // drhoPMP * (c1o8 - c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + - // drhoMMP * (c1o8 + c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + - // drhoPPM * (c1o8 - c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + - // drhoMPM * (c1o8 + c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + - // drhoPMM * (c1o8 - c1o4 * xoff + c1o4 * yoff + c1o4 * zoff) + - // drhoMMM * (c1o8 + c1o4 * xoff + c1o4 * yoff + c1o4 * zoff); - press = d0; - vvx = a0; - vvy = b0; - vvz = c0; - - //mfaaa = drho; - //mfaaa = press + (ax+by+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //two - // linear combinations - real oP = o;// :( - mxxPyyPzz = mfaaa -c2o3*(ax+by+cz)*eps_new/oP*(c1o1+press); - //mxxMyy = -c2o3*(ax - by)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy)*eps_new/o; - //mfbab = -c1o3 * (az + cx)*eps_new/o; - //mfbba = -c1o3 * (ay + bx)*eps_new/o; - mxxMyy = -c2o3*((ax - by)+kxxMyyAverage)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*((ax - cz)+kxxMzzAverage)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * ((bz + cy)+kyzAverage)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * ((az + cx)+kxzAverage)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * ((ay + bx)+kxyAverage)*eps_new/o * (c1o1 + press); - - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //3. - // linear combinations - //residu = residutmp * (ayz + bxz + cxy ); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0o1; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz ); - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz )); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0o1; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz ); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz ); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0o1; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy ); - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy )); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0o1; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy ); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy ); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0o1; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz ); - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz ); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0o1; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz ); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz ); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0o1; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4. - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - //index 0 - k000 = posC[k]; - kM00 = neighborCX[k000]; - k0M0 = neighborCY[k000]; - k00M = neighborCZ[k000]; - kMM0 = neighborCY[kM00]; - kM0M = neighborCZ[kM00]; - k0MM = neighborCZ[k0M0]; - kMMM = neighborCZ[kMM0]; - //////////////////////////////////////////////////////////////////////////////////// - - - //////////////////////////////////////////////////////////////////////////////////// - fP00dest[k000] = mfcbb; - fM00dest[kM00] = mfabb; - f0P0dest[k000] = mfbcb; - f0M0dest[k0M0] = mfbab; - f00Pdest[k000] = mfbbc; - f00Mdest[k00M] = mfbba; - fPP0dest[k000] = mfccb; - fMM0dest[kMM0] = mfaab; - fPM0dest[k0M0] = mfcab; - fMP0dest[kM00] = mfacb; - fP0Pdest[k000] = mfcbc; - fM0Mdest[kM0M] = mfaba; - fP0Mdest[k00M] = mfcba; - fM0Pdest[kM00] = mfabc; - f0PPdest[k000] = mfbcc; - f0MMdest[k0MM] = mfbaa; - f0PMdest[k00M] = mfbca; - f0MPdest[k0M0] = mfbac; - f000dest[k000] = mfbbb; - fMMMdest[kMMM] = mfaaa; - fMMPdest[kMM0] = mfaac; - fMPPdest[kM00] = mfacc; - fMPMdest[kM0M] = mfaca; - fPPMdest[k00M] = mfcca; - fPPPdest[k000] = mfccc; - fPMPdest[k0M0] = mfcac; - fPMMdest[k0MM] = mfcaa; - //////////////////////////////////////////////////////////////////////////////////// - } -} -////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -////////////////////////////////////////////////////////////////////////// -__global__ void scaleFC_AA2016_comp_27(real* DC, - real* DF, - unsigned int* neighborCX, - unsigned int* neighborCY, - unsigned int* neighborCZ, - unsigned int* neighborFX, - unsigned int* neighborFY, - unsigned int* neighborFZ, - unsigned long long numberOfLBnodesCoarse, - unsigned long long numberOfLBnodesFine, - bool isEvenTimestep, - unsigned int* posC, - unsigned int* posFSWB, - unsigned int kFC, - real omCoarse, - real omFine, - real nu, - unsigned int nxC, - unsigned int nyC, - unsigned int nxF, - unsigned int nyF, - ICellNeigh offFC) -{ - real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, - *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - - feF = &DF[dP00 * numberOfLBnodesFine]; - fwF = &DF[dM00 * numberOfLBnodesFine]; - fnF = &DF[d0P0 * numberOfLBnodesFine]; - fsF = &DF[d0M0 * numberOfLBnodesFine]; - ftF = &DF[d00P * numberOfLBnodesFine]; - fbF = &DF[d00M * numberOfLBnodesFine]; - fneF = &DF[dPP0 * numberOfLBnodesFine]; - fswF = &DF[dMM0 * numberOfLBnodesFine]; - fseF = &DF[dPM0 * numberOfLBnodesFine]; - fnwF = &DF[dMP0 * numberOfLBnodesFine]; - fteF = &DF[dP0P * numberOfLBnodesFine]; - fbwF = &DF[dM0M * numberOfLBnodesFine]; - fbeF = &DF[dP0M * numberOfLBnodesFine]; - ftwF = &DF[dM0P * numberOfLBnodesFine]; - ftnF = &DF[d0PP * numberOfLBnodesFine]; - fbsF = &DF[d0MM * numberOfLBnodesFine]; - fbnF = &DF[d0PM * numberOfLBnodesFine]; - ftsF = &DF[d0MP * numberOfLBnodesFine]; - fzeroF = &DF[d000 * numberOfLBnodesFine]; - ftneF = &DF[dPPP * numberOfLBnodesFine]; - ftswF = &DF[dMMP * numberOfLBnodesFine]; - ftseF = &DF[dPMP * numberOfLBnodesFine]; - ftnwF = &DF[dMPP * numberOfLBnodesFine]; - fbneF = &DF[dPPM * numberOfLBnodesFine]; - fbswF = &DF[dMMM * numberOfLBnodesFine]; - fbseF = &DF[dPMM * numberOfLBnodesFine]; - fbnwF = &DF[dMPM * numberOfLBnodesFine]; - - real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, *fzeroC, - *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; - - if (isEvenTimestep==true) - { - feC = &DC[dP00 * numberOfLBnodesCoarse]; - fwC = &DC[dM00 * numberOfLBnodesCoarse]; - fnC = &DC[d0P0 * numberOfLBnodesCoarse]; - fsC = &DC[d0M0 * numberOfLBnodesCoarse]; - ftC = &DC[d00P * numberOfLBnodesCoarse]; - fbC = &DC[d00M * numberOfLBnodesCoarse]; - fneC = &DC[dPP0 * numberOfLBnodesCoarse]; - fswC = &DC[dMM0 * numberOfLBnodesCoarse]; - fseC = &DC[dPM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dMP0 * numberOfLBnodesCoarse]; - fteC = &DC[dP0P * numberOfLBnodesCoarse]; - fbwC = &DC[dM0M * numberOfLBnodesCoarse]; - fbeC = &DC[dP0M * numberOfLBnodesCoarse]; - ftwC = &DC[dM0P * numberOfLBnodesCoarse]; - ftnC = &DC[d0PP * numberOfLBnodesCoarse]; - fbsC = &DC[d0MM * numberOfLBnodesCoarse]; - fbnC = &DC[d0PM * numberOfLBnodesCoarse]; - ftsC = &DC[d0MP * numberOfLBnodesCoarse]; - fzeroC = &DC[d000 * numberOfLBnodesCoarse]; - ftneC = &DC[dPPP * numberOfLBnodesCoarse]; - ftswC = &DC[dMMP * numberOfLBnodesCoarse]; - ftseC = &DC[dPMP * numberOfLBnodesCoarse]; - ftnwC = &DC[dMPP * numberOfLBnodesCoarse]; - fbneC = &DC[dPPM * numberOfLBnodesCoarse]; - fbswC = &DC[dMMM * numberOfLBnodesCoarse]; - fbseC = &DC[dPMM * numberOfLBnodesCoarse]; - fbnwC = &DC[dMPM * numberOfLBnodesCoarse]; - } - else - { - fwC = &DC[dP00 * numberOfLBnodesCoarse]; - feC = &DC[dM00 * numberOfLBnodesCoarse]; - fsC = &DC[d0P0 * numberOfLBnodesCoarse]; - fnC = &DC[d0M0 * numberOfLBnodesCoarse]; - fbC = &DC[d00P * numberOfLBnodesCoarse]; - ftC = &DC[d00M * numberOfLBnodesCoarse]; - fswC = &DC[dPP0 * numberOfLBnodesCoarse]; - fneC = &DC[dMM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dPM0 * numberOfLBnodesCoarse]; - fseC = &DC[dMP0 * numberOfLBnodesCoarse]; - fbwC = &DC[dP0P * numberOfLBnodesCoarse]; - fteC = &DC[dM0M * numberOfLBnodesCoarse]; - ftwC = &DC[dP0M * numberOfLBnodesCoarse]; - fbeC = &DC[dM0P * numberOfLBnodesCoarse]; - fbsC = &DC[d0PP * numberOfLBnodesCoarse]; - ftnC = &DC[d0MM * numberOfLBnodesCoarse]; - ftsC = &DC[d0PM * numberOfLBnodesCoarse]; - fbnC = &DC[d0MP * numberOfLBnodesCoarse]; - fzeroC = &DC[d000 * numberOfLBnodesCoarse]; - fbswC = &DC[dPPP * numberOfLBnodesCoarse]; - fbneC = &DC[dMMP * numberOfLBnodesCoarse]; - fbnwC = &DC[dPMP * numberOfLBnodesCoarse]; - fbseC = &DC[dMPP * numberOfLBnodesCoarse]; - ftswC = &DC[dPPM * numberOfLBnodesCoarse]; - ftneC = &DC[dMMM * numberOfLBnodesCoarse]; - ftnwC = &DC[dPMM * numberOfLBnodesCoarse]; - ftseC = &DC[dMPM * numberOfLBnodesCoarse]; - } - //////////////////////////////////////////////////////////////////////////////// - const unsigned ix = threadIdx.x; // Globaler x-Index - const unsigned iy = blockIdx.x; // Globaler y-Index - const unsigned iz = blockIdx.y; // Globaler z-Index - - const unsigned nx = blockDim.x; - const unsigned ny = gridDim.x; - - const unsigned k = nx*(ny*iz + iy) + ix; - ////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////// - real eps_new = c2o1; - real omegaS = omFine;//-omFine; - real o = omCoarse;//-omCoarse; - //real op = one; - //real cu_sq; - - real xoff, yoff, zoff; - real xoff_sq, yoff_sq, zoff_sq; - - real press;//,drho,vx1,vx2,vx3; - real /*press_SWT,*/drho_SWT,vx1_SWT,vx2_SWT,vx3_SWT; - real /*press_NWT,*/drho_NWT,vx1_NWT,vx2_NWT,vx3_NWT; - real /*press_NET,*/drho_NET,vx1_NET,vx2_NET,vx3_NET; - real /*press_SET,*/drho_SET,vx1_SET,vx2_SET,vx3_SET; - real /*press_SWB,*/drho_SWB,vx1_SWB,vx2_SWB,vx3_SWB; - real /*press_NWB,*/drho_NWB,vx1_NWB,vx2_NWB,vx3_NWB; - real /*press_NEB,*/drho_NEB,vx1_NEB,vx2_NEB,vx3_NEB; - real /*press_SEB,*/drho_SEB,vx1_SEB,vx2_SEB,vx3_SEB; - real f_E,f_W,f_N,f_S,f_T,f_B,f_NE,f_SW,f_SE,f_NW,f_TE,f_BW,f_BE,f_TW,f_TN,f_BS,f_BN,f_TS,f_ZERO,f_TNE, f_TSW, f_TSE, f_TNW, f_BNE, f_BSW, f_BSE, f_BNW; - //real feq_E,feq_W,feq_N,feq_S,feq_T,feq_B,feq_NE,feq_SW,feq_SE,feq_NW,feq_TE,feq_BW,feq_BE,feq_TW,feq_TN,feq_BS,feq_BN,feq_TS,feq_ZERO,feq_TNE, feq_TSW, feq_TSE, feq_TNW, feq_BNE, feq_BSW, feq_BSE, feq_BNW; - real kxyFromfcNEQ_SWT, kyzFromfcNEQ_SWT, kxzFromfcNEQ_SWT, kxxMyyFromfcNEQ_SWT, kxxMzzFromfcNEQ_SWT; - real kxyFromfcNEQ_NWT, kyzFromfcNEQ_NWT, kxzFromfcNEQ_NWT, kxxMyyFromfcNEQ_NWT, kxxMzzFromfcNEQ_NWT; - real kxyFromfcNEQ_NET, kyzFromfcNEQ_NET, kxzFromfcNEQ_NET, kxxMyyFromfcNEQ_NET, kxxMzzFromfcNEQ_NET; - real kxyFromfcNEQ_SET, kyzFromfcNEQ_SET, kxzFromfcNEQ_SET, kxxMyyFromfcNEQ_SET, kxxMzzFromfcNEQ_SET; - real kxyFromfcNEQ_SWB, kyzFromfcNEQ_SWB, kxzFromfcNEQ_SWB, kxxMyyFromfcNEQ_SWB, kxxMzzFromfcNEQ_SWB; - real kxyFromfcNEQ_NWB, kyzFromfcNEQ_NWB, kxzFromfcNEQ_NWB, kxxMyyFromfcNEQ_NWB, kxxMzzFromfcNEQ_NWB; - real kxyFromfcNEQ_NEB, kyzFromfcNEQ_NEB, kxzFromfcNEQ_NEB, kxxMyyFromfcNEQ_NEB, kxxMzzFromfcNEQ_NEB; - real kxyFromfcNEQ_SEB, kyzFromfcNEQ_SEB, kxzFromfcNEQ_SEB, kxxMyyFromfcNEQ_SEB, kxxMzzFromfcNEQ_SEB; - real a0, ax, ay, az, axx, ayy, azz, axy, axz, ayz, b0, bx, by, bz, bxx, byy, bzz, bxy, bxz, byz, c0, cx, cy, cz, cxx, cyy, czz, cxy, cxz, cyz/*, axyz, bxyz, cxyz*/; - real d0, dx, dy, dz, dxy, dxz, dyz/*, dxyz*/; - ////////////////////////////////////////////////////////////////////////////////////// - real mfcbb, mfabb, mfbcb, mfbab, mfbbc, mfbba, mfccb, mfaab, mfcab, mfacb, mfcbc, mfaba, mfcba, mfabc, mfbcc, mfbaa, mfbca, mfbac, mfbbb, mfccc, mfaac, mfcac, mfacc, mfcca, mfaaa, mfcaa, mfaca; - //real wadjust; - //real qudricLimitP = 0.01f;// * 0.0001f; - //real qudricLimitM = 0.01f;// * 0.0001f; - //real qudricLimitD = 0.01f;// * 0.001f; - //real omega = omFine; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real m0, m1, m2, vvx, vvy, vvz, vx2, vy2, vz2, oMdrho; - real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz; - real NeqOn = c1o1; - real drho, rho; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //real OxxPyyPzz; - //real OxyyPxzz; - //real OxyyMxzz; - //real Oxyz; - //real O4, O5, O6; - //real CUMcbb, CUMbcb, CUMbbc, CUMcca, CUMcac, CUMacc, CUMbcc, CUMcbc, CUMccb, CUMccc; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - if(k<kFC) - { - ////////////////////////////////////////////////////////////////////////// - xoff = offFC.x[k]; - yoff = offFC.y[k]; - zoff = offFC.z[k]; - xoff_sq = xoff * xoff; - yoff_sq = yoff * yoff; - zoff_sq = zoff * zoff; - ////////////////////////////////////////////////////////////////////////// - //SWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - unsigned int k0zero= posFSWB[k]; - unsigned int k0w = neighborFX[k0zero]; - unsigned int k0s = neighborFY[k0zero]; - unsigned int k0b = neighborFZ[k0zero]; - unsigned int k0sw = neighborFY[k0w]; - unsigned int k0bw = neighborFZ[k0w]; - unsigned int k0bs = neighborFZ[k0s]; - unsigned int k0bsw = neighborFZ[k0sw]; - ////////////////////////////////////////////////////////////////////////// - //index - unsigned int kzero= k0zero; - unsigned int kw = k0w; - unsigned int ks = k0s; - unsigned int kb = k0b; - unsigned int ksw = k0sw; - unsigned int kbw = k0bw; - unsigned int kbs = k0bs; - unsigned int kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - drho_SWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_SWB = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SWB); - vx2_SWB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWB); - vx3_SWB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWB); - - kxyFromfcNEQ_SWB = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx2_SWB))); - kyzFromfcNEQ_SWB = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SWB) - ((vx2_SWB*vx3_SWB))); - kxzFromfcNEQ_SWB = -c3o1*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx3_SWB))); - kxxMyyFromfcNEQ_SWB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx1_SWB-vx2_SWB*vx2_SWB))); - kxxMzzFromfcNEQ_SWB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx1_SWB-vx3_SWB*vx3_SWB))); - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - mfcbb = f_E ; - mfabb = f_W ; - mfbcb = f_N ; - mfbab = f_S ; - mfbbc = f_T ; - mfbba = f_B ; - mfccb = f_NE ; - mfaab = f_SW ; - mfcab = f_SE ; - mfacb = f_NW ; - mfcbc = f_TE ; - mfaba = f_BW ; - mfcba = f_BE ; - mfabc = f_TW ; - mfbcc = f_TN ; - mfbaa = f_BS ; - mfbca = f_BN ; - mfbac = f_TS ; - mfbbb = f_ZERO; - mfccc = f_TNE ; - mfaac = f_TSW ; - mfcac = f_TSE ; - mfacc = f_TNW ; - mfcca = f_BNE ; - mfaaa = f_BSW ; - mfcaa = f_BSE ; - mfaca = f_BNW ; - //////////////////////////////////////////////////////////////////////////////////// - drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + - (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) + - ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb; - - rho = c1o1+drho; - //////////////////////////////////////////////////////////////////////////////////// - vvx =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + - (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) + - (mfcbb-mfabb)) / rho; - vvy =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + - (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) + - (mfbcb-mfbab)) / rho; - vvz =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + - (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) + - (mfbbc-mfbba)) / rho; - //////////////////////////////////////////////////////////////////////////////////// - //fast - oMdrho = c1o1; // comp special - vx2=vvx*vvx; - vy2=vvy*vvy; - vz2=vvz*vvz; - //////////////////////////////////////////////////////////////////////////////////// - //Hin - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m2 = mfaaa + mfaac; - m1 = mfaac - mfaaa; - m0 = m2 + mfaab; - mfaaa = m0; - m0 += c1o36 * oMdrho; - mfaab = m1 - m0 * vvz; - mfaac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfabc; - m1 = mfabc - mfaba; - m0 = m2 + mfabb; - mfaba = m0; - m0 += c1o9 * oMdrho; - mfabb = m1 - m0 * vvz; - mfabc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfacc; - m1 = mfacc - mfaca; - m0 = m2 + mfacb; - mfaca = m0; - m0 += c1o36 * oMdrho; - mfacb = m1 - m0 * vvz; - mfacc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbac; - m1 = mfbac - mfbaa; - m0 = m2 + mfbab; - mfbaa = m0; - m0 += c1o9 * oMdrho; - mfbab = m1 - m0 * vvz; - mfbac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbba + mfbbc; - m1 = mfbbc - mfbba; - m0 = m2 + mfbbb; - mfbba = m0; - m0 += c4o9 * oMdrho; - mfbbb = m1 - m0 * vvz; - mfbbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbca + mfbcc; - m1 = mfbcc - mfbca; - m0 = m2 + mfbcb; - mfbca = m0; - m0 += c1o9 * oMdrho; - mfbcb = m1 - m0 * vvz; - mfbcc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcac; - m1 = mfcac - mfcaa; - m0 = m2 + mfcab; - mfcaa = m0; - m0 += c1o36 * oMdrho; - mfcab = m1 - m0 * vvz; - mfcac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcba + mfcbc; - m1 = mfcbc - mfcba; - m0 = m2 + mfcbb; - mfcba = m0; - m0 += c1o9 * oMdrho; - mfcbb = m1 - m0 * vvz; - mfcbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcca + mfccc; - m1 = mfccc - mfcca; - m0 = m2 + mfccb; - mfcca = m0; - m0 += c1o36 * oMdrho; - mfccb = m1 - m0 * vvz; - mfccc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m2 = mfaaa + mfaca; - m1 = mfaca - mfaaa; - m0 = m2 + mfaba; - mfaaa = m0; - m0 += c1o6 * oMdrho; - mfaba = m1 - m0 * vvy; - mfaca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfacb; - m1 = mfacb - mfaab; - m0 = m2 + mfabb; - mfaab = m0; - mfabb = m1 - m0 * vvy; - mfacb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfacc; - m1 = mfacc - mfaac; - m0 = m2 + mfabc; - mfaac = m0; - m0 += c1o18 * oMdrho; - mfabc = m1 - m0 * vvy; - mfacc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbca; - m1 = mfbca - mfbaa; - m0 = m2 + mfbba; - mfbaa = m0; - m0 += c2o3 * oMdrho; - mfbba = m1 - m0 * vvy; - mfbca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbab + mfbcb; - m1 = mfbcb - mfbab; - m0 = m2 + mfbbb; - mfbab = m0; - mfbbb = m1 - m0 * vvy; - mfbcb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbac + mfbcc; - m1 = mfbcc - mfbac; - m0 = m2 + mfbbc; - mfbac = m0; - m0 += c2o9 * oMdrho; - mfbbc = m1 - m0 * vvy; - mfbcc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcca; - m1 = mfcca - mfcaa; - m0 = m2 + mfcba; - mfcaa = m0; - m0 += c1o6 * oMdrho; - mfcba = m1 - m0 * vvy; - mfcca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcab + mfccb; - m1 = mfccb - mfcab; - m0 = m2 + mfcbb; - mfcab = m0; - mfcbb = m1 - m0 * vvy; - mfccb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcac + mfccc; - m1 = mfccc - mfcac; - m0 = m2 + mfcbc; - mfcac = m0; - m0 += c1o18 * oMdrho; - mfcbc = m1 - m0 * vvy; - mfccc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m2 = mfaaa + mfcaa; - m1 = mfcaa - mfaaa; - m0 = m2 + mfbaa; - mfaaa = m0; - m0 += c1o1* oMdrho; - mfbaa = m1 - m0 * vvx; - mfcaa = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfcba; - m1 = mfcba - mfaba; - m0 = m2 + mfbba; - mfaba = m0; - mfbba = m1 - m0 * vvx; - mfcba = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfcca; - m1 = mfcca - mfaca; - m0 = m2 + mfbca; - mfaca = m0; - m0 += c1o3 * oMdrho; - mfbca = m1 - m0 * vvx; - mfcca = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfcab; - m1 = mfcab - mfaab; - m0 = m2 + mfbab; - mfaab = m0; - mfbab = m1 - m0 * vvx; - mfcab = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabb + mfcbb; - m1 = mfcbb - mfabb; - m0 = m2 + mfbbb; - mfabb = m0; - mfbbb = m1 - m0 * vvx; - mfcbb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacb + mfccb; - m1 = mfccb - mfacb; - m0 = m2 + mfbcb; - mfacb = m0; - mfbcb = m1 - m0 * vvx; - mfccb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfcac; - m1 = mfcac - mfaac; - m0 = m2 + mfbac; - mfaac = m0; - m0 += c1o3 * oMdrho; - mfbac = m1 - m0 * vvx; - mfcac = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabc + mfcbc; - m1 = mfcbc - mfabc; - m0 = m2 + mfbbc; - mfabc = m0; - mfbbc = m1 - m0 * vvx; - mfcbc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacc + mfccc; - m1 = mfccc - mfacc; - m0 = m2 + mfbcc; - mfacc = m0; - m0 += c1o9 * oMdrho; - mfbcc = m1 - m0 * vvx; - mfccc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - // linear combinations - - mxxyPyzz = mfcba + mfabc; - mxxyMyzz = mfcba - mfabc; - - mxxzPyyz = mfcab + mfacb; - mxxzMyyz = mfcab - mfacb; - - mxyyPxzz = mfbca + mfbac; - mxyyMxzz = mfbca - mfbac; - - - ////////////////////////////////////////////////////////////////////////// - //exclusive for this source node - real mfbbb_SWB = mfbbb; - real mxxyPyzz_SWB = mxxyPyzz; - real mxxyMyzz_SWB = mxxyMyzz; - real mxxzPyyz_SWB = mxxzPyyz; - real mxxzMyyz_SWB = mxxzMyyz; - real mxyyPxzz_SWB = mxyyPxzz; - real mxyyMxzz_SWB = mxyyMxzz; - ////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ////////////////////////////////////////////////////////////////////////// - //SWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - drho_SWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_SWT = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SWT); - vx2_SWT = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWT); - vx3_SWT = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWT); - - kxyFromfcNEQ_SWT = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx2_SWT))); - kyzFromfcNEQ_SWT = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SWT) - ((vx2_SWT*vx3_SWT))); - kxzFromfcNEQ_SWT = -c3o1*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx3_SWT))); - kxxMyyFromfcNEQ_SWT = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx1_SWT-vx2_SWT*vx2_SWT))); - kxxMzzFromfcNEQ_SWT = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx1_SWT-vx3_SWT*vx3_SWT))); - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - mfcbb = f_E ; - mfabb = f_W ; - mfbcb = f_N ; - mfbab = f_S ; - mfbbc = f_T ; - mfbba = f_B ; - mfccb = f_NE ; - mfaab = f_SW ; - mfcab = f_SE ; - mfacb = f_NW ; - mfcbc = f_TE ; - mfaba = f_BW ; - mfcba = f_BE ; - mfabc = f_TW ; - mfbcc = f_TN ; - mfbaa = f_BS ; - mfbca = f_BN ; - mfbac = f_TS ; - mfbbb = f_ZERO; - mfccc = f_TNE ; - mfaac = f_TSW ; - mfcac = f_TSE ; - mfacc = f_TNW ; - mfcca = f_BNE ; - mfaaa = f_BSW ; - mfcaa = f_BSE ; - mfaca = f_BNW ; - //////////////////////////////////////////////////////////////////////////////////// - drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + - (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) + - ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb; - - rho = c1o1+drho; - //////////////////////////////////////////////////////////////////////////////////// - vvx =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + - (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) + - (mfcbb-mfabb)) / rho; - vvy =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + - (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) + - (mfbcb-mfbab)) / rho; - vvz =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + - (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) + - (mfbbc-mfbba)) / rho; - //////////////////////////////////////////////////////////////////////////////////// - //fast - oMdrho = c1o1; // comp special - vx2=vvx*vvx; - vy2=vvy*vvy; - vz2=vvz*vvz; - //////////////////////////////////////////////////////////////////////////////////// - //Hin - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m2 = mfaaa + mfaac; - m1 = mfaac - mfaaa; - m0 = m2 + mfaab; - mfaaa = m0; - m0 += c1o36 * oMdrho; - mfaab = m1 - m0 * vvz; - mfaac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfabc; - m1 = mfabc - mfaba; - m0 = m2 + mfabb; - mfaba = m0; - m0 += c1o9 * oMdrho; - mfabb = m1 - m0 * vvz; - mfabc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfacc; - m1 = mfacc - mfaca; - m0 = m2 + mfacb; - mfaca = m0; - m0 += c1o36 * oMdrho; - mfacb = m1 - m0 * vvz; - mfacc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbac; - m1 = mfbac - mfbaa; - m0 = m2 + mfbab; - mfbaa = m0; - m0 += c1o9 * oMdrho; - mfbab = m1 - m0 * vvz; - mfbac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbba + mfbbc; - m1 = mfbbc - mfbba; - m0 = m2 + mfbbb; - mfbba = m0; - m0 += c4o9 * oMdrho; - mfbbb = m1 - m0 * vvz; - mfbbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbca + mfbcc; - m1 = mfbcc - mfbca; - m0 = m2 + mfbcb; - mfbca = m0; - m0 += c1o9 * oMdrho; - mfbcb = m1 - m0 * vvz; - mfbcc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcac; - m1 = mfcac - mfcaa; - m0 = m2 + mfcab; - mfcaa = m0; - m0 += c1o36 * oMdrho; - mfcab = m1 - m0 * vvz; - mfcac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcba + mfcbc; - m1 = mfcbc - mfcba; - m0 = m2 + mfcbb; - mfcba = m0; - m0 += c1o9 * oMdrho; - mfcbb = m1 - m0 * vvz; - mfcbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcca + mfccc; - m1 = mfccc - mfcca; - m0 = m2 + mfccb; - mfcca = m0; - m0 += c1o36 * oMdrho; - mfccb = m1 - m0 * vvz; - mfccc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m2 = mfaaa + mfaca; - m1 = mfaca - mfaaa; - m0 = m2 + mfaba; - mfaaa = m0; - m0 += c1o6 * oMdrho; - mfaba = m1 - m0 * vvy; - mfaca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfacb; - m1 = mfacb - mfaab; - m0 = m2 + mfabb; - mfaab = m0; - mfabb = m1 - m0 * vvy; - mfacb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfacc; - m1 = mfacc - mfaac; - m0 = m2 + mfabc; - mfaac = m0; - m0 += c1o18 * oMdrho; - mfabc = m1 - m0 * vvy; - mfacc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbca; - m1 = mfbca - mfbaa; - m0 = m2 + mfbba; - mfbaa = m0; - m0 += c2o3 * oMdrho; - mfbba = m1 - m0 * vvy; - mfbca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbab + mfbcb; - m1 = mfbcb - mfbab; - m0 = m2 + mfbbb; - mfbab = m0; - mfbbb = m1 - m0 * vvy; - mfbcb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbac + mfbcc; - m1 = mfbcc - mfbac; - m0 = m2 + mfbbc; - mfbac = m0; - m0 += c2o9 * oMdrho; - mfbbc = m1 - m0 * vvy; - mfbcc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcca; - m1 = mfcca - mfcaa; - m0 = m2 + mfcba; - mfcaa = m0; - m0 += c1o6 * oMdrho; - mfcba = m1 - m0 * vvy; - mfcca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcab + mfccb; - m1 = mfccb - mfcab; - m0 = m2 + mfcbb; - mfcab = m0; - mfcbb = m1 - m0 * vvy; - mfccb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcac + mfccc; - m1 = mfccc - mfcac; - m0 = m2 + mfcbc; - mfcac = m0; - m0 += c1o18 * oMdrho; - mfcbc = m1 - m0 * vvy; - mfccc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m2 = mfaaa + mfcaa; - m1 = mfcaa - mfaaa; - m0 = m2 + mfbaa; - mfaaa = m0; - m0 += c1o1* oMdrho; - mfbaa = m1 - m0 * vvx; - mfcaa = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfcba; - m1 = mfcba - mfaba; - m0 = m2 + mfbba; - mfaba = m0; - mfbba = m1 - m0 * vvx; - mfcba = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfcca; - m1 = mfcca - mfaca; - m0 = m2 + mfbca; - mfaca = m0; - m0 += c1o3 * oMdrho; - mfbca = m1 - m0 * vvx; - mfcca = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfcab; - m1 = mfcab - mfaab; - m0 = m2 + mfbab; - mfaab = m0; - mfbab = m1 - m0 * vvx; - mfcab = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabb + mfcbb; - m1 = mfcbb - mfabb; - m0 = m2 + mfbbb; - mfabb = m0; - mfbbb = m1 - m0 * vvx; - mfcbb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacb + mfccb; - m1 = mfccb - mfacb; - m0 = m2 + mfbcb; - mfacb = m0; - mfbcb = m1 - m0 * vvx; - mfccb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfcac; - m1 = mfcac - mfaac; - m0 = m2 + mfbac; - mfaac = m0; - m0 += c1o3 * oMdrho; - mfbac = m1 - m0 * vvx; - mfcac = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabc + mfcbc; - m1 = mfcbc - mfabc; - m0 = m2 + mfbbc; - mfabc = m0; - mfbbc = m1 - m0 * vvx; - mfcbc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacc + mfccc; - m1 = mfccc - mfacc; - m0 = m2 + mfbcc; - mfacc = m0; - m0 += c1o9 * oMdrho; - mfbcc = m1 - m0 * vvx; - mfccc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - // linear combinations - - mxxyPyzz = mfcba + mfabc; - mxxyMyzz = mfcba - mfabc; - - mxxzPyyz = mfcab + mfacb; - mxxzMyyz = mfcab - mfacb; - - mxyyPxzz = mfbca + mfbac; - mxyyMxzz = mfbca - mfbac; - - - ////////////////////////////////////////////////////////////////////////// - //exclusive for this source node - real mfbbb_SWT = mfbbb; - real mxxyPyzz_SWT = mxxyPyzz; - real mxxyMyzz_SWT = mxxyMyzz; - real mxxzPyyz_SWT = mxxzPyyz; - real mxxzMyyz_SWT = mxxzMyyz; - real mxyyPxzz_SWT = mxyyPxzz; - real mxyyMxzz_SWT = mxyyMxzz; - ////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ////////////////////////////////////////////////////////////////////////// - //SET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - drho_SET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_SET = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SET); - vx2_SET = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SET); - vx3_SET = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SET); - - kxyFromfcNEQ_SET = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SET) - ((vx1_SET*vx2_SET))); - kyzFromfcNEQ_SET = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SET) - ((vx2_SET*vx3_SET))); - kxzFromfcNEQ_SET = -c3o1*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_SET) - ((vx1_SET*vx3_SET))); - kxxMyyFromfcNEQ_SET = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (c1o1 + drho_SET) - ((vx1_SET*vx1_SET-vx2_SET*vx2_SET))); - kxxMzzFromfcNEQ_SET = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (c1o1 + drho_SET) - ((vx1_SET*vx1_SET-vx3_SET*vx3_SET))); - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - mfcbb = f_E ; - mfabb = f_W ; - mfbcb = f_N ; - mfbab = f_S ; - mfbbc = f_T ; - mfbba = f_B ; - mfccb = f_NE ; - mfaab = f_SW ; - mfcab = f_SE ; - mfacb = f_NW ; - mfcbc = f_TE ; - mfaba = f_BW ; - mfcba = f_BE ; - mfabc = f_TW ; - mfbcc = f_TN ; - mfbaa = f_BS ; - mfbca = f_BN ; - mfbac = f_TS ; - mfbbb = f_ZERO; - mfccc = f_TNE ; - mfaac = f_TSW ; - mfcac = f_TSE ; - mfacc = f_TNW ; - mfcca = f_BNE ; - mfaaa = f_BSW ; - mfcaa = f_BSE ; - mfaca = f_BNW ; - //////////////////////////////////////////////////////////////////////////////////// - drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + - (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) + - ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb; - - rho = c1o1+drho; - //////////////////////////////////////////////////////////////////////////////////// - vvx =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + - (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) + - (mfcbb-mfabb)) / rho; - vvy =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + - (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) + - (mfbcb-mfbab)) / rho; - vvz =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + - (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) + - (mfbbc-mfbba)) / rho; - //////////////////////////////////////////////////////////////////////////////////// - //fast - oMdrho = c1o1; // comp special - vx2=vvx*vvx; - vy2=vvy*vvy; - vz2=vvz*vvz; - //////////////////////////////////////////////////////////////////////////////////// - //Hin - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m2 = mfaaa + mfaac; - m1 = mfaac - mfaaa; - m0 = m2 + mfaab; - mfaaa = m0; - m0 += c1o36 * oMdrho; - mfaab = m1 - m0 * vvz; - mfaac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfabc; - m1 = mfabc - mfaba; - m0 = m2 + mfabb; - mfaba = m0; - m0 += c1o9 * oMdrho; - mfabb = m1 - m0 * vvz; - mfabc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfacc; - m1 = mfacc - mfaca; - m0 = m2 + mfacb; - mfaca = m0; - m0 += c1o36 * oMdrho; - mfacb = m1 - m0 * vvz; - mfacc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbac; - m1 = mfbac - mfbaa; - m0 = m2 + mfbab; - mfbaa = m0; - m0 += c1o9 * oMdrho; - mfbab = m1 - m0 * vvz; - mfbac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbba + mfbbc; - m1 = mfbbc - mfbba; - m0 = m2 + mfbbb; - mfbba = m0; - m0 += c4o9 * oMdrho; - mfbbb = m1 - m0 * vvz; - mfbbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbca + mfbcc; - m1 = mfbcc - mfbca; - m0 = m2 + mfbcb; - mfbca = m0; - m0 += c1o9 * oMdrho; - mfbcb = m1 - m0 * vvz; - mfbcc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcac; - m1 = mfcac - mfcaa; - m0 = m2 + mfcab; - mfcaa = m0; - m0 += c1o36 * oMdrho; - mfcab = m1 - m0 * vvz; - mfcac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcba + mfcbc; - m1 = mfcbc - mfcba; - m0 = m2 + mfcbb; - mfcba = m0; - m0 += c1o9 * oMdrho; - mfcbb = m1 - m0 * vvz; - mfcbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcca + mfccc; - m1 = mfccc - mfcca; - m0 = m2 + mfccb; - mfcca = m0; - m0 += c1o36 * oMdrho; - mfccb = m1 - m0 * vvz; - mfccc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m2 = mfaaa + mfaca; - m1 = mfaca - mfaaa; - m0 = m2 + mfaba; - mfaaa = m0; - m0 += c1o6 * oMdrho; - mfaba = m1 - m0 * vvy; - mfaca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfacb; - m1 = mfacb - mfaab; - m0 = m2 + mfabb; - mfaab = m0; - mfabb = m1 - m0 * vvy; - mfacb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfacc; - m1 = mfacc - mfaac; - m0 = m2 + mfabc; - mfaac = m0; - m0 += c1o18 * oMdrho; - mfabc = m1 - m0 * vvy; - mfacc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbca; - m1 = mfbca - mfbaa; - m0 = m2 + mfbba; - mfbaa = m0; - m0 += c2o3 * oMdrho; - mfbba = m1 - m0 * vvy; - mfbca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbab + mfbcb; - m1 = mfbcb - mfbab; - m0 = m2 + mfbbb; - mfbab = m0; - mfbbb = m1 - m0 * vvy; - mfbcb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbac + mfbcc; - m1 = mfbcc - mfbac; - m0 = m2 + mfbbc; - mfbac = m0; - m0 += c2o9 * oMdrho; - mfbbc = m1 - m0 * vvy; - mfbcc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcca; - m1 = mfcca - mfcaa; - m0 = m2 + mfcba; - mfcaa = m0; - m0 += c1o6 * oMdrho; - mfcba = m1 - m0 * vvy; - mfcca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcab + mfccb; - m1 = mfccb - mfcab; - m0 = m2 + mfcbb; - mfcab = m0; - mfcbb = m1 - m0 * vvy; - mfccb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcac + mfccc; - m1 = mfccc - mfcac; - m0 = m2 + mfcbc; - mfcac = m0; - m0 += c1o18 * oMdrho; - mfcbc = m1 - m0 * vvy; - mfccc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m2 = mfaaa + mfcaa; - m1 = mfcaa - mfaaa; - m0 = m2 + mfbaa; - mfaaa = m0; - m0 += c1o1* oMdrho; - mfbaa = m1 - m0 * vvx; - mfcaa = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfcba; - m1 = mfcba - mfaba; - m0 = m2 + mfbba; - mfaba = m0; - mfbba = m1 - m0 * vvx; - mfcba = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfcca; - m1 = mfcca - mfaca; - m0 = m2 + mfbca; - mfaca = m0; - m0 += c1o3 * oMdrho; - mfbca = m1 - m0 * vvx; - mfcca = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfcab; - m1 = mfcab - mfaab; - m0 = m2 + mfbab; - mfaab = m0; - mfbab = m1 - m0 * vvx; - mfcab = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabb + mfcbb; - m1 = mfcbb - mfabb; - m0 = m2 + mfbbb; - mfabb = m0; - mfbbb = m1 - m0 * vvx; - mfcbb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacb + mfccb; - m1 = mfccb - mfacb; - m0 = m2 + mfbcb; - mfacb = m0; - mfbcb = m1 - m0 * vvx; - mfccb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfcac; - m1 = mfcac - mfaac; - m0 = m2 + mfbac; - mfaac = m0; - m0 += c1o3 * oMdrho; - mfbac = m1 - m0 * vvx; - mfcac = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabc + mfcbc; - m1 = mfcbc - mfabc; - m0 = m2 + mfbbc; - mfabc = m0; - mfbbc = m1 - m0 * vvx; - mfcbc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacc + mfccc; - m1 = mfccc - mfacc; - m0 = m2 + mfbcc; - mfacc = m0; - m0 += c1o9 * oMdrho; - mfbcc = m1 - m0 * vvx; - mfccc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - // linear combinations - - mxxyPyzz = mfcba + mfabc; - mxxyMyzz = mfcba - mfabc; - - mxxzPyyz = mfcab + mfacb; - mxxzMyyz = mfcab - mfacb; - - mxyyPxzz = mfbca + mfbac; - mxyyMxzz = mfbca - mfbac; - - - ////////////////////////////////////////////////////////////////////////// - //exclusive for this source node - real mfbbb_SET = mfbbb; - real mxxyPyzz_SET = mxxyPyzz; - real mxxyMyzz_SET = mxxyMyzz; - real mxxzPyyz_SET = mxxzPyyz; - real mxxzMyyz_SET = mxxzMyyz; - real mxyyPxzz_SET = mxyyPxzz; - real mxyyMxzz_SET = mxyyMxzz; - ////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ////////////////////////////////////////////////////////////////////////// - //SEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - drho_SEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_SEB = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SEB); - vx2_SEB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SEB); - vx3_SEB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SEB); - - kxyFromfcNEQ_SEB = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx2_SEB))); - kyzFromfcNEQ_SEB = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SEB) - ((vx2_SEB*vx3_SEB))); - kxzFromfcNEQ_SEB = -c3o1*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx3_SEB))); - kxxMyyFromfcNEQ_SEB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx1_SEB-vx2_SEB*vx2_SEB))); - kxxMzzFromfcNEQ_SEB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx1_SEB-vx3_SEB*vx3_SEB))); - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - mfcbb = f_E ; - mfabb = f_W ; - mfbcb = f_N ; - mfbab = f_S ; - mfbbc = f_T ; - mfbba = f_B ; - mfccb = f_NE ; - mfaab = f_SW ; - mfcab = f_SE ; - mfacb = f_NW ; - mfcbc = f_TE ; - mfaba = f_BW ; - mfcba = f_BE ; - mfabc = f_TW ; - mfbcc = f_TN ; - mfbaa = f_BS ; - mfbca = f_BN ; - mfbac = f_TS ; - mfbbb = f_ZERO; - mfccc = f_TNE ; - mfaac = f_TSW ; - mfcac = f_TSE ; - mfacc = f_TNW ; - mfcca = f_BNE ; - mfaaa = f_BSW ; - mfcaa = f_BSE ; - mfaca = f_BNW ; - //////////////////////////////////////////////////////////////////////////////////// - drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + - (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) + - ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb; - - rho = c1o1+drho; - //////////////////////////////////////////////////////////////////////////////////// - vvx =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + - (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) + - (mfcbb-mfabb)) / rho; - vvy =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + - (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) + - (mfbcb-mfbab)) / rho; - vvz =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + - (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) + - (mfbbc-mfbba)) / rho; - //////////////////////////////////////////////////////////////////////////////////// - //fast - oMdrho = c1o1; // comp special - vx2=vvx*vvx; - vy2=vvy*vvy; - vz2=vvz*vvz; - //////////////////////////////////////////////////////////////////////////////////// - //Hin - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m2 = mfaaa + mfaac; - m1 = mfaac - mfaaa; - m0 = m2 + mfaab; - mfaaa = m0; - m0 += c1o36 * oMdrho; - mfaab = m1 - m0 * vvz; - mfaac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfabc; - m1 = mfabc - mfaba; - m0 = m2 + mfabb; - mfaba = m0; - m0 += c1o9 * oMdrho; - mfabb = m1 - m0 * vvz; - mfabc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfacc; - m1 = mfacc - mfaca; - m0 = m2 + mfacb; - mfaca = m0; - m0 += c1o36 * oMdrho; - mfacb = m1 - m0 * vvz; - mfacc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbac; - m1 = mfbac - mfbaa; - m0 = m2 + mfbab; - mfbaa = m0; - m0 += c1o9 * oMdrho; - mfbab = m1 - m0 * vvz; - mfbac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbba + mfbbc; - m1 = mfbbc - mfbba; - m0 = m2 + mfbbb; - mfbba = m0; - m0 += c4o9 * oMdrho; - mfbbb = m1 - m0 * vvz; - mfbbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbca + mfbcc; - m1 = mfbcc - mfbca; - m0 = m2 + mfbcb; - mfbca = m0; - m0 += c1o9 * oMdrho; - mfbcb = m1 - m0 * vvz; - mfbcc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcac; - m1 = mfcac - mfcaa; - m0 = m2 + mfcab; - mfcaa = m0; - m0 += c1o36 * oMdrho; - mfcab = m1 - m0 * vvz; - mfcac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcba + mfcbc; - m1 = mfcbc - mfcba; - m0 = m2 + mfcbb; - mfcba = m0; - m0 += c1o9 * oMdrho; - mfcbb = m1 - m0 * vvz; - mfcbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcca + mfccc; - m1 = mfccc - mfcca; - m0 = m2 + mfccb; - mfcca = m0; - m0 += c1o36 * oMdrho; - mfccb = m1 - m0 * vvz; - mfccc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m2 = mfaaa + mfaca; - m1 = mfaca - mfaaa; - m0 = m2 + mfaba; - mfaaa = m0; - m0 += c1o6 * oMdrho; - mfaba = m1 - m0 * vvy; - mfaca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfacb; - m1 = mfacb - mfaab; - m0 = m2 + mfabb; - mfaab = m0; - mfabb = m1 - m0 * vvy; - mfacb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfacc; - m1 = mfacc - mfaac; - m0 = m2 + mfabc; - mfaac = m0; - m0 += c1o18 * oMdrho; - mfabc = m1 - m0 * vvy; - mfacc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbca; - m1 = mfbca - mfbaa; - m0 = m2 + mfbba; - mfbaa = m0; - m0 += c2o3 * oMdrho; - mfbba = m1 - m0 * vvy; - mfbca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbab + mfbcb; - m1 = mfbcb - mfbab; - m0 = m2 + mfbbb; - mfbab = m0; - mfbbb = m1 - m0 * vvy; - mfbcb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbac + mfbcc; - m1 = mfbcc - mfbac; - m0 = m2 + mfbbc; - mfbac = m0; - m0 += c2o9 * oMdrho; - mfbbc = m1 - m0 * vvy; - mfbcc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcca; - m1 = mfcca - mfcaa; - m0 = m2 + mfcba; - mfcaa = m0; - m0 += c1o6 * oMdrho; - mfcba = m1 - m0 * vvy; - mfcca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcab + mfccb; - m1 = mfccb - mfcab; - m0 = m2 + mfcbb; - mfcab = m0; - mfcbb = m1 - m0 * vvy; - mfccb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcac + mfccc; - m1 = mfccc - mfcac; - m0 = m2 + mfcbc; - mfcac = m0; - m0 += c1o18 * oMdrho; - mfcbc = m1 - m0 * vvy; - mfccc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m2 = mfaaa + mfcaa; - m1 = mfcaa - mfaaa; - m0 = m2 + mfbaa; - mfaaa = m0; - m0 += c1o1* oMdrho; - mfbaa = m1 - m0 * vvx; - mfcaa = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfcba; - m1 = mfcba - mfaba; - m0 = m2 + mfbba; - mfaba = m0; - mfbba = m1 - m0 * vvx; - mfcba = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfcca; - m1 = mfcca - mfaca; - m0 = m2 + mfbca; - mfaca = m0; - m0 += c1o3 * oMdrho; - mfbca = m1 - m0 * vvx; - mfcca = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfcab; - m1 = mfcab - mfaab; - m0 = m2 + mfbab; - mfaab = m0; - mfbab = m1 - m0 * vvx; - mfcab = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabb + mfcbb; - m1 = mfcbb - mfabb; - m0 = m2 + mfbbb; - mfabb = m0; - mfbbb = m1 - m0 * vvx; - mfcbb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacb + mfccb; - m1 = mfccb - mfacb; - m0 = m2 + mfbcb; - mfacb = m0; - mfbcb = m1 - m0 * vvx; - mfccb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfcac; - m1 = mfcac - mfaac; - m0 = m2 + mfbac; - mfaac = m0; - m0 += c1o3 * oMdrho; - mfbac = m1 - m0 * vvx; - mfcac = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabc + mfcbc; - m1 = mfcbc - mfabc; - m0 = m2 + mfbbc; - mfabc = m0; - mfbbc = m1 - m0 * vvx; - mfcbc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacc + mfccc; - m1 = mfccc - mfacc; - m0 = m2 + mfbcc; - mfacc = m0; - m0 += c1o9 * oMdrho; - mfbcc = m1 - m0 * vvx; - mfccc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - // linear combinations - - mxxyPyzz = mfcba + mfabc; - mxxyMyzz = mfcba - mfabc; - - mxxzPyyz = mfcab + mfacb; - mxxzMyyz = mfcab - mfacb; - - mxyyPxzz = mfbca + mfbac; - mxyyMxzz = mfbca - mfbac; - - - ////////////////////////////////////////////////////////////////////////// - //exclusive for this source node - real mfbbb_SEB = mfbbb; - real mxxyPyzz_SEB = mxxyPyzz; - real mxxyMyzz_SEB = mxxyMyzz; - real mxxzPyyz_SEB = mxxzPyyz; - real mxxzMyyz_SEB = mxxzMyyz; - real mxyyPxzz_SEB = mxyyPxzz; - real mxyyMxzz_SEB = mxyyMxzz; - ////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ////////////////////////////////////////////////////////////////////////// - //NWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= k0s; - k0w = k0sw; - k0s = neighborFY[k0s]; - k0b = k0bs; - k0sw = neighborFY[k0sw]; - k0bw = k0bsw; - k0bs = neighborFY[k0bs]; - k0bsw = neighborFY[k0bsw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - drho_NWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_NWB = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NWB); - vx2_NWB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWB); - vx3_NWB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWB); - - kxyFromfcNEQ_NWB = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx2_NWB))); - kyzFromfcNEQ_NWB = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NWB) - ((vx2_NWB*vx3_NWB))); - kxzFromfcNEQ_NWB = -c3o1*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx3_NWB))); - kxxMyyFromfcNEQ_NWB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx1_NWB-vx2_NWB*vx2_NWB))); - kxxMzzFromfcNEQ_NWB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx1_NWB-vx3_NWB*vx3_NWB))); - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - mfcbb = f_E ; - mfabb = f_W ; - mfbcb = f_N ; - mfbab = f_S ; - mfbbc = f_T ; - mfbba = f_B ; - mfccb = f_NE ; - mfaab = f_SW ; - mfcab = f_SE ; - mfacb = f_NW ; - mfcbc = f_TE ; - mfaba = f_BW ; - mfcba = f_BE ; - mfabc = f_TW ; - mfbcc = f_TN ; - mfbaa = f_BS ; - mfbca = f_BN ; - mfbac = f_TS ; - mfbbb = f_ZERO; - mfccc = f_TNE ; - mfaac = f_TSW ; - mfcac = f_TSE ; - mfacc = f_TNW ; - mfcca = f_BNE ; - mfaaa = f_BSW ; - mfcaa = f_BSE ; - mfaca = f_BNW ; - //////////////////////////////////////////////////////////////////////////////////// - drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + - (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) + - ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb; - - rho = c1o1+drho; - //////////////////////////////////////////////////////////////////////////////////// - vvx =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + - (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) + - (mfcbb-mfabb)) / rho; - vvy =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + - (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) + - (mfbcb-mfbab)) / rho; - vvz =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + - (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) + - (mfbbc-mfbba)) / rho; - //////////////////////////////////////////////////////////////////////////////////// - //fast - oMdrho = c1o1; // comp special - vx2=vvx*vvx; - vy2=vvy*vvy; - vz2=vvz*vvz; - //////////////////////////////////////////////////////////////////////////////////// - //Hin - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m2 = mfaaa + mfaac; - m1 = mfaac - mfaaa; - m0 = m2 + mfaab; - mfaaa = m0; - m0 += c1o36 * oMdrho; - mfaab = m1 - m0 * vvz; - mfaac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfabc; - m1 = mfabc - mfaba; - m0 = m2 + mfabb; - mfaba = m0; - m0 += c1o9 * oMdrho; - mfabb = m1 - m0 * vvz; - mfabc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfacc; - m1 = mfacc - mfaca; - m0 = m2 + mfacb; - mfaca = m0; - m0 += c1o36 * oMdrho; - mfacb = m1 - m0 * vvz; - mfacc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbac; - m1 = mfbac - mfbaa; - m0 = m2 + mfbab; - mfbaa = m0; - m0 += c1o9 * oMdrho; - mfbab = m1 - m0 * vvz; - mfbac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbba + mfbbc; - m1 = mfbbc - mfbba; - m0 = m2 + mfbbb; - mfbba = m0; - m0 += c4o9 * oMdrho; - mfbbb = m1 - m0 * vvz; - mfbbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbca + mfbcc; - m1 = mfbcc - mfbca; - m0 = m2 + mfbcb; - mfbca = m0; - m0 += c1o9 * oMdrho; - mfbcb = m1 - m0 * vvz; - mfbcc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcac; - m1 = mfcac - mfcaa; - m0 = m2 + mfcab; - mfcaa = m0; - m0 += c1o36 * oMdrho; - mfcab = m1 - m0 * vvz; - mfcac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcba + mfcbc; - m1 = mfcbc - mfcba; - m0 = m2 + mfcbb; - mfcba = m0; - m0 += c1o9 * oMdrho; - mfcbb = m1 - m0 * vvz; - mfcbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcca + mfccc; - m1 = mfccc - mfcca; - m0 = m2 + mfccb; - mfcca = m0; - m0 += c1o36 * oMdrho; - mfccb = m1 - m0 * vvz; - mfccc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m2 = mfaaa + mfaca; - m1 = mfaca - mfaaa; - m0 = m2 + mfaba; - mfaaa = m0; - m0 += c1o6 * oMdrho; - mfaba = m1 - m0 * vvy; - mfaca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfacb; - m1 = mfacb - mfaab; - m0 = m2 + mfabb; - mfaab = m0; - mfabb = m1 - m0 * vvy; - mfacb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfacc; - m1 = mfacc - mfaac; - m0 = m2 + mfabc; - mfaac = m0; - m0 += c1o18 * oMdrho; - mfabc = m1 - m0 * vvy; - mfacc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbca; - m1 = mfbca - mfbaa; - m0 = m2 + mfbba; - mfbaa = m0; - m0 += c2o3 * oMdrho; - mfbba = m1 - m0 * vvy; - mfbca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbab + mfbcb; - m1 = mfbcb - mfbab; - m0 = m2 + mfbbb; - mfbab = m0; - mfbbb = m1 - m0 * vvy; - mfbcb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbac + mfbcc; - m1 = mfbcc - mfbac; - m0 = m2 + mfbbc; - mfbac = m0; - m0 += c2o9 * oMdrho; - mfbbc = m1 - m0 * vvy; - mfbcc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcca; - m1 = mfcca - mfcaa; - m0 = m2 + mfcba; - mfcaa = m0; - m0 += c1o6 * oMdrho; - mfcba = m1 - m0 * vvy; - mfcca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcab + mfccb; - m1 = mfccb - mfcab; - m0 = m2 + mfcbb; - mfcab = m0; - mfcbb = m1 - m0 * vvy; - mfccb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcac + mfccc; - m1 = mfccc - mfcac; - m0 = m2 + mfcbc; - mfcac = m0; - m0 += c1o18 * oMdrho; - mfcbc = m1 - m0 * vvy; - mfccc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m2 = mfaaa + mfcaa; - m1 = mfcaa - mfaaa; - m0 = m2 + mfbaa; - mfaaa = m0; - m0 += c1o1* oMdrho; - mfbaa = m1 - m0 * vvx; - mfcaa = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfcba; - m1 = mfcba - mfaba; - m0 = m2 + mfbba; - mfaba = m0; - mfbba = m1 - m0 * vvx; - mfcba = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfcca; - m1 = mfcca - mfaca; - m0 = m2 + mfbca; - mfaca = m0; - m0 += c1o3 * oMdrho; - mfbca = m1 - m0 * vvx; - mfcca = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfcab; - m1 = mfcab - mfaab; - m0 = m2 + mfbab; - mfaab = m0; - mfbab = m1 - m0 * vvx; - mfcab = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabb + mfcbb; - m1 = mfcbb - mfabb; - m0 = m2 + mfbbb; - mfabb = m0; - mfbbb = m1 - m0 * vvx; - mfcbb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacb + mfccb; - m1 = mfccb - mfacb; - m0 = m2 + mfbcb; - mfacb = m0; - mfbcb = m1 - m0 * vvx; - mfccb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfcac; - m1 = mfcac - mfaac; - m0 = m2 + mfbac; - mfaac = m0; - m0 += c1o3 * oMdrho; - mfbac = m1 - m0 * vvx; - mfcac = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabc + mfcbc; - m1 = mfcbc - mfabc; - m0 = m2 + mfbbc; - mfabc = m0; - mfbbc = m1 - m0 * vvx; - mfcbc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacc + mfccc; - m1 = mfccc - mfacc; - m0 = m2 + mfbcc; - mfacc = m0; - m0 += c1o9 * oMdrho; - mfbcc = m1 - m0 * vvx; - mfccc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - // linear combinations - - mxxyPyzz = mfcba + mfabc; - mxxyMyzz = mfcba - mfabc; - - mxxzPyyz = mfcab + mfacb; - mxxzMyyz = mfcab - mfacb; - - mxyyPxzz = mfbca + mfbac; - mxyyMxzz = mfbca - mfbac; - - - ////////////////////////////////////////////////////////////////////////// - //exclusive for this source node - real mfbbb_NWB = mfbbb; - real mxxyPyzz_NWB = mxxyPyzz; - real mxxyMyzz_NWB = mxxyMyzz; - real mxxzPyyz_NWB = mxxzPyyz; - real mxxzMyyz_NWB = mxxzMyyz; - real mxyyPxzz_NWB = mxyyPxzz; - real mxyyMxzz_NWB = mxyyMxzz; - ////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ////////////////////////////////////////////////////////////////////////// - //NWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - drho_NWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_NWT = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NWT); - vx2_NWT = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWT); - vx3_NWT = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWT); - - kxyFromfcNEQ_NWT = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx2_NWT))); - kyzFromfcNEQ_NWT = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NWT) - ((vx2_NWT*vx3_NWT))); - kxzFromfcNEQ_NWT = -c3o1*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx3_NWT))); - kxxMyyFromfcNEQ_NWT = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx1_NWT-vx2_NWT*vx2_NWT))); - kxxMzzFromfcNEQ_NWT = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx1_NWT-vx3_NWT*vx3_NWT))); - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - mfcbb = f_E ; - mfabb = f_W ; - mfbcb = f_N ; - mfbab = f_S ; - mfbbc = f_T ; - mfbba = f_B ; - mfccb = f_NE ; - mfaab = f_SW ; - mfcab = f_SE ; - mfacb = f_NW ; - mfcbc = f_TE ; - mfaba = f_BW ; - mfcba = f_BE ; - mfabc = f_TW ; - mfbcc = f_TN ; - mfbaa = f_BS ; - mfbca = f_BN ; - mfbac = f_TS ; - mfbbb = f_ZERO; - mfccc = f_TNE ; - mfaac = f_TSW ; - mfcac = f_TSE ; - mfacc = f_TNW ; - mfcca = f_BNE ; - mfaaa = f_BSW ; - mfcaa = f_BSE ; - mfaca = f_BNW ; - //////////////////////////////////////////////////////////////////////////////////// - drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + - (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) + - ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb; - - rho = c1o1+drho; - //////////////////////////////////////////////////////////////////////////////////// - vvx =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + - (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) + - (mfcbb-mfabb)) / rho; - vvy =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + - (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) + - (mfbcb-mfbab)) / rho; - vvz =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + - (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) + - (mfbbc-mfbba)) / rho; - //////////////////////////////////////////////////////////////////////////////////// - //fast - oMdrho = c1o1; // comp special - vx2=vvx*vvx; - vy2=vvy*vvy; - vz2=vvz*vvz; - //////////////////////////////////////////////////////////////////////////////////// - //Hin - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m2 = mfaaa + mfaac; - m1 = mfaac - mfaaa; - m0 = m2 + mfaab; - mfaaa = m0; - m0 += c1o36 * oMdrho; - mfaab = m1 - m0 * vvz; - mfaac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfabc; - m1 = mfabc - mfaba; - m0 = m2 + mfabb; - mfaba = m0; - m0 += c1o9 * oMdrho; - mfabb = m1 - m0 * vvz; - mfabc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfacc; - m1 = mfacc - mfaca; - m0 = m2 + mfacb; - mfaca = m0; - m0 += c1o36 * oMdrho; - mfacb = m1 - m0 * vvz; - mfacc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbac; - m1 = mfbac - mfbaa; - m0 = m2 + mfbab; - mfbaa = m0; - m0 += c1o9 * oMdrho; - mfbab = m1 - m0 * vvz; - mfbac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbba + mfbbc; - m1 = mfbbc - mfbba; - m0 = m2 + mfbbb; - mfbba = m0; - m0 += c4o9 * oMdrho; - mfbbb = m1 - m0 * vvz; - mfbbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbca + mfbcc; - m1 = mfbcc - mfbca; - m0 = m2 + mfbcb; - mfbca = m0; - m0 += c1o9 * oMdrho; - mfbcb = m1 - m0 * vvz; - mfbcc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcac; - m1 = mfcac - mfcaa; - m0 = m2 + mfcab; - mfcaa = m0; - m0 += c1o36 * oMdrho; - mfcab = m1 - m0 * vvz; - mfcac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcba + mfcbc; - m1 = mfcbc - mfcba; - m0 = m2 + mfcbb; - mfcba = m0; - m0 += c1o9 * oMdrho; - mfcbb = m1 - m0 * vvz; - mfcbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcca + mfccc; - m1 = mfccc - mfcca; - m0 = m2 + mfccb; - mfcca = m0; - m0 += c1o36 * oMdrho; - mfccb = m1 - m0 * vvz; - mfccc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m2 = mfaaa + mfaca; - m1 = mfaca - mfaaa; - m0 = m2 + mfaba; - mfaaa = m0; - m0 += c1o6 * oMdrho; - mfaba = m1 - m0 * vvy; - mfaca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfacb; - m1 = mfacb - mfaab; - m0 = m2 + mfabb; - mfaab = m0; - mfabb = m1 - m0 * vvy; - mfacb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfacc; - m1 = mfacc - mfaac; - m0 = m2 + mfabc; - mfaac = m0; - m0 += c1o18 * oMdrho; - mfabc = m1 - m0 * vvy; - mfacc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbca; - m1 = mfbca - mfbaa; - m0 = m2 + mfbba; - mfbaa = m0; - m0 += c2o3 * oMdrho; - mfbba = m1 - m0 * vvy; - mfbca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbab + mfbcb; - m1 = mfbcb - mfbab; - m0 = m2 + mfbbb; - mfbab = m0; - mfbbb = m1 - m0 * vvy; - mfbcb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbac + mfbcc; - m1 = mfbcc - mfbac; - m0 = m2 + mfbbc; - mfbac = m0; - m0 += c2o9 * oMdrho; - mfbbc = m1 - m0 * vvy; - mfbcc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcca; - m1 = mfcca - mfcaa; - m0 = m2 + mfcba; - mfcaa = m0; - m0 += c1o6 * oMdrho; - mfcba = m1 - m0 * vvy; - mfcca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcab + mfccb; - m1 = mfccb - mfcab; - m0 = m2 + mfcbb; - mfcab = m0; - mfcbb = m1 - m0 * vvy; - mfccb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcac + mfccc; - m1 = mfccc - mfcac; - m0 = m2 + mfcbc; - mfcac = m0; - m0 += c1o18 * oMdrho; - mfcbc = m1 - m0 * vvy; - mfccc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m2 = mfaaa + mfcaa; - m1 = mfcaa - mfaaa; - m0 = m2 + mfbaa; - mfaaa = m0; - m0 += c1o1* oMdrho; - mfbaa = m1 - m0 * vvx; - mfcaa = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfcba; - m1 = mfcba - mfaba; - m0 = m2 + mfbba; - mfaba = m0; - mfbba = m1 - m0 * vvx; - mfcba = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfcca; - m1 = mfcca - mfaca; - m0 = m2 + mfbca; - mfaca = m0; - m0 += c1o3 * oMdrho; - mfbca = m1 - m0 * vvx; - mfcca = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfcab; - m1 = mfcab - mfaab; - m0 = m2 + mfbab; - mfaab = m0; - mfbab = m1 - m0 * vvx; - mfcab = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabb + mfcbb; - m1 = mfcbb - mfabb; - m0 = m2 + mfbbb; - mfabb = m0; - mfbbb = m1 - m0 * vvx; - mfcbb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacb + mfccb; - m1 = mfccb - mfacb; - m0 = m2 + mfbcb; - mfacb = m0; - mfbcb = m1 - m0 * vvx; - mfccb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfcac; - m1 = mfcac - mfaac; - m0 = m2 + mfbac; - mfaac = m0; - m0 += c1o3 * oMdrho; - mfbac = m1 - m0 * vvx; - mfcac = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabc + mfcbc; - m1 = mfcbc - mfabc; - m0 = m2 + mfbbc; - mfabc = m0; - mfbbc = m1 - m0 * vvx; - mfcbc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacc + mfccc; - m1 = mfccc - mfacc; - m0 = m2 + mfbcc; - mfacc = m0; - m0 += c1o9 * oMdrho; - mfbcc = m1 - m0 * vvx; - mfccc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - // linear combinations - - mxxyPyzz = mfcba + mfabc; - mxxyMyzz = mfcba - mfabc; - - mxxzPyyz = mfcab + mfacb; - mxxzMyyz = mfcab - mfacb; - - mxyyPxzz = mfbca + mfbac; - mxyyMxzz = mfbca - mfbac; - - - ////////////////////////////////////////////////////////////////////////// - //exclusive for this source node - real mfbbb_NWT = mfbbb; - real mxxyPyzz_NWT = mxxyPyzz; - real mxxyMyzz_NWT = mxxyMyzz; - real mxxzPyyz_NWT = mxxzPyyz; - real mxxzMyyz_NWT = mxxzMyyz; - real mxyyPxzz_NWT = mxyyPxzz; - real mxyyMxzz_NWT = mxyyMxzz; - ////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ////////////////////////////////////////////////////////////////////////// - //NET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - drho_NET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_NET = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NET); - vx2_NET = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NET); - vx3_NET = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NET); - - kxyFromfcNEQ_NET = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NET) - ((vx1_NET*vx2_NET))); - kyzFromfcNEQ_NET = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NET) - ((vx2_NET*vx3_NET))); - kxzFromfcNEQ_NET = -c3o1*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_NET) - ((vx1_NET*vx3_NET))); - kxxMyyFromfcNEQ_NET = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (c1o1 + drho_NET) - ((vx1_NET*vx1_NET-vx2_NET*vx2_NET))); - kxxMzzFromfcNEQ_NET = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (c1o1 + drho_NET) - ((vx1_NET*vx1_NET-vx3_NET*vx3_NET))); - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - mfcbb = f_E ; - mfabb = f_W ; - mfbcb = f_N ; - mfbab = f_S ; - mfbbc = f_T ; - mfbba = f_B ; - mfccb = f_NE ; - mfaab = f_SW ; - mfcab = f_SE ; - mfacb = f_NW ; - mfcbc = f_TE ; - mfaba = f_BW ; - mfcba = f_BE ; - mfabc = f_TW ; - mfbcc = f_TN ; - mfbaa = f_BS ; - mfbca = f_BN ; - mfbac = f_TS ; - mfbbb = f_ZERO; - mfccc = f_TNE ; - mfaac = f_TSW ; - mfcac = f_TSE ; - mfacc = f_TNW ; - mfcca = f_BNE ; - mfaaa = f_BSW ; - mfcaa = f_BSE ; - mfaca = f_BNW ; - //////////////////////////////////////////////////////////////////////////////////// - drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + - (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) + - ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb; - - rho = c1o1+drho; - //////////////////////////////////////////////////////////////////////////////////// - vvx =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + - (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) + - (mfcbb-mfabb)) / rho; - vvy =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + - (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) + - (mfbcb-mfbab)) / rho; - vvz =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + - (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) + - (mfbbc-mfbba)) / rho; - //////////////////////////////////////////////////////////////////////////////////// - //fast - oMdrho = c1o1; // comp special - vx2=vvx*vvx; - vy2=vvy*vvy; - vz2=vvz*vvz; - //////////////////////////////////////////////////////////////////////////////////// - //Hin - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m2 = mfaaa + mfaac; - m1 = mfaac - mfaaa; - m0 = m2 + mfaab; - mfaaa = m0; - m0 += c1o36 * oMdrho; - mfaab = m1 - m0 * vvz; - mfaac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfabc; - m1 = mfabc - mfaba; - m0 = m2 + mfabb; - mfaba = m0; - m0 += c1o9 * oMdrho; - mfabb = m1 - m0 * vvz; - mfabc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfacc; - m1 = mfacc - mfaca; - m0 = m2 + mfacb; - mfaca = m0; - m0 += c1o36 * oMdrho; - mfacb = m1 - m0 * vvz; - mfacc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbac; - m1 = mfbac - mfbaa; - m0 = m2 + mfbab; - mfbaa = m0; - m0 += c1o9 * oMdrho; - mfbab = m1 - m0 * vvz; - mfbac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbba + mfbbc; - m1 = mfbbc - mfbba; - m0 = m2 + mfbbb; - mfbba = m0; - m0 += c4o9 * oMdrho; - mfbbb = m1 - m0 * vvz; - mfbbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbca + mfbcc; - m1 = mfbcc - mfbca; - m0 = m2 + mfbcb; - mfbca = m0; - m0 += c1o9 * oMdrho; - mfbcb = m1 - m0 * vvz; - mfbcc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcac; - m1 = mfcac - mfcaa; - m0 = m2 + mfcab; - mfcaa = m0; - m0 += c1o36 * oMdrho; - mfcab = m1 - m0 * vvz; - mfcac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcba + mfcbc; - m1 = mfcbc - mfcba; - m0 = m2 + mfcbb; - mfcba = m0; - m0 += c1o9 * oMdrho; - mfcbb = m1 - m0 * vvz; - mfcbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcca + mfccc; - m1 = mfccc - mfcca; - m0 = m2 + mfccb; - mfcca = m0; - m0 += c1o36 * oMdrho; - mfccb = m1 - m0 * vvz; - mfccc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m2 = mfaaa + mfaca; - m1 = mfaca - mfaaa; - m0 = m2 + mfaba; - mfaaa = m0; - m0 += c1o6 * oMdrho; - mfaba = m1 - m0 * vvy; - mfaca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfacb; - m1 = mfacb - mfaab; - m0 = m2 + mfabb; - mfaab = m0; - mfabb = m1 - m0 * vvy; - mfacb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfacc; - m1 = mfacc - mfaac; - m0 = m2 + mfabc; - mfaac = m0; - m0 += c1o18 * oMdrho; - mfabc = m1 - m0 * vvy; - mfacc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbca; - m1 = mfbca - mfbaa; - m0 = m2 + mfbba; - mfbaa = m0; - m0 += c2o3 * oMdrho; - mfbba = m1 - m0 * vvy; - mfbca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbab + mfbcb; - m1 = mfbcb - mfbab; - m0 = m2 + mfbbb; - mfbab = m0; - mfbbb = m1 - m0 * vvy; - mfbcb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbac + mfbcc; - m1 = mfbcc - mfbac; - m0 = m2 + mfbbc; - mfbac = m0; - m0 += c2o9 * oMdrho; - mfbbc = m1 - m0 * vvy; - mfbcc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcca; - m1 = mfcca - mfcaa; - m0 = m2 + mfcba; - mfcaa = m0; - m0 += c1o6 * oMdrho; - mfcba = m1 - m0 * vvy; - mfcca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcab + mfccb; - m1 = mfccb - mfcab; - m0 = m2 + mfcbb; - mfcab = m0; - mfcbb = m1 - m0 * vvy; - mfccb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcac + mfccc; - m1 = mfccc - mfcac; - m0 = m2 + mfcbc; - mfcac = m0; - m0 += c1o18 * oMdrho; - mfcbc = m1 - m0 * vvy; - mfccc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m2 = mfaaa + mfcaa; - m1 = mfcaa - mfaaa; - m0 = m2 + mfbaa; - mfaaa = m0; - m0 += c1o1* oMdrho; - mfbaa = m1 - m0 * vvx; - mfcaa = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfcba; - m1 = mfcba - mfaba; - m0 = m2 + mfbba; - mfaba = m0; - mfbba = m1 - m0 * vvx; - mfcba = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfcca; - m1 = mfcca - mfaca; - m0 = m2 + mfbca; - mfaca = m0; - m0 += c1o3 * oMdrho; - mfbca = m1 - m0 * vvx; - mfcca = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfcab; - m1 = mfcab - mfaab; - m0 = m2 + mfbab; - mfaab = m0; - mfbab = m1 - m0 * vvx; - mfcab = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabb + mfcbb; - m1 = mfcbb - mfabb; - m0 = m2 + mfbbb; - mfabb = m0; - mfbbb = m1 - m0 * vvx; - mfcbb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacb + mfccb; - m1 = mfccb - mfacb; - m0 = m2 + mfbcb; - mfacb = m0; - mfbcb = m1 - m0 * vvx; - mfccb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfcac; - m1 = mfcac - mfaac; - m0 = m2 + mfbac; - mfaac = m0; - m0 += c1o3 * oMdrho; - mfbac = m1 - m0 * vvx; - mfcac = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabc + mfcbc; - m1 = mfcbc - mfabc; - m0 = m2 + mfbbc; - mfabc = m0; - mfbbc = m1 - m0 * vvx; - mfcbc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacc + mfccc; - m1 = mfccc - mfacc; - m0 = m2 + mfbcc; - mfacc = m0; - m0 += c1o9 * oMdrho; - mfbcc = m1 - m0 * vvx; - mfccc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - // linear combinations - - mxxyPyzz = mfcba + mfabc; - mxxyMyzz = mfcba - mfabc; - - mxxzPyyz = mfcab + mfacb; - mxxzMyyz = mfcab - mfacb; - - mxyyPxzz = mfbca + mfbac; - mxyyMxzz = mfbca - mfbac; - - - ////////////////////////////////////////////////////////////////////////// - //exclusive for this source node - real mfbbb_NET = mfbbb; - real mxxyPyzz_NET = mxxyPyzz; - real mxxyMyzz_NET = mxxyMyzz; - real mxxzPyyz_NET = mxxzPyyz; - real mxxzMyyz_NET = mxxzMyyz; - real mxyyPxzz_NET = mxyyPxzz; - real mxyyMxzz_NET = mxyyMxzz; - ////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ////////////////////////////////////////////////////////////////////////// - //NEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - drho_NEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_NEB = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NEB); - vx2_NEB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NEB); - vx3_NEB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NEB); - - kxyFromfcNEQ_NEB = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx2_NEB))); - kyzFromfcNEQ_NEB = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NEB) - ((vx2_NEB*vx3_NEB))); - kxzFromfcNEQ_NEB = -c3o1*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx3_NEB))); - kxxMyyFromfcNEQ_NEB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx1_NEB-vx2_NEB*vx2_NEB))); - kxxMzzFromfcNEQ_NEB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx1_NEB-vx3_NEB*vx3_NEB))); - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - mfcbb = f_E ; - mfabb = f_W ; - mfbcb = f_N ; - mfbab = f_S ; - mfbbc = f_T ; - mfbba = f_B ; - mfccb = f_NE ; - mfaab = f_SW ; - mfcab = f_SE ; - mfacb = f_NW ; - mfcbc = f_TE ; - mfaba = f_BW ; - mfcba = f_BE ; - mfabc = f_TW ; - mfbcc = f_TN ; - mfbaa = f_BS ; - mfbca = f_BN ; - mfbac = f_TS ; - mfbbb = f_ZERO; - mfccc = f_TNE ; - mfaac = f_TSW ; - mfcac = f_TSE ; - mfacc = f_TNW ; - mfcca = f_BNE ; - mfaaa = f_BSW ; - mfcaa = f_BSE ; - mfaca = f_BNW ; - //////////////////////////////////////////////////////////////////////////////////// - drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + - (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) + - ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb; - - rho = c1o1+drho; - //////////////////////////////////////////////////////////////////////////////////// - vvx =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + - (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) + - (mfcbb-mfabb)) / rho; - vvy =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + - (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) + - (mfbcb-mfbab)) / rho; - vvz =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + - (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) + - (mfbbc-mfbba)) / rho; - //////////////////////////////////////////////////////////////////////////////////// - //fast - oMdrho = c1o1; // comp special - vx2=vvx*vvx; - vy2=vvy*vvy; - vz2=vvz*vvz; - //////////////////////////////////////////////////////////////////////////////////// - //Hin - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m2 = mfaaa + mfaac; - m1 = mfaac - mfaaa; - m0 = m2 + mfaab; - mfaaa = m0; - m0 += c1o36 * oMdrho; - mfaab = m1 - m0 * vvz; - mfaac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfabc; - m1 = mfabc - mfaba; - m0 = m2 + mfabb; - mfaba = m0; - m0 += c1o9 * oMdrho; - mfabb = m1 - m0 * vvz; - mfabc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfacc; - m1 = mfacc - mfaca; - m0 = m2 + mfacb; - mfaca = m0; - m0 += c1o36 * oMdrho; - mfacb = m1 - m0 * vvz; - mfacc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbac; - m1 = mfbac - mfbaa; - m0 = m2 + mfbab; - mfbaa = m0; - m0 += c1o9 * oMdrho; - mfbab = m1 - m0 * vvz; - mfbac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbba + mfbbc; - m1 = mfbbc - mfbba; - m0 = m2 + mfbbb; - mfbba = m0; - m0 += c4o9 * oMdrho; - mfbbb = m1 - m0 * vvz; - mfbbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbca + mfbcc; - m1 = mfbcc - mfbca; - m0 = m2 + mfbcb; - mfbca = m0; - m0 += c1o9 * oMdrho; - mfbcb = m1 - m0 * vvz; - mfbcc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcac; - m1 = mfcac - mfcaa; - m0 = m2 + mfcab; - mfcaa = m0; - m0 += c1o36 * oMdrho; - mfcab = m1 - m0 * vvz; - mfcac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcba + mfcbc; - m1 = mfcbc - mfcba; - m0 = m2 + mfcbb; - mfcba = m0; - m0 += c1o9 * oMdrho; - mfcbb = m1 - m0 * vvz; - mfcbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcca + mfccc; - m1 = mfccc - mfcca; - m0 = m2 + mfccb; - mfcca = m0; - m0 += c1o36 * oMdrho; - mfccb = m1 - m0 * vvz; - mfccc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m2 = mfaaa + mfaca; - m1 = mfaca - mfaaa; - m0 = m2 + mfaba; - mfaaa = m0; - m0 += c1o6 * oMdrho; - mfaba = m1 - m0 * vvy; - mfaca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfacb; - m1 = mfacb - mfaab; - m0 = m2 + mfabb; - mfaab = m0; - mfabb = m1 - m0 * vvy; - mfacb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfacc; - m1 = mfacc - mfaac; - m0 = m2 + mfabc; - mfaac = m0; - m0 += c1o18 * oMdrho; - mfabc = m1 - m0 * vvy; - mfacc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbca; - m1 = mfbca - mfbaa; - m0 = m2 + mfbba; - mfbaa = m0; - m0 += c2o3 * oMdrho; - mfbba = m1 - m0 * vvy; - mfbca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbab + mfbcb; - m1 = mfbcb - mfbab; - m0 = m2 + mfbbb; - mfbab = m0; - mfbbb = m1 - m0 * vvy; - mfbcb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbac + mfbcc; - m1 = mfbcc - mfbac; - m0 = m2 + mfbbc; - mfbac = m0; - m0 += c2o9 * oMdrho; - mfbbc = m1 - m0 * vvy; - mfbcc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcca; - m1 = mfcca - mfcaa; - m0 = m2 + mfcba; - mfcaa = m0; - m0 += c1o6 * oMdrho; - mfcba = m1 - m0 * vvy; - mfcca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcab + mfccb; - m1 = mfccb - mfcab; - m0 = m2 + mfcbb; - mfcab = m0; - mfcbb = m1 - m0 * vvy; - mfccb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcac + mfccc; - m1 = mfccc - mfcac; - m0 = m2 + mfcbc; - mfcac = m0; - m0 += c1o18 * oMdrho; - mfcbc = m1 - m0 * vvy; - mfccc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m2 = mfaaa + mfcaa; - m1 = mfcaa - mfaaa; - m0 = m2 + mfbaa; - mfaaa = m0; - m0 += c1o1* oMdrho; - mfbaa = m1 - m0 * vvx; - mfcaa = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfcba; - m1 = mfcba - mfaba; - m0 = m2 + mfbba; - mfaba = m0; - mfbba = m1 - m0 * vvx; - mfcba = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfcca; - m1 = mfcca - mfaca; - m0 = m2 + mfbca; - mfaca = m0; - m0 += c1o3 * oMdrho; - mfbca = m1 - m0 * vvx; - mfcca = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfcab; - m1 = mfcab - mfaab; - m0 = m2 + mfbab; - mfaab = m0; - mfbab = m1 - m0 * vvx; - mfcab = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabb + mfcbb; - m1 = mfcbb - mfabb; - m0 = m2 + mfbbb; - mfabb = m0; - mfbbb = m1 - m0 * vvx; - mfcbb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacb + mfccb; - m1 = mfccb - mfacb; - m0 = m2 + mfbcb; - mfacb = m0; - mfbcb = m1 - m0 * vvx; - mfccb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfcac; - m1 = mfcac - mfaac; - m0 = m2 + mfbac; - mfaac = m0; - m0 += c1o3 * oMdrho; - mfbac = m1 - m0 * vvx; - mfcac = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabc + mfcbc; - m1 = mfcbc - mfabc; - m0 = m2 + mfbbc; - mfabc = m0; - mfbbc = m1 - m0 * vvx; - mfcbc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacc + mfccc; - m1 = mfccc - mfacc; - m0 = m2 + mfbcc; - mfacc = m0; - m0 += c1o9 * oMdrho; - mfbcc = m1 - m0 * vvx; - mfccc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - // linear combinations - - mxxyPyzz = mfcba + mfabc; - mxxyMyzz = mfcba - mfabc; - - mxxzPyyz = mfcab + mfacb; - mxxzMyyz = mfcab - mfacb; - - mxyyPxzz = mfbca + mfbac; - mxyyMxzz = mfbca - mfbac; - - - ////////////////////////////////////////////////////////////////////////// - //exclusive for this source node - real mfbbb_NEB = mfbbb; - real mxxyPyzz_NEB = mxxyPyzz; - real mxxyMyzz_NEB = mxxyMyzz; - real mxxzPyyz_NEB = mxxzPyyz; - real mxxzMyyz_NEB = mxxzMyyz; - real mxyyPxzz_NEB = mxyyPxzz; - real mxyyMxzz_NEB = mxyyMxzz; - ////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfbbbMean = c1o8 * (mfbbb_SWB + mfbbb_SWT + mfbbb_SET + mfbbb_SEB + mfbbb_NWB + mfbbb_NWT + mfbbb_NET + mfbbb_NEB); - real mxxyPyzzMean = c1o8 * (mxxyPyzz_SWB + mxxyPyzz_SWT + mxxyPyzz_SET + mxxyPyzz_SEB + mxxyPyzz_NWB + mxxyPyzz_NWT + mxxyPyzz_NET + mxxyPyzz_NEB); - real mxxyMyzzMean = c1o8 * (mxxyMyzz_SWB + mxxyMyzz_SWT + mxxyMyzz_SET + mxxyMyzz_SEB + mxxyMyzz_NWB + mxxyMyzz_NWT + mxxyMyzz_NET + mxxyMyzz_NEB); - real mxxzPyyzMean = c1o8 * (mxxzPyyz_SWB + mxxzPyyz_SWT + mxxzPyyz_SET + mxxzPyyz_SEB + mxxzPyyz_NWB + mxxzPyyz_NWT + mxxzPyyz_NET + mxxzPyyz_NEB); - real mxxzMyyzMean = c1o8 * (mxxzMyyz_SWB + mxxzMyyz_SWT + mxxzMyyz_SET + mxxzMyyz_SEB + mxxzMyyz_NWB + mxxzMyyz_NWT + mxxzMyyz_NET + mxxzMyyz_NEB); - real mxyyPxzzMean = c1o8 * (mxyyPxzz_SWB + mxyyPxzz_SWT + mxyyPxzz_SET + mxyyPxzz_SEB + mxyyPxzz_NWB + mxyyPxzz_NWT + mxyyPxzz_NET + mxyyPxzz_NEB); - real mxyyMxzzMean = c1o8 * (mxyyMxzz_SWB + mxyyMxzz_SWT + mxyyMxzz_SET + mxyyMxzz_SEB + mxyyMxzz_NWB + mxyyMxzz_NWT + mxyyMxzz_NET + mxyyMxzz_NEB); - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //kxyFromfcNEQ_SWB = zero; - //kyzFromfcNEQ_SWB = zero; - //kxzFromfcNEQ_SWB = zero; - //kxxMyyFromfcNEQ_SWB = zero; - //kxxMzzFromfcNEQ_SWB = zero; - //kxyFromfcNEQ_SWT = zero; - //kyzFromfcNEQ_SWT = zero; - //kxzFromfcNEQ_SWT = zero; - //kxxMyyFromfcNEQ_SWT = zero; - //kxxMzzFromfcNEQ_SWT = zero; - //kxyFromfcNEQ_SET = zero; - //kyzFromfcNEQ_SET = zero; - //kxzFromfcNEQ_SET = zero; - //kxxMyyFromfcNEQ_SET = zero; - //kxxMzzFromfcNEQ_SET = zero; - //kxyFromfcNEQ_SEB = zero; - //kyzFromfcNEQ_SEB = zero; - //kxzFromfcNEQ_SEB = zero; - //kxxMyyFromfcNEQ_SEB = zero; - //kxxMzzFromfcNEQ_SEB = zero; - //kxyFromfcNEQ_NWB = zero; - //kyzFromfcNEQ_NWB = zero; - //kxzFromfcNEQ_NWB = zero; - //kxxMyyFromfcNEQ_NWB = zero; - //kxxMzzFromfcNEQ_NWB = zero; - //kxyFromfcNEQ_NWT = zero; - //kyzFromfcNEQ_NWT = zero; - //kxzFromfcNEQ_NWT = zero; - //kxxMyyFromfcNEQ_NWT = zero; - //kxxMzzFromfcNEQ_NWT = zero; - //kxyFromfcNEQ_NET = zero; - //kyzFromfcNEQ_NET = zero; - //kxzFromfcNEQ_NET = zero; - //kxxMyyFromfcNEQ_NET = zero; - //kxxMzzFromfcNEQ_NET = zero; - //kxyFromfcNEQ_NEB = zero; - //kyzFromfcNEQ_NEB = zero; - //kxzFromfcNEQ_NEB = zero; - //kxxMyyFromfcNEQ_NEB = zero; - //kxxMzzFromfcNEQ_NEB = zero; - ////////////////////////////////////////////////////////////////////////// - //3 - ////////////////////////////////////////////////////////////////////////// - a0 = (-kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT - - kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - - kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - - c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET - c2o1*kxyFromfcNEQ_NWB - c2o1*kxyFromfcNEQ_NWT + - c2o1*kxyFromfcNEQ_SEB + c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + - c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB - c2o1*kxzFromfcNEQ_NWT + - c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB - c2o1*kxzFromfcNEQ_SWT + - c8o1*vx1_NEB + c8o1*vx1_NET + c8o1*vx1_NWB + c8o1*vx1_NWT + c8o1*vx1_SEB + - c8o1*vx1_SET + c8o1*vx1_SWB + c8o1*vx1_SWT + c2o1*vx2_NEB + c2o1*vx2_NET - - c2o1*vx2_NWB - c2o1*vx2_NWT - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + - c2o1*vx2_SWT - c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - - c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1; - b0 = (c2o1*kxxMyyFromfcNEQ_NEB + c2o1*kxxMyyFromfcNEQ_NET + c2o1*kxxMyyFromfcNEQ_NWB + c2o1*kxxMyyFromfcNEQ_NWT - - c2o1*kxxMyyFromfcNEQ_SEB - c2o1*kxxMyyFromfcNEQ_SET - c2o1*kxxMyyFromfcNEQ_SWB - c2o1*kxxMyyFromfcNEQ_SWT - - kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - - c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET + c2o1*kxyFromfcNEQ_NWB + c2o1*kxyFromfcNEQ_NWT - - c2o1*kxyFromfcNEQ_SEB - c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + - c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET + c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + - c2o1*kyzFromfcNEQ_SEB - c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB - c2o1*kyzFromfcNEQ_SWT + - c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT + - c8o1*vx2_NEB + c8o1*vx2_NET + c8o1*vx2_NWB + c8o1*vx2_NWT + - c8o1*vx2_SEB + c8o1*vx2_SET + c8o1*vx2_SWB + c8o1*vx2_SWT - - c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + - c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1; - c0 = (kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT - - c2o1*kxxMzzFromfcNEQ_NEB + c2o1*kxxMzzFromfcNEQ_NET - c2o1*kxxMzzFromfcNEQ_NWB + c2o1*kxxMzzFromfcNEQ_NWT - - c2o1*kxxMzzFromfcNEQ_SEB + c2o1*kxxMzzFromfcNEQ_SET - c2o1*kxxMzzFromfcNEQ_SWB + c2o1*kxxMzzFromfcNEQ_SWT - - c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB + c2o1*kxzFromfcNEQ_NWT - - c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB + c2o1*kxzFromfcNEQ_SWT - - c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET - c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + - c2o1*kyzFromfcNEQ_SEB + c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB + c2o1*kyzFromfcNEQ_SWT - - c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - - c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT + - c8o1*vx3_NEB + c8o1*vx3_NET + c8o1*vx3_NWB + c8o1*vx3_NWT + - c8o1*vx3_SEB + c8o1*vx3_SET + c8o1*vx3_SWB + c8o1*vx3_SWT)/c64o1; - ax = (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT + vx1_SEB + vx1_SET - vx1_SWB - vx1_SWT)/c4o1; - bx = (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT + vx2_SEB + vx2_SET - vx2_SWB - vx2_SWT)/c4o1; - cx = (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT + vx3_SEB + vx3_SET - vx3_SWB - vx3_SWT)/c4o1; - axx= (kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT + - kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + - c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB - c2o1*vx2_NWT - - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + c2o1*vx2_SWT - - c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - - c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1; - bxx= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET - kxyFromfcNEQ_NWB - kxyFromfcNEQ_NWT + - kxyFromfcNEQ_SEB + kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - - c2o1*vx1_NEB - c2o1*vx1_NET + c2o1*vx1_NWB + c2o1*vx1_NWT + - c2o1*vx1_SEB + c2o1*vx1_SET - c2o1*vx1_SWB - c2o1*vx1_SWT)/c8o1; - cxx= (kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB - kxzFromfcNEQ_NWT + - kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB - kxzFromfcNEQ_SWT + - c2o1*vx1_NEB - c2o1*vx1_NET - c2o1*vx1_NWB + c2o1*vx1_NWT + - c2o1*vx1_SEB - c2o1*vx1_SET - c2o1*vx1_SWB + c2o1*vx1_SWT)/c8o1; - ay = (vx1_NEB + vx1_NET + vx1_NWB + vx1_NWT - vx1_SEB - vx1_SET - vx1_SWB - vx1_SWT)/c4o1; - by = (vx2_NEB + vx2_NET + vx2_NWB + vx2_NWT - vx2_SEB - vx2_SET - vx2_SWB - vx2_SWT)/c4o1; - cy = (vx3_NEB + vx3_NET + vx3_NWB + vx3_NWT - vx3_SEB - vx3_SET - vx3_SWB - vx3_SWT)/c4o1; - ayy= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET + kxyFromfcNEQ_NWB + kxyFromfcNEQ_NWT - - kxyFromfcNEQ_SEB - kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - - c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB + c2o1*vx2_NWT + - c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB - c2o1*vx2_SWT)/c8o1; - byy= (-c2o1*kxxMyyFromfcNEQ_NEB - c2o1*kxxMyyFromfcNEQ_NET - c2o1*kxxMyyFromfcNEQ_NWB - c2o1*kxxMyyFromfcNEQ_NWT + - c2o1*kxxMyyFromfcNEQ_SEB + c2o1*kxxMyyFromfcNEQ_SET + c2o1*kxxMyyFromfcNEQ_SWB + c2o1*kxxMyyFromfcNEQ_SWT + - kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - - kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + - c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT - - c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + - c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1; - cyy= (kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET + kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - - kyzFromfcNEQ_SEB - kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB - kyzFromfcNEQ_SWT + - c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB - c2o1*vx2_NWT - - c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB + c2o1*vx2_SWT)/c8o1; - az = (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT - vx1_SEB + vx1_SET - vx1_SWB + vx1_SWT)/c4o1; - bz = (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT - vx2_SEB + vx2_SET - vx2_SWB + vx2_SWT)/c4o1; - cz = (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT - vx3_SEB + vx3_SET - vx3_SWB + vx3_SWT)/c4o1; - azz= (-kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB + kxzFromfcNEQ_NWT - - kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB + kxzFromfcNEQ_SWT + - c2o1*vx3_NEB - c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + - c2o1*vx3_SEB - c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1; - bzz= (-kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET - kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - - kyzFromfcNEQ_SEB + kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB + kyzFromfcNEQ_SWT + - c2o1*vx3_NEB - c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - - c2o1*vx3_SEB + c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1; - czz= (-kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT + - c2o1*kxxMzzFromfcNEQ_NEB - c2o1*kxxMzzFromfcNEQ_NET + c2o1*kxxMzzFromfcNEQ_NWB - c2o1*kxxMzzFromfcNEQ_NWT + - c2o1*kxxMzzFromfcNEQ_SEB - c2o1*kxxMzzFromfcNEQ_SET + c2o1*kxxMzzFromfcNEQ_SWB - c2o1*kxxMzzFromfcNEQ_SWT - - c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - - c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT)/c16o1; - axy= (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT - vx1_SEB - vx1_SET + vx1_SWB + vx1_SWT)/c2o1; - bxy= (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT - vx2_SEB - vx2_SET + vx2_SWB + vx2_SWT)/c2o1; - cxy= (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT - vx3_SEB - vx3_SET + vx3_SWB + vx3_SWT)/c2o1; - axz= (-vx1_NEB + vx1_NET + vx1_NWB - vx1_NWT - vx1_SEB + vx1_SET + vx1_SWB - vx1_SWT)/c2o1; - bxz= (-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT - vx2_SEB + vx2_SET + vx2_SWB - vx2_SWT)/c2o1; - cxz= (-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT - vx3_SEB + vx3_SET + vx3_SWB - vx3_SWT)/c2o1; - ayz= (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT + vx1_SEB - vx1_SET + vx1_SWB - vx1_SWT)/c2o1; - byz= (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT + vx2_SEB - vx2_SET + vx2_SWB - vx2_SWT)/c2o1; - cyz= (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT + vx3_SEB - vx3_SET + vx3_SWB - vx3_SWT)/c2o1; - //axyz=-vx1_NEB + vx1_NET + vx1_NWB - vx1_NWT + vx1_SEB - vx1_SET - vx1_SWB + vx1_SWT; - //bxyz=-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT + vx2_SEB - vx2_SET - vx2_SWB + vx2_SWT; - //cxyz=-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT + vx3_SEB - vx3_SET - vx3_SWB + vx3_SWT; - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real kxyAverage = c0o1; - real kyzAverage = c0o1; - real kxzAverage = c0o1; - real kxxMyyAverage = c0o1; - real kxxMzzAverage = c0o1; - //real kxyAverage =(kxyFromfcNEQ_SWB+ - // kxyFromfcNEQ_SWT+ - // kxyFromfcNEQ_SET+ - // kxyFromfcNEQ_SEB+ - // kxyFromfcNEQ_NWB+ - // kxyFromfcNEQ_NWT+ - // kxyFromfcNEQ_NET+ - // kxyFromfcNEQ_NEB)*c1o8-(ay+bx); - //real kyzAverage =(kyzFromfcNEQ_SWB+ - // kyzFromfcNEQ_SWT+ - // kyzFromfcNEQ_SET+ - // kyzFromfcNEQ_SEB+ - // kyzFromfcNEQ_NWB+ - // kyzFromfcNEQ_NWT+ - // kyzFromfcNEQ_NET+ - // kyzFromfcNEQ_NEB)*c1o8-(bz+cy); - //real kxzAverage =(kxzFromfcNEQ_SWB+ - // kxzFromfcNEQ_SWT+ - // kxzFromfcNEQ_SET+ - // kxzFromfcNEQ_SEB+ - // kxzFromfcNEQ_NWB+ - // kxzFromfcNEQ_NWT+ - // kxzFromfcNEQ_NET+ - // kxzFromfcNEQ_NEB)*c1o8-(az+cx); - //real kxxMyyAverage =(kxxMyyFromfcNEQ_SWB+ - // kxxMyyFromfcNEQ_SWT+ - // kxxMyyFromfcNEQ_SET+ - // kxxMyyFromfcNEQ_SEB+ - // kxxMyyFromfcNEQ_NWB+ - // kxxMyyFromfcNEQ_NWT+ - // kxxMyyFromfcNEQ_NET+ - // kxxMyyFromfcNEQ_NEB)*c1o8-(ax-by); - //real kxxMzzAverage =(kxxMzzFromfcNEQ_SWB+ - // kxxMzzFromfcNEQ_SWT+ - // kxxMzzFromfcNEQ_SET+ - // kxxMzzFromfcNEQ_SEB+ - // kxxMzzFromfcNEQ_NWB+ - // kxxMzzFromfcNEQ_NWT+ - // kxxMzzFromfcNEQ_NET+ - // kxxMzzFromfcNEQ_NEB)*c1o8-(ax-cz); - - - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - ////Press - //d0 = ( press_NEB + press_NET + press_NWB + press_NWT + press_SEB + press_SET + press_SWB + press_SWT) * c1o8; - //dx = ( press_NEB + press_NET - press_NWB - press_NWT + press_SEB + press_SET - press_SWB - press_SWT) * c1o4; - //dy = ( press_NEB + press_NET + press_NWB + press_NWT - press_SEB - press_SET - press_SWB - press_SWT) * c1o4; - //dz = (-press_NEB + press_NET - press_NWB + press_NWT - press_SEB + press_SET - press_SWB + press_SWT) * c1o4; - //dxy = ( press_NEB + press_NET - press_NWB - press_NWT - press_SEB - press_SET + press_SWB + press_SWT) * c1o2; - //dxz = (-press_NEB + press_NET + press_NWB - press_NWT - press_SEB + press_SET + press_SWB - press_SWT) * c1o2; - //dyz = (-press_NEB + press_NET - press_NWB + press_NWT + press_SEB - press_SET + press_SWB - press_SWT) * c1o2; - //dxyz = -press_NEB + press_NET + press_NWB - press_NWT + press_SEB - press_SET - press_SWB + press_SWT; - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho - real LapRho = ((xoff != c0o1) || (yoff != c0o1) || (zoff != c0o1)) ? c0o1 : -c3o1*(ax*ax + by*by + cz*cz) - c6o1 * (bx*ay + cx*az + cy*bz); - d0 = ( drho_NEB + drho_NET + drho_NWB + drho_NWT + drho_SEB + drho_SET + drho_SWB + drho_SWT - c2o1*LapRho) * c1o8; - dx = ( drho_NEB + drho_NET - drho_NWB - drho_NWT + drho_SEB + drho_SET - drho_SWB - drho_SWT) * c1o4; - dy = ( drho_NEB + drho_NET + drho_NWB + drho_NWT - drho_SEB - drho_SET - drho_SWB - drho_SWT) * c1o4; - dz = (-drho_NEB + drho_NET - drho_NWB + drho_NWT - drho_SEB + drho_SET - drho_SWB + drho_SWT) * c1o4; - dxy = ( drho_NEB + drho_NET - drho_NWB - drho_NWT - drho_SEB - drho_SET + drho_SWB + drho_SWT) * c1o2; - dxz = (-drho_NEB + drho_NET + drho_NWB - drho_NWT - drho_SEB + drho_SET + drho_SWB - drho_SWT) * c1o2; - dyz = (-drho_NEB + drho_NET - drho_NWB + drho_NWT + drho_SEB - drho_SET + drho_SWB - drho_SWT) * c1o2; - //dxyz = -drho_NEB + drho_NET + drho_NWB - drho_NWT + drho_SEB - drho_SET - drho_SWB + drho_SWT; - //d0 = zero; - //dx = zero; - //dy = zero; - //dz = zero; - //dxy = zero; - //dxz = zero; - //dyz = zero; - //dxyz = zero; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - // Bernd das Brot - // - // - // x------x - // | | - // | ---+--->X - // | | \ - // x------x \ - // off-vector - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - a0 = a0 + xoff * ax + yoff * ay + zoff * az + xoff_sq * axx + yoff_sq * ayy + zoff_sq * azz + xoff*yoff*axy + xoff*zoff*axz + yoff*zoff*ayz; - ax = ax + c2o1 * xoff * axx + yoff * axy + zoff * axz; - ay = ay + c2o1 * yoff * ayy + xoff * axy + zoff * ayz; - az = az + c2o1 * zoff * azz + xoff * axz + yoff * ayz; - b0 = b0 + xoff * bx + yoff * by + zoff * bz + xoff_sq * bxx + yoff_sq * byy + zoff_sq * bzz + xoff*yoff*bxy + xoff*zoff*bxz + yoff*zoff*byz; - bx = bx + c2o1 * xoff * bxx + yoff * bxy + zoff * bxz; - by = by + c2o1 * yoff * byy + xoff * bxy + zoff * byz; - bz = bz + c2o1 * zoff * bzz + xoff * bxz + yoff * byz; - c0 = c0 + xoff * cx + yoff * cy + zoff * cz + xoff_sq * cxx + yoff_sq * cyy + zoff_sq * czz + xoff*yoff*cxy + xoff*zoff*cxz + yoff*zoff*cyz; - cx = cx + c2o1 * xoff * cxx + yoff * cxy + zoff * cxz; - cy = cy + c2o1 * yoff * cyy + xoff * cxy + zoff * cyz; - cz = cz + c2o1 * zoff * czz + xoff * cxz + yoff * cyz; - d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // FIX /////////////////////////////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //AAAAAAAAAAAAHHHHHHHHHHHH!!!!! Mieser Test!!! - //b0= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz= c0= cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero; - //b0=zero; - //bx=zero; - //by=zero; - //bz=zero; - //bxx=zero; - //byy=zero; - //bzz=zero; - //bxy=zero; - //bxz=zero; - //byz=zero; - //c0=zero; - //cx=zero; - //cy=zero; - //cz=zero; - //cxx=zero; - //cyy=zero; - //czz=zero; - //cxy=zero; - //cxz=zero; - //cyz=zero; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //real m0, m1, m2, vvx, vvy, vvz, vx2, vy2, vz2, oMdrho; - //real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz; - //real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein - //real O3 = two - o; - //real residu, residutmp; - //residutmp = zero;///*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new; - //real NeqOn = one;//zero;//one; //.... one = on ..... zero = off - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position C 0., 0., 0. - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //x = 0.; - //y = 0.; - //z = 0.; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //real mxoff = -xoff; - //real myoff = -yoff; - //real mzoff = -zoff; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //press = press_NET * (c1o8 - c1o4 * mxoff - c1o4 * myoff - c1o4 * mzoff) + - // press_NWT * (c1o8 + c1o4 * mxoff - c1o4 * myoff - c1o4 * mzoff) + - // press_SET * (c1o8 - c1o4 * mxoff + c1o4 * myoff - c1o4 * mzoff) + - // press_SWT * (c1o8 + c1o4 * mxoff + c1o4 * myoff - c1o4 * mzoff) + - // press_NEB * (c1o8 - c1o4 * mxoff - c1o4 * myoff + c1o4 * mzoff) + - // press_NWB * (c1o8 + c1o4 * mxoff - c1o4 * myoff + c1o4 * mzoff) + - // press_SEB * (c1o8 - c1o4 * mxoff + c1o4 * myoff + c1o4 * mzoff) + - // press_SWB * (c1o8 + c1o4 * mxoff + c1o4 * myoff + c1o4 * mzoff); - //drho = drho_NET * (c1o8 - c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + - // drho_NWT * (c1o8 + c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + - // drho_SET * (c1o8 - c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + - // drho_SWT * (c1o8 + c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + - // drho_NEB * (c1o8 - c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + - // drho_NWB * (c1o8 + c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + - // drho_SEB * (c1o8 - c1o4 * xoff + c1o4 * yoff + c1o4 * zoff) + - // drho_SWB * (c1o8 + c1o4 * xoff + c1o4 * yoff + c1o4 * zoff); - press = d0; - vvx = a0; - vvy = b0; - vvz = c0; - - //mfaaa = drho; - //mfaaa = press + (ax+by+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //two - // linear combinations - mxxPyyPzz = mfaaa; - //mxxMyy = -c2o3*(ax - by)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy)*eps_new/o; - //mfbab = -c1o3 * (az + cx)*eps_new/o; - //mfbba = -c1o3 * (ay + bx)*eps_new/o; - mxxMyy = -c2o3*((ax - by)+kxxMyyAverage)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*((ax - cz)+kxxMzzAverage)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * ((bz + cy)+kyzAverage)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * ((az + cx)+kxzAverage)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * ((ay + bx)+kxyAverage)*eps_new/o * (c1o1 + press); - - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //3. - // linear combinations - mfbbb = c4o1 * (c24o1*(-c2o1+omFine)*(-c2o1-c7o1*omFine+c3o1*omFine*omFine)/(c48o1+c152o1*omFine-c130o1*omFine*omFine+c29o1*omFine*omFine*omFine)) - / (c24o1*(-c2o1+omCoarse)*(-c2o1-c7o1*omCoarse+c3o1*omCoarse*omCoarse)/(c48o1+c152o1*omCoarse-c130o1*omCoarse*omCoarse+c29o1*omCoarse*omCoarse*omCoarse)) * mfbbbMean; - mxxyPyzz = c4o1 * (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine) /(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) / (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) * mxxyPyzzMean; - mxxyMyzz = c4o1 * (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) / (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) * mxxyMyzzMean; - mxxzPyyz = c4o1 * (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine) /(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) / (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) * mxxzPyyzMean; - mxxzMyyz = c4o1 * (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) / (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) * mxxzMyyzMean; - mxyyPxzz = c4o1 * (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine) /(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) / (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) * mxyyPxzzMean; - mxyyMxzz = c4o1 * (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) / (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) * mxyyMxzzMean; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4. - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - //index 0 - kzero= posC[k]; - kw = neighborCX[kzero]; - ks = neighborCY[kzero]; - kb = neighborCZ[kzero]; - ksw = neighborCY[kw]; - kbw = neighborCZ[kw]; - kbs = neighborCZ[ks]; - kbsw = neighborCZ[ksw]; - //////////////////////////////////////////////////////////////////////////////////// - - - //////////////////////////////////////////////////////////////////////////////////// - feC[kzero] = mfcbb; - fwC[kw] = mfabb; - fnC[kzero] = mfbcb; - fsC[ks] = mfbab; - ftC[kzero] = mfbbc; - fbC[kb] = mfbba; - fneC[kzero] = mfccb; - fswC[ksw] = mfaab; - fseC[ks] = mfcab; - fnwC[kw] = mfacb; - fteC[kzero] = mfcbc; - fbwC[kbw] = mfaba; - fbeC[kb] = mfcba; - ftwC[kw] = mfabc; - ftnC[kzero] = mfbcc; - fbsC[kbs] = mfbaa; - fbnC[kb] = mfbca; - ftsC[ks] = mfbac; - fzeroC[kzero] = mfbbb; - ftneC[kzero] = mfccc; - ftseC[ks] = mfcac; - fbneC[kb] = mfcca; - fbseC[kbs] = mfcaa; - ftnwC[kw] = mfacc; - ftswC[ksw] = mfaac; - fbnwC[kbw] = mfaca; - fbswC[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - } -} -////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -////////////////////////////////////////////////////////////////////////// -__global__ void scaleFC_RhoSq_3rdMom_comp_27(real* DC, - real* DF, - unsigned int* neighborCX, - unsigned int* neighborCY, - unsigned int* neighborCZ, - unsigned int* neighborFX, - unsigned int* neighborFY, - unsigned int* neighborFZ, - unsigned long long numberOfLBnodesCoarse, - unsigned long long numberOfLBnodesFine, - bool isEvenTimestep, - unsigned int* posC, - unsigned int* posFSWB, - unsigned int kFC, - real omCoarse, - real omFine, - real nu, - unsigned int nxC, - unsigned int nyC, - unsigned int nxF, - unsigned int nyF, - ICellNeigh offFC) -{ - real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, - *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - - feF = &DF[dP00 * numberOfLBnodesFine]; - fwF = &DF[dM00 * numberOfLBnodesFine]; - fnF = &DF[d0P0 * numberOfLBnodesFine]; - fsF = &DF[d0M0 * numberOfLBnodesFine]; - ftF = &DF[d00P * numberOfLBnodesFine]; - fbF = &DF[d00M * numberOfLBnodesFine]; - fneF = &DF[dPP0 * numberOfLBnodesFine]; - fswF = &DF[dMM0 * numberOfLBnodesFine]; - fseF = &DF[dPM0 * numberOfLBnodesFine]; - fnwF = &DF[dMP0 * numberOfLBnodesFine]; - fteF = &DF[dP0P * numberOfLBnodesFine]; - fbwF = &DF[dM0M * numberOfLBnodesFine]; - fbeF = &DF[dP0M * numberOfLBnodesFine]; - ftwF = &DF[dM0P * numberOfLBnodesFine]; - ftnF = &DF[d0PP * numberOfLBnodesFine]; - fbsF = &DF[d0MM * numberOfLBnodesFine]; - fbnF = &DF[d0PM * numberOfLBnodesFine]; - ftsF = &DF[d0MP * numberOfLBnodesFine]; - fzeroF = &DF[d000 * numberOfLBnodesFine]; - ftneF = &DF[dPPP * numberOfLBnodesFine]; - ftswF = &DF[dMMP * numberOfLBnodesFine]; - ftseF = &DF[dPMP * numberOfLBnodesFine]; - ftnwF = &DF[dMPP * numberOfLBnodesFine]; - fbneF = &DF[dPPM * numberOfLBnodesFine]; - fbswF = &DF[dMMM * numberOfLBnodesFine]; - fbseF = &DF[dPMM * numberOfLBnodesFine]; - fbnwF = &DF[dMPM * numberOfLBnodesFine]; - - real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, *fzeroC, - *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; - - if (isEvenTimestep==true) - { - feC = &DC[dP00 * numberOfLBnodesCoarse]; - fwC = &DC[dM00 * numberOfLBnodesCoarse]; - fnC = &DC[d0P0 * numberOfLBnodesCoarse]; - fsC = &DC[d0M0 * numberOfLBnodesCoarse]; - ftC = &DC[d00P * numberOfLBnodesCoarse]; - fbC = &DC[d00M * numberOfLBnodesCoarse]; - fneC = &DC[dPP0 * numberOfLBnodesCoarse]; - fswC = &DC[dMM0 * numberOfLBnodesCoarse]; - fseC = &DC[dPM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dMP0 * numberOfLBnodesCoarse]; - fteC = &DC[dP0P * numberOfLBnodesCoarse]; - fbwC = &DC[dM0M * numberOfLBnodesCoarse]; - fbeC = &DC[dP0M * numberOfLBnodesCoarse]; - ftwC = &DC[dM0P * numberOfLBnodesCoarse]; - ftnC = &DC[d0PP * numberOfLBnodesCoarse]; - fbsC = &DC[d0MM * numberOfLBnodesCoarse]; - fbnC = &DC[d0PM * numberOfLBnodesCoarse]; - ftsC = &DC[d0MP * numberOfLBnodesCoarse]; - fzeroC = &DC[d000 * numberOfLBnodesCoarse]; - ftneC = &DC[dPPP * numberOfLBnodesCoarse]; - ftswC = &DC[dMMP * numberOfLBnodesCoarse]; - ftseC = &DC[dPMP * numberOfLBnodesCoarse]; - ftnwC = &DC[dMPP * numberOfLBnodesCoarse]; - fbneC = &DC[dPPM * numberOfLBnodesCoarse]; - fbswC = &DC[dMMM * numberOfLBnodesCoarse]; - fbseC = &DC[dPMM * numberOfLBnodesCoarse]; - fbnwC = &DC[dMPM * numberOfLBnodesCoarse]; - } - else - { - fwC = &DC[dP00 * numberOfLBnodesCoarse]; - feC = &DC[dM00 * numberOfLBnodesCoarse]; - fsC = &DC[d0P0 * numberOfLBnodesCoarse]; - fnC = &DC[d0M0 * numberOfLBnodesCoarse]; - fbC = &DC[d00P * numberOfLBnodesCoarse]; - ftC = &DC[d00M * numberOfLBnodesCoarse]; - fswC = &DC[dPP0 * numberOfLBnodesCoarse]; - fneC = &DC[dMM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dPM0 * numberOfLBnodesCoarse]; - fseC = &DC[dMP0 * numberOfLBnodesCoarse]; - fbwC = &DC[dP0P * numberOfLBnodesCoarse]; - fteC = &DC[dM0M * numberOfLBnodesCoarse]; - ftwC = &DC[dP0M * numberOfLBnodesCoarse]; - fbeC = &DC[dM0P * numberOfLBnodesCoarse]; - fbsC = &DC[d0PP * numberOfLBnodesCoarse]; - ftnC = &DC[d0MM * numberOfLBnodesCoarse]; - ftsC = &DC[d0PM * numberOfLBnodesCoarse]; - fbnC = &DC[d0MP * numberOfLBnodesCoarse]; - fzeroC = &DC[d000 * numberOfLBnodesCoarse]; - fbswC = &DC[dPPP * numberOfLBnodesCoarse]; - fbneC = &DC[dMMP * numberOfLBnodesCoarse]; - fbnwC = &DC[dPMP * numberOfLBnodesCoarse]; - fbseC = &DC[dMPP * numberOfLBnodesCoarse]; - ftswC = &DC[dPPM * numberOfLBnodesCoarse]; - ftneC = &DC[dMMM * numberOfLBnodesCoarse]; - ftnwC = &DC[dPMM * numberOfLBnodesCoarse]; - ftseC = &DC[dMPM * numberOfLBnodesCoarse]; - } - //////////////////////////////////////////////////////////////////////////////// - const unsigned ix = threadIdx.x; // Globaler x-Index - const unsigned iy = blockIdx.x; // Globaler y-Index - const unsigned iz = blockIdx.y; // Globaler z-Index - - const unsigned nx = blockDim.x; - const unsigned ny = gridDim.x; - - const unsigned k = nx*(ny*iz + iy) + ix; - ////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////// - real eps_new = c2o1; - real omegaS = omFine;//-omFine; - real o = omCoarse;//-omCoarse; - //real op = one; - //real cu_sq; - - real xoff, yoff, zoff; - real xoff_sq, yoff_sq, zoff_sq; - - real press;//,drho,vx1,vx2,vx3; - real /*press_SWT,*/drho_SWT,vx1_SWT,vx2_SWT,vx3_SWT; - real /*press_NWT,*/drho_NWT,vx1_NWT,vx2_NWT,vx3_NWT; - real /*press_NET,*/drho_NET,vx1_NET,vx2_NET,vx3_NET; - real /*press_SET,*/drho_SET,vx1_SET,vx2_SET,vx3_SET; - real /*press_SWB,*/drho_SWB,vx1_SWB,vx2_SWB,vx3_SWB; - real /*press_NWB,*/drho_NWB,vx1_NWB,vx2_NWB,vx3_NWB; - real /*press_NEB,*/drho_NEB,vx1_NEB,vx2_NEB,vx3_NEB; - real /*press_SEB,*/drho_SEB,vx1_SEB,vx2_SEB,vx3_SEB; - real f_E,f_W,f_N,f_S,f_T,f_B,f_NE,f_SW,f_SE,f_NW,f_TE,f_BW,f_BE,f_TW,f_TN,f_BS,f_BN,f_TS,f_ZERO,f_TNE, f_TSW, f_TSE, f_TNW, f_BNE, f_BSW, f_BSE, f_BNW; - //real feq_E,feq_W,feq_N,feq_S,feq_T,feq_B,feq_NE,feq_SW,feq_SE,feq_NW,feq_TE,feq_BW,feq_BE,feq_TW,feq_TN,feq_BS,feq_BN,feq_TS,feq_ZERO,feq_TNE, feq_TSW, feq_TSE, feq_TNW, feq_BNE, feq_BSW, feq_BSE, feq_BNW; - real kxyFromfcNEQ_SWT, kyzFromfcNEQ_SWT, kxzFromfcNEQ_SWT, kxxMyyFromfcNEQ_SWT, kxxMzzFromfcNEQ_SWT; - real kxyFromfcNEQ_NWT, kyzFromfcNEQ_NWT, kxzFromfcNEQ_NWT, kxxMyyFromfcNEQ_NWT, kxxMzzFromfcNEQ_NWT; - real kxyFromfcNEQ_NET, kyzFromfcNEQ_NET, kxzFromfcNEQ_NET, kxxMyyFromfcNEQ_NET, kxxMzzFromfcNEQ_NET; - real kxyFromfcNEQ_SET, kyzFromfcNEQ_SET, kxzFromfcNEQ_SET, kxxMyyFromfcNEQ_SET, kxxMzzFromfcNEQ_SET; - real kxyFromfcNEQ_SWB, kyzFromfcNEQ_SWB, kxzFromfcNEQ_SWB, kxxMyyFromfcNEQ_SWB, kxxMzzFromfcNEQ_SWB; - real kxyFromfcNEQ_NWB, kyzFromfcNEQ_NWB, kxzFromfcNEQ_NWB, kxxMyyFromfcNEQ_NWB, kxxMzzFromfcNEQ_NWB; - real kxyFromfcNEQ_NEB, kyzFromfcNEQ_NEB, kxzFromfcNEQ_NEB, kxxMyyFromfcNEQ_NEB, kxxMzzFromfcNEQ_NEB; - real kxyFromfcNEQ_SEB, kyzFromfcNEQ_SEB, kxzFromfcNEQ_SEB, kxxMyyFromfcNEQ_SEB, kxxMzzFromfcNEQ_SEB; - real a0, ax, ay, az, axx, ayy, azz, axy, axz, ayz, b0, bx, by, bz, bxx, byy, bzz, bxy, bxz, byz, c0, cx, cy, cz, cxx, cyy, czz, cxy, cxz, cyz/*, axyz, bxyz, cxyz*/; - real d0, dx, dy, dz, dxy, dxz, dyz/*, dxyz*/; - ////////////////////////////////////////////////////////////////////////////////////// - real mfcbb, mfabb, mfbcb, mfbab, mfbbc, mfbba, mfccb, mfaab, mfcab, mfacb, mfcbc, mfaba, mfcba, mfabc, mfbcc, mfbaa, mfbca, mfbac, mfbbb, mfccc, mfaac, mfcac, mfacc, mfcca, mfaaa, mfcaa, mfaca; - //real wadjust; - //real qudricLimitP = 0.01f;// * 0.0001f; - //real qudricLimitM = 0.01f;// * 0.0001f; - //real qudricLimitD = 0.01f;// * 0.001f; - //real omega = omFine; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real m0, m1, m2, vvx, vvy, vvz, vx2, vy2, vz2, oMdrho; - real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz; - real NeqOn = c1o1; - real drho, rho; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //real OxxPyyPzz; - //real OxyyPxzz; - //real OxyyMxzz; - //real Oxyz; - //real O4, O5, O6; - //real CUMcbb, CUMbcb, CUMbbc, CUMcca, CUMcac, CUMacc, CUMbcc, CUMcbc, CUMccb, CUMccc; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - if(k<kFC) - { - ////////////////////////////////////////////////////////////////////////// - xoff = offFC.x[k]; - yoff = offFC.y[k]; - zoff = offFC.z[k]; - xoff_sq = xoff * xoff; - yoff_sq = yoff * yoff; - zoff_sq = zoff * zoff; - ////////////////////////////////////////////////////////////////////////// - //SWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - unsigned int k0zero= posFSWB[k]; - unsigned int k0w = neighborFX[k0zero]; - unsigned int k0s = neighborFY[k0zero]; - unsigned int k0b = neighborFZ[k0zero]; - unsigned int k0sw = neighborFY[k0w]; - unsigned int k0bw = neighborFZ[k0w]; - unsigned int k0bs = neighborFZ[k0s]; - unsigned int k0bsw = neighborFZ[k0sw]; - ////////////////////////////////////////////////////////////////////////// - //index - unsigned int kzero= k0zero; - unsigned int kw = k0w; - unsigned int ks = k0s; - unsigned int kb = k0b; - unsigned int ksw = k0sw; - unsigned int kbw = k0bw; - unsigned int kbs = k0bs; - unsigned int kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - drho_SWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_SWB = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SWB); - vx2_SWB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWB); - vx3_SWB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWB); - - kxyFromfcNEQ_SWB = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx2_SWB))); - kyzFromfcNEQ_SWB = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SWB) - ((vx2_SWB*vx3_SWB))); - kxzFromfcNEQ_SWB = -c3o1*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx3_SWB))); - kxxMyyFromfcNEQ_SWB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx1_SWB-vx2_SWB*vx2_SWB))); - kxxMzzFromfcNEQ_SWB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx1_SWB-vx3_SWB*vx3_SWB))); - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - mfcbb = f_E ; - mfabb = f_W ; - mfbcb = f_N ; - mfbab = f_S ; - mfbbc = f_T ; - mfbba = f_B ; - mfccb = f_NE ; - mfaab = f_SW ; - mfcab = f_SE ; - mfacb = f_NW ; - mfcbc = f_TE ; - mfaba = f_BW ; - mfcba = f_BE ; - mfabc = f_TW ; - mfbcc = f_TN ; - mfbaa = f_BS ; - mfbca = f_BN ; - mfbac = f_TS ; - mfbbb = f_ZERO; - mfccc = f_TNE ; - mfaac = f_TSW ; - mfcac = f_TSE ; - mfacc = f_TNW ; - mfcca = f_BNE ; - mfaaa = f_BSW ; - mfcaa = f_BSE ; - mfaca = f_BNW ; - //////////////////////////////////////////////////////////////////////////////////// - drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + - (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) + - ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb; - - rho = c1o1+drho; - //////////////////////////////////////////////////////////////////////////////////// - vvx =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + - (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) + - (mfcbb-mfabb)) / rho; - vvy =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + - (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) + - (mfbcb-mfbab)) / rho; - vvz =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + - (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) + - (mfbbc-mfbba)) / rho; - //////////////////////////////////////////////////////////////////////////////////// - //fast - oMdrho = c1o1; // comp special - vx2=vvx*vvx; - vy2=vvy*vvy; - vz2=vvz*vvz; - //////////////////////////////////////////////////////////////////////////////////// - //Hin - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m2 = mfaaa + mfaac; - m1 = mfaac - mfaaa; - m0 = m2 + mfaab; - mfaaa = m0; - m0 += c1o36 * oMdrho; - mfaab = m1 - m0 * vvz; - mfaac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfabc; - m1 = mfabc - mfaba; - m0 = m2 + mfabb; - mfaba = m0; - m0 += c1o9 * oMdrho; - mfabb = m1 - m0 * vvz; - mfabc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfacc; - m1 = mfacc - mfaca; - m0 = m2 + mfacb; - mfaca = m0; - m0 += c1o36 * oMdrho; - mfacb = m1 - m0 * vvz; - mfacc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbac; - m1 = mfbac - mfbaa; - m0 = m2 + mfbab; - mfbaa = m0; - m0 += c1o9 * oMdrho; - mfbab = m1 - m0 * vvz; - mfbac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbba + mfbbc; - m1 = mfbbc - mfbba; - m0 = m2 + mfbbb; - mfbba = m0; - m0 += c4o9 * oMdrho; - mfbbb = m1 - m0 * vvz; - mfbbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbca + mfbcc; - m1 = mfbcc - mfbca; - m0 = m2 + mfbcb; - mfbca = m0; - m0 += c1o9 * oMdrho; - mfbcb = m1 - m0 * vvz; - mfbcc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcac; - m1 = mfcac - mfcaa; - m0 = m2 + mfcab; - mfcaa = m0; - m0 += c1o36 * oMdrho; - mfcab = m1 - m0 * vvz; - mfcac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcba + mfcbc; - m1 = mfcbc - mfcba; - m0 = m2 + mfcbb; - mfcba = m0; - m0 += c1o9 * oMdrho; - mfcbb = m1 - m0 * vvz; - mfcbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcca + mfccc; - m1 = mfccc - mfcca; - m0 = m2 + mfccb; - mfcca = m0; - m0 += c1o36 * oMdrho; - mfccb = m1 - m0 * vvz; - mfccc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m2 = mfaaa + mfaca; - m1 = mfaca - mfaaa; - m0 = m2 + mfaba; - mfaaa = m0; - m0 += c1o6 * oMdrho; - mfaba = m1 - m0 * vvy; - mfaca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfacb; - m1 = mfacb - mfaab; - m0 = m2 + mfabb; - mfaab = m0; - mfabb = m1 - m0 * vvy; - mfacb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfacc; - m1 = mfacc - mfaac; - m0 = m2 + mfabc; - mfaac = m0; - m0 += c1o18 * oMdrho; - mfabc = m1 - m0 * vvy; - mfacc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbca; - m1 = mfbca - mfbaa; - m0 = m2 + mfbba; - mfbaa = m0; - m0 += c2o3 * oMdrho; - mfbba = m1 - m0 * vvy; - mfbca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbab + mfbcb; - m1 = mfbcb - mfbab; - m0 = m2 + mfbbb; - mfbab = m0; - mfbbb = m1 - m0 * vvy; - mfbcb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbac + mfbcc; - m1 = mfbcc - mfbac; - m0 = m2 + mfbbc; - mfbac = m0; - m0 += c2o9 * oMdrho; - mfbbc = m1 - m0 * vvy; - mfbcc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcca; - m1 = mfcca - mfcaa; - m0 = m2 + mfcba; - mfcaa = m0; - m0 += c1o6 * oMdrho; - mfcba = m1 - m0 * vvy; - mfcca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcab + mfccb; - m1 = mfccb - mfcab; - m0 = m2 + mfcbb; - mfcab = m0; - mfcbb = m1 - m0 * vvy; - mfccb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcac + mfccc; - m1 = mfccc - mfcac; - m0 = m2 + mfcbc; - mfcac = m0; - m0 += c1o18 * oMdrho; - mfcbc = m1 - m0 * vvy; - mfccc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m2 = mfaaa + mfcaa; - m1 = mfcaa - mfaaa; - m0 = m2 + mfbaa; - mfaaa = m0; - m0 += c1o1* oMdrho; - mfbaa = m1 - m0 * vvx; - mfcaa = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfcba; - m1 = mfcba - mfaba; - m0 = m2 + mfbba; - mfaba = m0; - mfbba = m1 - m0 * vvx; - mfcba = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfcca; - m1 = mfcca - mfaca; - m0 = m2 + mfbca; - mfaca = m0; - m0 += c1o3 * oMdrho; - mfbca = m1 - m0 * vvx; - mfcca = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfcab; - m1 = mfcab - mfaab; - m0 = m2 + mfbab; - mfaab = m0; - mfbab = m1 - m0 * vvx; - mfcab = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabb + mfcbb; - m1 = mfcbb - mfabb; - m0 = m2 + mfbbb; - mfabb = m0; - mfbbb = m1 - m0 * vvx; - mfcbb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacb + mfccb; - m1 = mfccb - mfacb; - m0 = m2 + mfbcb; - mfacb = m0; - mfbcb = m1 - m0 * vvx; - mfccb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfcac; - m1 = mfcac - mfaac; - m0 = m2 + mfbac; - mfaac = m0; - m0 += c1o3 * oMdrho; - mfbac = m1 - m0 * vvx; - mfcac = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabc + mfcbc; - m1 = mfcbc - mfabc; - m0 = m2 + mfbbc; - mfabc = m0; - mfbbc = m1 - m0 * vvx; - mfcbc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacc + mfccc; - m1 = mfccc - mfacc; - m0 = m2 + mfbcc; - mfacc = m0; - m0 += c1o9 * oMdrho; - mfbcc = m1 - m0 * vvx; - mfccc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - // linear combinations - - mxxyPyzz = mfcba + mfabc; - mxxyMyzz = mfcba - mfabc; - - mxxzPyyz = mfcab + mfacb; - mxxzMyyz = mfcab - mfacb; - - mxyyPxzz = mfbca + mfbac; - mxyyMxzz = mfbca - mfbac; - - - ////////////////////////////////////////////////////////////////////////// - //exclusive for this source node - real mfbbb_SWB = mfbbb; - real mxxyPyzz_SWB = mxxyPyzz; - real mxxyMyzz_SWB = mxxyMyzz; - real mxxzPyyz_SWB = mxxzPyyz; - real mxxzMyyz_SWB = mxxzMyyz; - real mxyyPxzz_SWB = mxyyPxzz; - real mxyyMxzz_SWB = mxyyMxzz; - ////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ////////////////////////////////////////////////////////////////////////// - //SWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - drho_SWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_SWT = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SWT); - vx2_SWT = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWT); - vx3_SWT = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWT); - - kxyFromfcNEQ_SWT = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx2_SWT))); - kyzFromfcNEQ_SWT = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SWT) - ((vx2_SWT*vx3_SWT))); - kxzFromfcNEQ_SWT = -c3o1*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx3_SWT))); - kxxMyyFromfcNEQ_SWT = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx1_SWT-vx2_SWT*vx2_SWT))); - kxxMzzFromfcNEQ_SWT = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx1_SWT-vx3_SWT*vx3_SWT))); - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - mfcbb = f_E ; - mfabb = f_W ; - mfbcb = f_N ; - mfbab = f_S ; - mfbbc = f_T ; - mfbba = f_B ; - mfccb = f_NE ; - mfaab = f_SW ; - mfcab = f_SE ; - mfacb = f_NW ; - mfcbc = f_TE ; - mfaba = f_BW ; - mfcba = f_BE ; - mfabc = f_TW ; - mfbcc = f_TN ; - mfbaa = f_BS ; - mfbca = f_BN ; - mfbac = f_TS ; - mfbbb = f_ZERO; - mfccc = f_TNE ; - mfaac = f_TSW ; - mfcac = f_TSE ; - mfacc = f_TNW ; - mfcca = f_BNE ; - mfaaa = f_BSW ; - mfcaa = f_BSE ; - mfaca = f_BNW ; - //////////////////////////////////////////////////////////////////////////////////// - drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + - (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) + - ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb; - - rho = c1o1+drho; - //////////////////////////////////////////////////////////////////////////////////// - vvx =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + - (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) + - (mfcbb-mfabb)) / rho; - vvy =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + - (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) + - (mfbcb-mfbab)) / rho; - vvz =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + - (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) + - (mfbbc-mfbba)) / rho; - //////////////////////////////////////////////////////////////////////////////////// - //fast - oMdrho = c1o1; // comp special - vx2=vvx*vvx; - vy2=vvy*vvy; - vz2=vvz*vvz; - //////////////////////////////////////////////////////////////////////////////////// - //Hin - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m2 = mfaaa + mfaac; - m1 = mfaac - mfaaa; - m0 = m2 + mfaab; - mfaaa = m0; - m0 += c1o36 * oMdrho; - mfaab = m1 - m0 * vvz; - mfaac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfabc; - m1 = mfabc - mfaba; - m0 = m2 + mfabb; - mfaba = m0; - m0 += c1o9 * oMdrho; - mfabb = m1 - m0 * vvz; - mfabc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfacc; - m1 = mfacc - mfaca; - m0 = m2 + mfacb; - mfaca = m0; - m0 += c1o36 * oMdrho; - mfacb = m1 - m0 * vvz; - mfacc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbac; - m1 = mfbac - mfbaa; - m0 = m2 + mfbab; - mfbaa = m0; - m0 += c1o9 * oMdrho; - mfbab = m1 - m0 * vvz; - mfbac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbba + mfbbc; - m1 = mfbbc - mfbba; - m0 = m2 + mfbbb; - mfbba = m0; - m0 += c4o9 * oMdrho; - mfbbb = m1 - m0 * vvz; - mfbbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbca + mfbcc; - m1 = mfbcc - mfbca; - m0 = m2 + mfbcb; - mfbca = m0; - m0 += c1o9 * oMdrho; - mfbcb = m1 - m0 * vvz; - mfbcc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcac; - m1 = mfcac - mfcaa; - m0 = m2 + mfcab; - mfcaa = m0; - m0 += c1o36 * oMdrho; - mfcab = m1 - m0 * vvz; - mfcac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcba + mfcbc; - m1 = mfcbc - mfcba; - m0 = m2 + mfcbb; - mfcba = m0; - m0 += c1o9 * oMdrho; - mfcbb = m1 - m0 * vvz; - mfcbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcca + mfccc; - m1 = mfccc - mfcca; - m0 = m2 + mfccb; - mfcca = m0; - m0 += c1o36 * oMdrho; - mfccb = m1 - m0 * vvz; - mfccc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m2 = mfaaa + mfaca; - m1 = mfaca - mfaaa; - m0 = m2 + mfaba; - mfaaa = m0; - m0 += c1o6 * oMdrho; - mfaba = m1 - m0 * vvy; - mfaca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfacb; - m1 = mfacb - mfaab; - m0 = m2 + mfabb; - mfaab = m0; - mfabb = m1 - m0 * vvy; - mfacb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfacc; - m1 = mfacc - mfaac; - m0 = m2 + mfabc; - mfaac = m0; - m0 += c1o18 * oMdrho; - mfabc = m1 - m0 * vvy; - mfacc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbca; - m1 = mfbca - mfbaa; - m0 = m2 + mfbba; - mfbaa = m0; - m0 += c2o3 * oMdrho; - mfbba = m1 - m0 * vvy; - mfbca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbab + mfbcb; - m1 = mfbcb - mfbab; - m0 = m2 + mfbbb; - mfbab = m0; - mfbbb = m1 - m0 * vvy; - mfbcb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbac + mfbcc; - m1 = mfbcc - mfbac; - m0 = m2 + mfbbc; - mfbac = m0; - m0 += c2o9 * oMdrho; - mfbbc = m1 - m0 * vvy; - mfbcc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcca; - m1 = mfcca - mfcaa; - m0 = m2 + mfcba; - mfcaa = m0; - m0 += c1o6 * oMdrho; - mfcba = m1 - m0 * vvy; - mfcca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcab + mfccb; - m1 = mfccb - mfcab; - m0 = m2 + mfcbb; - mfcab = m0; - mfcbb = m1 - m0 * vvy; - mfccb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcac + mfccc; - m1 = mfccc - mfcac; - m0 = m2 + mfcbc; - mfcac = m0; - m0 += c1o18 * oMdrho; - mfcbc = m1 - m0 * vvy; - mfccc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m2 = mfaaa + mfcaa; - m1 = mfcaa - mfaaa; - m0 = m2 + mfbaa; - mfaaa = m0; - m0 += c1o1* oMdrho; - mfbaa = m1 - m0 * vvx; - mfcaa = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfcba; - m1 = mfcba - mfaba; - m0 = m2 + mfbba; - mfaba = m0; - mfbba = m1 - m0 * vvx; - mfcba = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfcca; - m1 = mfcca - mfaca; - m0 = m2 + mfbca; - mfaca = m0; - m0 += c1o3 * oMdrho; - mfbca = m1 - m0 * vvx; - mfcca = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfcab; - m1 = mfcab - mfaab; - m0 = m2 + mfbab; - mfaab = m0; - mfbab = m1 - m0 * vvx; - mfcab = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabb + mfcbb; - m1 = mfcbb - mfabb; - m0 = m2 + mfbbb; - mfabb = m0; - mfbbb = m1 - m0 * vvx; - mfcbb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacb + mfccb; - m1 = mfccb - mfacb; - m0 = m2 + mfbcb; - mfacb = m0; - mfbcb = m1 - m0 * vvx; - mfccb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfcac; - m1 = mfcac - mfaac; - m0 = m2 + mfbac; - mfaac = m0; - m0 += c1o3 * oMdrho; - mfbac = m1 - m0 * vvx; - mfcac = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabc + mfcbc; - m1 = mfcbc - mfabc; - m0 = m2 + mfbbc; - mfabc = m0; - mfbbc = m1 - m0 * vvx; - mfcbc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacc + mfccc; - m1 = mfccc - mfacc; - m0 = m2 + mfbcc; - mfacc = m0; - m0 += c1o9 * oMdrho; - mfbcc = m1 - m0 * vvx; - mfccc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - // linear combinations - - mxxyPyzz = mfcba + mfabc; - mxxyMyzz = mfcba - mfabc; - - mxxzPyyz = mfcab + mfacb; - mxxzMyyz = mfcab - mfacb; - - mxyyPxzz = mfbca + mfbac; - mxyyMxzz = mfbca - mfbac; - - - ////////////////////////////////////////////////////////////////////////// - //exclusive for this source node - real mfbbb_SWT = mfbbb; - real mxxyPyzz_SWT = mxxyPyzz; - real mxxyMyzz_SWT = mxxyMyzz; - real mxxzPyyz_SWT = mxxzPyyz; - real mxxzMyyz_SWT = mxxzMyyz; - real mxyyPxzz_SWT = mxyyPxzz; - real mxyyMxzz_SWT = mxyyMxzz; - ////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ////////////////////////////////////////////////////////////////////////// - //SET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - drho_SET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_SET = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SET); - vx2_SET = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SET); - vx3_SET = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SET); - - kxyFromfcNEQ_SET = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SET) - ((vx1_SET*vx2_SET))); - kyzFromfcNEQ_SET = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SET) - ((vx2_SET*vx3_SET))); - kxzFromfcNEQ_SET = -c3o1*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_SET) - ((vx1_SET*vx3_SET))); - kxxMyyFromfcNEQ_SET = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (c1o1 + drho_SET) - ((vx1_SET*vx1_SET-vx2_SET*vx2_SET))); - kxxMzzFromfcNEQ_SET = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (c1o1 + drho_SET) - ((vx1_SET*vx1_SET-vx3_SET*vx3_SET))); - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - mfcbb = f_E ; - mfabb = f_W ; - mfbcb = f_N ; - mfbab = f_S ; - mfbbc = f_T ; - mfbba = f_B ; - mfccb = f_NE ; - mfaab = f_SW ; - mfcab = f_SE ; - mfacb = f_NW ; - mfcbc = f_TE ; - mfaba = f_BW ; - mfcba = f_BE ; - mfabc = f_TW ; - mfbcc = f_TN ; - mfbaa = f_BS ; - mfbca = f_BN ; - mfbac = f_TS ; - mfbbb = f_ZERO; - mfccc = f_TNE ; - mfaac = f_TSW ; - mfcac = f_TSE ; - mfacc = f_TNW ; - mfcca = f_BNE ; - mfaaa = f_BSW ; - mfcaa = f_BSE ; - mfaca = f_BNW ; - //////////////////////////////////////////////////////////////////////////////////// - drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + - (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) + - ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb; - - rho = c1o1+drho; - //////////////////////////////////////////////////////////////////////////////////// - vvx =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + - (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) + - (mfcbb-mfabb)) / rho; - vvy =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + - (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) + - (mfbcb-mfbab)) / rho; - vvz =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + - (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) + - (mfbbc-mfbba)) / rho; - //////////////////////////////////////////////////////////////////////////////////// - //fast - oMdrho = c1o1; // comp special - vx2=vvx*vvx; - vy2=vvy*vvy; - vz2=vvz*vvz; - //////////////////////////////////////////////////////////////////////////////////// - //Hin - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m2 = mfaaa + mfaac; - m1 = mfaac - mfaaa; - m0 = m2 + mfaab; - mfaaa = m0; - m0 += c1o36 * oMdrho; - mfaab = m1 - m0 * vvz; - mfaac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfabc; - m1 = mfabc - mfaba; - m0 = m2 + mfabb; - mfaba = m0; - m0 += c1o9 * oMdrho; - mfabb = m1 - m0 * vvz; - mfabc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfacc; - m1 = mfacc - mfaca; - m0 = m2 + mfacb; - mfaca = m0; - m0 += c1o36 * oMdrho; - mfacb = m1 - m0 * vvz; - mfacc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbac; - m1 = mfbac - mfbaa; - m0 = m2 + mfbab; - mfbaa = m0; - m0 += c1o9 * oMdrho; - mfbab = m1 - m0 * vvz; - mfbac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbba + mfbbc; - m1 = mfbbc - mfbba; - m0 = m2 + mfbbb; - mfbba = m0; - m0 += c4o9 * oMdrho; - mfbbb = m1 - m0 * vvz; - mfbbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbca + mfbcc; - m1 = mfbcc - mfbca; - m0 = m2 + mfbcb; - mfbca = m0; - m0 += c1o9 * oMdrho; - mfbcb = m1 - m0 * vvz; - mfbcc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcac; - m1 = mfcac - mfcaa; - m0 = m2 + mfcab; - mfcaa = m0; - m0 += c1o36 * oMdrho; - mfcab = m1 - m0 * vvz; - mfcac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcba + mfcbc; - m1 = mfcbc - mfcba; - m0 = m2 + mfcbb; - mfcba = m0; - m0 += c1o9 * oMdrho; - mfcbb = m1 - m0 * vvz; - mfcbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcca + mfccc; - m1 = mfccc - mfcca; - m0 = m2 + mfccb; - mfcca = m0; - m0 += c1o36 * oMdrho; - mfccb = m1 - m0 * vvz; - mfccc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m2 = mfaaa + mfaca; - m1 = mfaca - mfaaa; - m0 = m2 + mfaba; - mfaaa = m0; - m0 += c1o6 * oMdrho; - mfaba = m1 - m0 * vvy; - mfaca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfacb; - m1 = mfacb - mfaab; - m0 = m2 + mfabb; - mfaab = m0; - mfabb = m1 - m0 * vvy; - mfacb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfacc; - m1 = mfacc - mfaac; - m0 = m2 + mfabc; - mfaac = m0; - m0 += c1o18 * oMdrho; - mfabc = m1 - m0 * vvy; - mfacc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbca; - m1 = mfbca - mfbaa; - m0 = m2 + mfbba; - mfbaa = m0; - m0 += c2o3 * oMdrho; - mfbba = m1 - m0 * vvy; - mfbca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbab + mfbcb; - m1 = mfbcb - mfbab; - m0 = m2 + mfbbb; - mfbab = m0; - mfbbb = m1 - m0 * vvy; - mfbcb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbac + mfbcc; - m1 = mfbcc - mfbac; - m0 = m2 + mfbbc; - mfbac = m0; - m0 += c2o9 * oMdrho; - mfbbc = m1 - m0 * vvy; - mfbcc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcca; - m1 = mfcca - mfcaa; - m0 = m2 + mfcba; - mfcaa = m0; - m0 += c1o6 * oMdrho; - mfcba = m1 - m0 * vvy; - mfcca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcab + mfccb; - m1 = mfccb - mfcab; - m0 = m2 + mfcbb; - mfcab = m0; - mfcbb = m1 - m0 * vvy; - mfccb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcac + mfccc; - m1 = mfccc - mfcac; - m0 = m2 + mfcbc; - mfcac = m0; - m0 += c1o18 * oMdrho; - mfcbc = m1 - m0 * vvy; - mfccc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m2 = mfaaa + mfcaa; - m1 = mfcaa - mfaaa; - m0 = m2 + mfbaa; - mfaaa = m0; - m0 += c1o1* oMdrho; - mfbaa = m1 - m0 * vvx; - mfcaa = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfcba; - m1 = mfcba - mfaba; - m0 = m2 + mfbba; - mfaba = m0; - mfbba = m1 - m0 * vvx; - mfcba = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfcca; - m1 = mfcca - mfaca; - m0 = m2 + mfbca; - mfaca = m0; - m0 += c1o3 * oMdrho; - mfbca = m1 - m0 * vvx; - mfcca = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfcab; - m1 = mfcab - mfaab; - m0 = m2 + mfbab; - mfaab = m0; - mfbab = m1 - m0 * vvx; - mfcab = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabb + mfcbb; - m1 = mfcbb - mfabb; - m0 = m2 + mfbbb; - mfabb = m0; - mfbbb = m1 - m0 * vvx; - mfcbb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacb + mfccb; - m1 = mfccb - mfacb; - m0 = m2 + mfbcb; - mfacb = m0; - mfbcb = m1 - m0 * vvx; - mfccb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfcac; - m1 = mfcac - mfaac; - m0 = m2 + mfbac; - mfaac = m0; - m0 += c1o3 * oMdrho; - mfbac = m1 - m0 * vvx; - mfcac = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabc + mfcbc; - m1 = mfcbc - mfabc; - m0 = m2 + mfbbc; - mfabc = m0; - mfbbc = m1 - m0 * vvx; - mfcbc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacc + mfccc; - m1 = mfccc - mfacc; - m0 = m2 + mfbcc; - mfacc = m0; - m0 += c1o9 * oMdrho; - mfbcc = m1 - m0 * vvx; - mfccc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - // linear combinations - - mxxyPyzz = mfcba + mfabc; - mxxyMyzz = mfcba - mfabc; - - mxxzPyyz = mfcab + mfacb; - mxxzMyyz = mfcab - mfacb; - - mxyyPxzz = mfbca + mfbac; - mxyyMxzz = mfbca - mfbac; - - - ////////////////////////////////////////////////////////////////////////// - //exclusive for this source node - real mfbbb_SET = mfbbb; - real mxxyPyzz_SET = mxxyPyzz; - real mxxyMyzz_SET = mxxyMyzz; - real mxxzPyyz_SET = mxxzPyyz; - real mxxzMyyz_SET = mxxzMyyz; - real mxyyPxzz_SET = mxyyPxzz; - real mxyyMxzz_SET = mxyyMxzz; - ////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ////////////////////////////////////////////////////////////////////////// - //SEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - drho_SEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_SEB = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SEB); - vx2_SEB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SEB); - vx3_SEB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SEB); - - kxyFromfcNEQ_SEB = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx2_SEB))); - kyzFromfcNEQ_SEB = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SEB) - ((vx2_SEB*vx3_SEB))); - kxzFromfcNEQ_SEB = -c3o1*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx3_SEB))); - kxxMyyFromfcNEQ_SEB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx1_SEB-vx2_SEB*vx2_SEB))); - kxxMzzFromfcNEQ_SEB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx1_SEB-vx3_SEB*vx3_SEB))); - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - mfcbb = f_E ; - mfabb = f_W ; - mfbcb = f_N ; - mfbab = f_S ; - mfbbc = f_T ; - mfbba = f_B ; - mfccb = f_NE ; - mfaab = f_SW ; - mfcab = f_SE ; - mfacb = f_NW ; - mfcbc = f_TE ; - mfaba = f_BW ; - mfcba = f_BE ; - mfabc = f_TW ; - mfbcc = f_TN ; - mfbaa = f_BS ; - mfbca = f_BN ; - mfbac = f_TS ; - mfbbb = f_ZERO; - mfccc = f_TNE ; - mfaac = f_TSW ; - mfcac = f_TSE ; - mfacc = f_TNW ; - mfcca = f_BNE ; - mfaaa = f_BSW ; - mfcaa = f_BSE ; - mfaca = f_BNW ; - //////////////////////////////////////////////////////////////////////////////////// - drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + - (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) + - ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb; - - rho = c1o1+drho; - //////////////////////////////////////////////////////////////////////////////////// - vvx =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + - (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) + - (mfcbb-mfabb)) / rho; - vvy =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + - (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) + - (mfbcb-mfbab)) / rho; - vvz =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + - (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) + - (mfbbc-mfbba)) / rho; - //////////////////////////////////////////////////////////////////////////////////// - //fast - oMdrho = c1o1; // comp special - vx2=vvx*vvx; - vy2=vvy*vvy; - vz2=vvz*vvz; - //////////////////////////////////////////////////////////////////////////////////// - //Hin - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m2 = mfaaa + mfaac; - m1 = mfaac - mfaaa; - m0 = m2 + mfaab; - mfaaa = m0; - m0 += c1o36 * oMdrho; - mfaab = m1 - m0 * vvz; - mfaac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfabc; - m1 = mfabc - mfaba; - m0 = m2 + mfabb; - mfaba = m0; - m0 += c1o9 * oMdrho; - mfabb = m1 - m0 * vvz; - mfabc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfacc; - m1 = mfacc - mfaca; - m0 = m2 + mfacb; - mfaca = m0; - m0 += c1o36 * oMdrho; - mfacb = m1 - m0 * vvz; - mfacc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbac; - m1 = mfbac - mfbaa; - m0 = m2 + mfbab; - mfbaa = m0; - m0 += c1o9 * oMdrho; - mfbab = m1 - m0 * vvz; - mfbac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbba + mfbbc; - m1 = mfbbc - mfbba; - m0 = m2 + mfbbb; - mfbba = m0; - m0 += c4o9 * oMdrho; - mfbbb = m1 - m0 * vvz; - mfbbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbca + mfbcc; - m1 = mfbcc - mfbca; - m0 = m2 + mfbcb; - mfbca = m0; - m0 += c1o9 * oMdrho; - mfbcb = m1 - m0 * vvz; - mfbcc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcac; - m1 = mfcac - mfcaa; - m0 = m2 + mfcab; - mfcaa = m0; - m0 += c1o36 * oMdrho; - mfcab = m1 - m0 * vvz; - mfcac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcba + mfcbc; - m1 = mfcbc - mfcba; - m0 = m2 + mfcbb; - mfcba = m0; - m0 += c1o9 * oMdrho; - mfcbb = m1 - m0 * vvz; - mfcbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcca + mfccc; - m1 = mfccc - mfcca; - m0 = m2 + mfccb; - mfcca = m0; - m0 += c1o36 * oMdrho; - mfccb = m1 - m0 * vvz; - mfccc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m2 = mfaaa + mfaca; - m1 = mfaca - mfaaa; - m0 = m2 + mfaba; - mfaaa = m0; - m0 += c1o6 * oMdrho; - mfaba = m1 - m0 * vvy; - mfaca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfacb; - m1 = mfacb - mfaab; - m0 = m2 + mfabb; - mfaab = m0; - mfabb = m1 - m0 * vvy; - mfacb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfacc; - m1 = mfacc - mfaac; - m0 = m2 + mfabc; - mfaac = m0; - m0 += c1o18 * oMdrho; - mfabc = m1 - m0 * vvy; - mfacc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbca; - m1 = mfbca - mfbaa; - m0 = m2 + mfbba; - mfbaa = m0; - m0 += c2o3 * oMdrho; - mfbba = m1 - m0 * vvy; - mfbca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbab + mfbcb; - m1 = mfbcb - mfbab; - m0 = m2 + mfbbb; - mfbab = m0; - mfbbb = m1 - m0 * vvy; - mfbcb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbac + mfbcc; - m1 = mfbcc - mfbac; - m0 = m2 + mfbbc; - mfbac = m0; - m0 += c2o9 * oMdrho; - mfbbc = m1 - m0 * vvy; - mfbcc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcca; - m1 = mfcca - mfcaa; - m0 = m2 + mfcba; - mfcaa = m0; - m0 += c1o6 * oMdrho; - mfcba = m1 - m0 * vvy; - mfcca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcab + mfccb; - m1 = mfccb - mfcab; - m0 = m2 + mfcbb; - mfcab = m0; - mfcbb = m1 - m0 * vvy; - mfccb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcac + mfccc; - m1 = mfccc - mfcac; - m0 = m2 + mfcbc; - mfcac = m0; - m0 += c1o18 * oMdrho; - mfcbc = m1 - m0 * vvy; - mfccc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m2 = mfaaa + mfcaa; - m1 = mfcaa - mfaaa; - m0 = m2 + mfbaa; - mfaaa = m0; - m0 += c1o1* oMdrho; - mfbaa = m1 - m0 * vvx; - mfcaa = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfcba; - m1 = mfcba - mfaba; - m0 = m2 + mfbba; - mfaba = m0; - mfbba = m1 - m0 * vvx; - mfcba = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfcca; - m1 = mfcca - mfaca; - m0 = m2 + mfbca; - mfaca = m0; - m0 += c1o3 * oMdrho; - mfbca = m1 - m0 * vvx; - mfcca = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfcab; - m1 = mfcab - mfaab; - m0 = m2 + mfbab; - mfaab = m0; - mfbab = m1 - m0 * vvx; - mfcab = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabb + mfcbb; - m1 = mfcbb - mfabb; - m0 = m2 + mfbbb; - mfabb = m0; - mfbbb = m1 - m0 * vvx; - mfcbb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacb + mfccb; - m1 = mfccb - mfacb; - m0 = m2 + mfbcb; - mfacb = m0; - mfbcb = m1 - m0 * vvx; - mfccb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfcac; - m1 = mfcac - mfaac; - m0 = m2 + mfbac; - mfaac = m0; - m0 += c1o3 * oMdrho; - mfbac = m1 - m0 * vvx; - mfcac = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabc + mfcbc; - m1 = mfcbc - mfabc; - m0 = m2 + mfbbc; - mfabc = m0; - mfbbc = m1 - m0 * vvx; - mfcbc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacc + mfccc; - m1 = mfccc - mfacc; - m0 = m2 + mfbcc; - mfacc = m0; - m0 += c1o9 * oMdrho; - mfbcc = m1 - m0 * vvx; - mfccc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - // linear combinations - - mxxyPyzz = mfcba + mfabc; - mxxyMyzz = mfcba - mfabc; - - mxxzPyyz = mfcab + mfacb; - mxxzMyyz = mfcab - mfacb; - - mxyyPxzz = mfbca + mfbac; - mxyyMxzz = mfbca - mfbac; - - - ////////////////////////////////////////////////////////////////////////// - //exclusive for this source node - real mfbbb_SEB = mfbbb; - real mxxyPyzz_SEB = mxxyPyzz; - real mxxyMyzz_SEB = mxxyMyzz; - real mxxzPyyz_SEB = mxxzPyyz; - real mxxzMyyz_SEB = mxxzMyyz; - real mxyyPxzz_SEB = mxyyPxzz; - real mxyyMxzz_SEB = mxyyMxzz; - ////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ////////////////////////////////////////////////////////////////////////// - //NWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= k0s; - k0w = k0sw; - k0s = neighborFY[k0s]; - k0b = k0bs; - k0sw = neighborFY[k0sw]; - k0bw = k0bsw; - k0bs = neighborFY[k0bs]; - k0bsw = neighborFY[k0bsw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - drho_NWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_NWB = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NWB); - vx2_NWB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWB); - vx3_NWB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWB); - - kxyFromfcNEQ_NWB = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx2_NWB))); - kyzFromfcNEQ_NWB = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NWB) - ((vx2_NWB*vx3_NWB))); - kxzFromfcNEQ_NWB = -c3o1*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx3_NWB))); - kxxMyyFromfcNEQ_NWB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx1_NWB-vx2_NWB*vx2_NWB))); - kxxMzzFromfcNEQ_NWB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx1_NWB-vx3_NWB*vx3_NWB))); - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - mfcbb = f_E ; - mfabb = f_W ; - mfbcb = f_N ; - mfbab = f_S ; - mfbbc = f_T ; - mfbba = f_B ; - mfccb = f_NE ; - mfaab = f_SW ; - mfcab = f_SE ; - mfacb = f_NW ; - mfcbc = f_TE ; - mfaba = f_BW ; - mfcba = f_BE ; - mfabc = f_TW ; - mfbcc = f_TN ; - mfbaa = f_BS ; - mfbca = f_BN ; - mfbac = f_TS ; - mfbbb = f_ZERO; - mfccc = f_TNE ; - mfaac = f_TSW ; - mfcac = f_TSE ; - mfacc = f_TNW ; - mfcca = f_BNE ; - mfaaa = f_BSW ; - mfcaa = f_BSE ; - mfaca = f_BNW ; - //////////////////////////////////////////////////////////////////////////////////// - drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + - (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) + - ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb; - - rho = c1o1+drho; - //////////////////////////////////////////////////////////////////////////////////// - vvx =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + - (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) + - (mfcbb-mfabb)) / rho; - vvy =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + - (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) + - (mfbcb-mfbab)) / rho; - vvz =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + - (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) + - (mfbbc-mfbba)) / rho; - //////////////////////////////////////////////////////////////////////////////////// - //fast - oMdrho = c1o1; // comp special - vx2=vvx*vvx; - vy2=vvy*vvy; - vz2=vvz*vvz; - //////////////////////////////////////////////////////////////////////////////////// - //Hin - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m2 = mfaaa + mfaac; - m1 = mfaac - mfaaa; - m0 = m2 + mfaab; - mfaaa = m0; - m0 += c1o36 * oMdrho; - mfaab = m1 - m0 * vvz; - mfaac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfabc; - m1 = mfabc - mfaba; - m0 = m2 + mfabb; - mfaba = m0; - m0 += c1o9 * oMdrho; - mfabb = m1 - m0 * vvz; - mfabc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfacc; - m1 = mfacc - mfaca; - m0 = m2 + mfacb; - mfaca = m0; - m0 += c1o36 * oMdrho; - mfacb = m1 - m0 * vvz; - mfacc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbac; - m1 = mfbac - mfbaa; - m0 = m2 + mfbab; - mfbaa = m0; - m0 += c1o9 * oMdrho; - mfbab = m1 - m0 * vvz; - mfbac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbba + mfbbc; - m1 = mfbbc - mfbba; - m0 = m2 + mfbbb; - mfbba = m0; - m0 += c4o9 * oMdrho; - mfbbb = m1 - m0 * vvz; - mfbbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbca + mfbcc; - m1 = mfbcc - mfbca; - m0 = m2 + mfbcb; - mfbca = m0; - m0 += c1o9 * oMdrho; - mfbcb = m1 - m0 * vvz; - mfbcc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcac; - m1 = mfcac - mfcaa; - m0 = m2 + mfcab; - mfcaa = m0; - m0 += c1o36 * oMdrho; - mfcab = m1 - m0 * vvz; - mfcac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcba + mfcbc; - m1 = mfcbc - mfcba; - m0 = m2 + mfcbb; - mfcba = m0; - m0 += c1o9 * oMdrho; - mfcbb = m1 - m0 * vvz; - mfcbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcca + mfccc; - m1 = mfccc - mfcca; - m0 = m2 + mfccb; - mfcca = m0; - m0 += c1o36 * oMdrho; - mfccb = m1 - m0 * vvz; - mfccc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m2 = mfaaa + mfaca; - m1 = mfaca - mfaaa; - m0 = m2 + mfaba; - mfaaa = m0; - m0 += c1o6 * oMdrho; - mfaba = m1 - m0 * vvy; - mfaca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfacb; - m1 = mfacb - mfaab; - m0 = m2 + mfabb; - mfaab = m0; - mfabb = m1 - m0 * vvy; - mfacb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfacc; - m1 = mfacc - mfaac; - m0 = m2 + mfabc; - mfaac = m0; - m0 += c1o18 * oMdrho; - mfabc = m1 - m0 * vvy; - mfacc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbca; - m1 = mfbca - mfbaa; - m0 = m2 + mfbba; - mfbaa = m0; - m0 += c2o3 * oMdrho; - mfbba = m1 - m0 * vvy; - mfbca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbab + mfbcb; - m1 = mfbcb - mfbab; - m0 = m2 + mfbbb; - mfbab = m0; - mfbbb = m1 - m0 * vvy; - mfbcb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbac + mfbcc; - m1 = mfbcc - mfbac; - m0 = m2 + mfbbc; - mfbac = m0; - m0 += c2o9 * oMdrho; - mfbbc = m1 - m0 * vvy; - mfbcc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcca; - m1 = mfcca - mfcaa; - m0 = m2 + mfcba; - mfcaa = m0; - m0 += c1o6 * oMdrho; - mfcba = m1 - m0 * vvy; - mfcca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcab + mfccb; - m1 = mfccb - mfcab; - m0 = m2 + mfcbb; - mfcab = m0; - mfcbb = m1 - m0 * vvy; - mfccb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcac + mfccc; - m1 = mfccc - mfcac; - m0 = m2 + mfcbc; - mfcac = m0; - m0 += c1o18 * oMdrho; - mfcbc = m1 - m0 * vvy; - mfccc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m2 = mfaaa + mfcaa; - m1 = mfcaa - mfaaa; - m0 = m2 + mfbaa; - mfaaa = m0; - m0 += c1o1* oMdrho; - mfbaa = m1 - m0 * vvx; - mfcaa = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfcba; - m1 = mfcba - mfaba; - m0 = m2 + mfbba; - mfaba = m0; - mfbba = m1 - m0 * vvx; - mfcba = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfcca; - m1 = mfcca - mfaca; - m0 = m2 + mfbca; - mfaca = m0; - m0 += c1o3 * oMdrho; - mfbca = m1 - m0 * vvx; - mfcca = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfcab; - m1 = mfcab - mfaab; - m0 = m2 + mfbab; - mfaab = m0; - mfbab = m1 - m0 * vvx; - mfcab = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabb + mfcbb; - m1 = mfcbb - mfabb; - m0 = m2 + mfbbb; - mfabb = m0; - mfbbb = m1 - m0 * vvx; - mfcbb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacb + mfccb; - m1 = mfccb - mfacb; - m0 = m2 + mfbcb; - mfacb = m0; - mfbcb = m1 - m0 * vvx; - mfccb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfcac; - m1 = mfcac - mfaac; - m0 = m2 + mfbac; - mfaac = m0; - m0 += c1o3 * oMdrho; - mfbac = m1 - m0 * vvx; - mfcac = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabc + mfcbc; - m1 = mfcbc - mfabc; - m0 = m2 + mfbbc; - mfabc = m0; - mfbbc = m1 - m0 * vvx; - mfcbc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacc + mfccc; - m1 = mfccc - mfacc; - m0 = m2 + mfbcc; - mfacc = m0; - m0 += c1o9 * oMdrho; - mfbcc = m1 - m0 * vvx; - mfccc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - // linear combinations - - mxxyPyzz = mfcba + mfabc; - mxxyMyzz = mfcba - mfabc; - - mxxzPyyz = mfcab + mfacb; - mxxzMyyz = mfcab - mfacb; - - mxyyPxzz = mfbca + mfbac; - mxyyMxzz = mfbca - mfbac; - - - ////////////////////////////////////////////////////////////////////////// - //exclusive for this source node - real mfbbb_NWB = mfbbb; - real mxxyPyzz_NWB = mxxyPyzz; - real mxxyMyzz_NWB = mxxyMyzz; - real mxxzPyyz_NWB = mxxzPyyz; - real mxxzMyyz_NWB = mxxzMyyz; - real mxyyPxzz_NWB = mxyyPxzz; - real mxyyMxzz_NWB = mxyyMxzz; - ////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ////////////////////////////////////////////////////////////////////////// - //NWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - drho_NWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_NWT = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NWT); - vx2_NWT = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWT); - vx3_NWT = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWT); - - kxyFromfcNEQ_NWT = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx2_NWT))); - kyzFromfcNEQ_NWT = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NWT) - ((vx2_NWT*vx3_NWT))); - kxzFromfcNEQ_NWT = -c3o1*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx3_NWT))); - kxxMyyFromfcNEQ_NWT = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx1_NWT-vx2_NWT*vx2_NWT))); - kxxMzzFromfcNEQ_NWT = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx1_NWT-vx3_NWT*vx3_NWT))); - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - mfcbb = f_E ; - mfabb = f_W ; - mfbcb = f_N ; - mfbab = f_S ; - mfbbc = f_T ; - mfbba = f_B ; - mfccb = f_NE ; - mfaab = f_SW ; - mfcab = f_SE ; - mfacb = f_NW ; - mfcbc = f_TE ; - mfaba = f_BW ; - mfcba = f_BE ; - mfabc = f_TW ; - mfbcc = f_TN ; - mfbaa = f_BS ; - mfbca = f_BN ; - mfbac = f_TS ; - mfbbb = f_ZERO; - mfccc = f_TNE ; - mfaac = f_TSW ; - mfcac = f_TSE ; - mfacc = f_TNW ; - mfcca = f_BNE ; - mfaaa = f_BSW ; - mfcaa = f_BSE ; - mfaca = f_BNW ; - //////////////////////////////////////////////////////////////////////////////////// - drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + - (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) + - ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb; - - rho = c1o1+drho; - //////////////////////////////////////////////////////////////////////////////////// - vvx =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + - (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) + - (mfcbb-mfabb)) / rho; - vvy =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + - (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) + - (mfbcb-mfbab)) / rho; - vvz =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + - (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) + - (mfbbc-mfbba)) / rho; - //////////////////////////////////////////////////////////////////////////////////// - //fast - oMdrho = c1o1; // comp special - vx2=vvx*vvx; - vy2=vvy*vvy; - vz2=vvz*vvz; - //////////////////////////////////////////////////////////////////////////////////// - //Hin - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m2 = mfaaa + mfaac; - m1 = mfaac - mfaaa; - m0 = m2 + mfaab; - mfaaa = m0; - m0 += c1o36 * oMdrho; - mfaab = m1 - m0 * vvz; - mfaac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfabc; - m1 = mfabc - mfaba; - m0 = m2 + mfabb; - mfaba = m0; - m0 += c1o9 * oMdrho; - mfabb = m1 - m0 * vvz; - mfabc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfacc; - m1 = mfacc - mfaca; - m0 = m2 + mfacb; - mfaca = m0; - m0 += c1o36 * oMdrho; - mfacb = m1 - m0 * vvz; - mfacc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbac; - m1 = mfbac - mfbaa; - m0 = m2 + mfbab; - mfbaa = m0; - m0 += c1o9 * oMdrho; - mfbab = m1 - m0 * vvz; - mfbac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbba + mfbbc; - m1 = mfbbc - mfbba; - m0 = m2 + mfbbb; - mfbba = m0; - m0 += c4o9 * oMdrho; - mfbbb = m1 - m0 * vvz; - mfbbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbca + mfbcc; - m1 = mfbcc - mfbca; - m0 = m2 + mfbcb; - mfbca = m0; - m0 += c1o9 * oMdrho; - mfbcb = m1 - m0 * vvz; - mfbcc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcac; - m1 = mfcac - mfcaa; - m0 = m2 + mfcab; - mfcaa = m0; - m0 += c1o36 * oMdrho; - mfcab = m1 - m0 * vvz; - mfcac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcba + mfcbc; - m1 = mfcbc - mfcba; - m0 = m2 + mfcbb; - mfcba = m0; - m0 += c1o9 * oMdrho; - mfcbb = m1 - m0 * vvz; - mfcbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcca + mfccc; - m1 = mfccc - mfcca; - m0 = m2 + mfccb; - mfcca = m0; - m0 += c1o36 * oMdrho; - mfccb = m1 - m0 * vvz; - mfccc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m2 = mfaaa + mfaca; - m1 = mfaca - mfaaa; - m0 = m2 + mfaba; - mfaaa = m0; - m0 += c1o6 * oMdrho; - mfaba = m1 - m0 * vvy; - mfaca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfacb; - m1 = mfacb - mfaab; - m0 = m2 + mfabb; - mfaab = m0; - mfabb = m1 - m0 * vvy; - mfacb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfacc; - m1 = mfacc - mfaac; - m0 = m2 + mfabc; - mfaac = m0; - m0 += c1o18 * oMdrho; - mfabc = m1 - m0 * vvy; - mfacc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbca; - m1 = mfbca - mfbaa; - m0 = m2 + mfbba; - mfbaa = m0; - m0 += c2o3 * oMdrho; - mfbba = m1 - m0 * vvy; - mfbca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbab + mfbcb; - m1 = mfbcb - mfbab; - m0 = m2 + mfbbb; - mfbab = m0; - mfbbb = m1 - m0 * vvy; - mfbcb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbac + mfbcc; - m1 = mfbcc - mfbac; - m0 = m2 + mfbbc; - mfbac = m0; - m0 += c2o9 * oMdrho; - mfbbc = m1 - m0 * vvy; - mfbcc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcca; - m1 = mfcca - mfcaa; - m0 = m2 + mfcba; - mfcaa = m0; - m0 += c1o6 * oMdrho; - mfcba = m1 - m0 * vvy; - mfcca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcab + mfccb; - m1 = mfccb - mfcab; - m0 = m2 + mfcbb; - mfcab = m0; - mfcbb = m1 - m0 * vvy; - mfccb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcac + mfccc; - m1 = mfccc - mfcac; - m0 = m2 + mfcbc; - mfcac = m0; - m0 += c1o18 * oMdrho; - mfcbc = m1 - m0 * vvy; - mfccc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m2 = mfaaa + mfcaa; - m1 = mfcaa - mfaaa; - m0 = m2 + mfbaa; - mfaaa = m0; - m0 += c1o1* oMdrho; - mfbaa = m1 - m0 * vvx; - mfcaa = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfcba; - m1 = mfcba - mfaba; - m0 = m2 + mfbba; - mfaba = m0; - mfbba = m1 - m0 * vvx; - mfcba = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfcca; - m1 = mfcca - mfaca; - m0 = m2 + mfbca; - mfaca = m0; - m0 += c1o3 * oMdrho; - mfbca = m1 - m0 * vvx; - mfcca = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfcab; - m1 = mfcab - mfaab; - m0 = m2 + mfbab; - mfaab = m0; - mfbab = m1 - m0 * vvx; - mfcab = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabb + mfcbb; - m1 = mfcbb - mfabb; - m0 = m2 + mfbbb; - mfabb = m0; - mfbbb = m1 - m0 * vvx; - mfcbb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacb + mfccb; - m1 = mfccb - mfacb; - m0 = m2 + mfbcb; - mfacb = m0; - mfbcb = m1 - m0 * vvx; - mfccb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfcac; - m1 = mfcac - mfaac; - m0 = m2 + mfbac; - mfaac = m0; - m0 += c1o3 * oMdrho; - mfbac = m1 - m0 * vvx; - mfcac = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabc + mfcbc; - m1 = mfcbc - mfabc; - m0 = m2 + mfbbc; - mfabc = m0; - mfbbc = m1 - m0 * vvx; - mfcbc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacc + mfccc; - m1 = mfccc - mfacc; - m0 = m2 + mfbcc; - mfacc = m0; - m0 += c1o9 * oMdrho; - mfbcc = m1 - m0 * vvx; - mfccc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - // linear combinations - - mxxyPyzz = mfcba + mfabc; - mxxyMyzz = mfcba - mfabc; - - mxxzPyyz = mfcab + mfacb; - mxxzMyyz = mfcab - mfacb; - - mxyyPxzz = mfbca + mfbac; - mxyyMxzz = mfbca - mfbac; - - - ////////////////////////////////////////////////////////////////////////// - //exclusive for this source node - real mfbbb_NWT = mfbbb; - real mxxyPyzz_NWT = mxxyPyzz; - real mxxyMyzz_NWT = mxxyMyzz; - real mxxzPyyz_NWT = mxxzPyyz; - real mxxzMyyz_NWT = mxxzMyyz; - real mxyyPxzz_NWT = mxyyPxzz; - real mxyyMxzz_NWT = mxyyMxzz; - ////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ////////////////////////////////////////////////////////////////////////// - //NET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - drho_NET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_NET = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NET); - vx2_NET = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NET); - vx3_NET = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NET); - - kxyFromfcNEQ_NET = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NET) - ((vx1_NET*vx2_NET))); - kyzFromfcNEQ_NET = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NET) - ((vx2_NET*vx3_NET))); - kxzFromfcNEQ_NET = -c3o1*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_NET) - ((vx1_NET*vx3_NET))); - kxxMyyFromfcNEQ_NET = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (c1o1 + drho_NET) - ((vx1_NET*vx1_NET-vx2_NET*vx2_NET))); - kxxMzzFromfcNEQ_NET = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (c1o1 + drho_NET) - ((vx1_NET*vx1_NET-vx3_NET*vx3_NET))); - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - mfcbb = f_E ; - mfabb = f_W ; - mfbcb = f_N ; - mfbab = f_S ; - mfbbc = f_T ; - mfbba = f_B ; - mfccb = f_NE ; - mfaab = f_SW ; - mfcab = f_SE ; - mfacb = f_NW ; - mfcbc = f_TE ; - mfaba = f_BW ; - mfcba = f_BE ; - mfabc = f_TW ; - mfbcc = f_TN ; - mfbaa = f_BS ; - mfbca = f_BN ; - mfbac = f_TS ; - mfbbb = f_ZERO; - mfccc = f_TNE ; - mfaac = f_TSW ; - mfcac = f_TSE ; - mfacc = f_TNW ; - mfcca = f_BNE ; - mfaaa = f_BSW ; - mfcaa = f_BSE ; - mfaca = f_BNW ; - //////////////////////////////////////////////////////////////////////////////////// - drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + - (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) + - ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb; - - rho = c1o1+drho; - //////////////////////////////////////////////////////////////////////////////////// - vvx =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + - (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) + - (mfcbb-mfabb)) / rho; - vvy =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + - (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) + - (mfbcb-mfbab)) / rho; - vvz =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + - (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) + - (mfbbc-mfbba)) / rho; - //////////////////////////////////////////////////////////////////////////////////// - //fast - oMdrho = c1o1; // comp special - vx2=vvx*vvx; - vy2=vvy*vvy; - vz2=vvz*vvz; - //////////////////////////////////////////////////////////////////////////////////// - //Hin - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m2 = mfaaa + mfaac; - m1 = mfaac - mfaaa; - m0 = m2 + mfaab; - mfaaa = m0; - m0 += c1o36 * oMdrho; - mfaab = m1 - m0 * vvz; - mfaac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfabc; - m1 = mfabc - mfaba; - m0 = m2 + mfabb; - mfaba = m0; - m0 += c1o9 * oMdrho; - mfabb = m1 - m0 * vvz; - mfabc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfacc; - m1 = mfacc - mfaca; - m0 = m2 + mfacb; - mfaca = m0; - m0 += c1o36 * oMdrho; - mfacb = m1 - m0 * vvz; - mfacc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbac; - m1 = mfbac - mfbaa; - m0 = m2 + mfbab; - mfbaa = m0; - m0 += c1o9 * oMdrho; - mfbab = m1 - m0 * vvz; - mfbac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbba + mfbbc; - m1 = mfbbc - mfbba; - m0 = m2 + mfbbb; - mfbba = m0; - m0 += c4o9 * oMdrho; - mfbbb = m1 - m0 * vvz; - mfbbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbca + mfbcc; - m1 = mfbcc - mfbca; - m0 = m2 + mfbcb; - mfbca = m0; - m0 += c1o9 * oMdrho; - mfbcb = m1 - m0 * vvz; - mfbcc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcac; - m1 = mfcac - mfcaa; - m0 = m2 + mfcab; - mfcaa = m0; - m0 += c1o36 * oMdrho; - mfcab = m1 - m0 * vvz; - mfcac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcba + mfcbc; - m1 = mfcbc - mfcba; - m0 = m2 + mfcbb; - mfcba = m0; - m0 += c1o9 * oMdrho; - mfcbb = m1 - m0 * vvz; - mfcbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcca + mfccc; - m1 = mfccc - mfcca; - m0 = m2 + mfccb; - mfcca = m0; - m0 += c1o36 * oMdrho; - mfccb = m1 - m0 * vvz; - mfccc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m2 = mfaaa + mfaca; - m1 = mfaca - mfaaa; - m0 = m2 + mfaba; - mfaaa = m0; - m0 += c1o6 * oMdrho; - mfaba = m1 - m0 * vvy; - mfaca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfacb; - m1 = mfacb - mfaab; - m0 = m2 + mfabb; - mfaab = m0; - mfabb = m1 - m0 * vvy; - mfacb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfacc; - m1 = mfacc - mfaac; - m0 = m2 + mfabc; - mfaac = m0; - m0 += c1o18 * oMdrho; - mfabc = m1 - m0 * vvy; - mfacc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbca; - m1 = mfbca - mfbaa; - m0 = m2 + mfbba; - mfbaa = m0; - m0 += c2o3 * oMdrho; - mfbba = m1 - m0 * vvy; - mfbca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbab + mfbcb; - m1 = mfbcb - mfbab; - m0 = m2 + mfbbb; - mfbab = m0; - mfbbb = m1 - m0 * vvy; - mfbcb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbac + mfbcc; - m1 = mfbcc - mfbac; - m0 = m2 + mfbbc; - mfbac = m0; - m0 += c2o9 * oMdrho; - mfbbc = m1 - m0 * vvy; - mfbcc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcca; - m1 = mfcca - mfcaa; - m0 = m2 + mfcba; - mfcaa = m0; - m0 += c1o6 * oMdrho; - mfcba = m1 - m0 * vvy; - mfcca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcab + mfccb; - m1 = mfccb - mfcab; - m0 = m2 + mfcbb; - mfcab = m0; - mfcbb = m1 - m0 * vvy; - mfccb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcac + mfccc; - m1 = mfccc - mfcac; - m0 = m2 + mfcbc; - mfcac = m0; - m0 += c1o18 * oMdrho; - mfcbc = m1 - m0 * vvy; - mfccc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m2 = mfaaa + mfcaa; - m1 = mfcaa - mfaaa; - m0 = m2 + mfbaa; - mfaaa = m0; - m0 += c1o1* oMdrho; - mfbaa = m1 - m0 * vvx; - mfcaa = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfcba; - m1 = mfcba - mfaba; - m0 = m2 + mfbba; - mfaba = m0; - mfbba = m1 - m0 * vvx; - mfcba = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfcca; - m1 = mfcca - mfaca; - m0 = m2 + mfbca; - mfaca = m0; - m0 += c1o3 * oMdrho; - mfbca = m1 - m0 * vvx; - mfcca = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfcab; - m1 = mfcab - mfaab; - m0 = m2 + mfbab; - mfaab = m0; - mfbab = m1 - m0 * vvx; - mfcab = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabb + mfcbb; - m1 = mfcbb - mfabb; - m0 = m2 + mfbbb; - mfabb = m0; - mfbbb = m1 - m0 * vvx; - mfcbb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacb + mfccb; - m1 = mfccb - mfacb; - m0 = m2 + mfbcb; - mfacb = m0; - mfbcb = m1 - m0 * vvx; - mfccb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfcac; - m1 = mfcac - mfaac; - m0 = m2 + mfbac; - mfaac = m0; - m0 += c1o3 * oMdrho; - mfbac = m1 - m0 * vvx; - mfcac = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabc + mfcbc; - m1 = mfcbc - mfabc; - m0 = m2 + mfbbc; - mfabc = m0; - mfbbc = m1 - m0 * vvx; - mfcbc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacc + mfccc; - m1 = mfccc - mfacc; - m0 = m2 + mfbcc; - mfacc = m0; - m0 += c1o9 * oMdrho; - mfbcc = m1 - m0 * vvx; - mfccc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - // linear combinations - - mxxyPyzz = mfcba + mfabc; - mxxyMyzz = mfcba - mfabc; - - mxxzPyyz = mfcab + mfacb; - mxxzMyyz = mfcab - mfacb; - - mxyyPxzz = mfbca + mfbac; - mxyyMxzz = mfbca - mfbac; - - - ////////////////////////////////////////////////////////////////////////// - //exclusive for this source node - real mfbbb_NET = mfbbb; - real mxxyPyzz_NET = mxxyPyzz; - real mxxyMyzz_NET = mxxyMyzz; - real mxxzPyyz_NET = mxxzPyyz; - real mxxzMyyz_NET = mxxzMyyz; - real mxyyPxzz_NET = mxyyPxzz; - real mxyyMxzz_NET = mxyyMxzz; - ////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ////////////////////////////////////////////////////////////////////////// - //NEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - drho_NEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_NEB = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NEB); - vx2_NEB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NEB); - vx3_NEB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NEB); - - kxyFromfcNEQ_NEB = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx2_NEB))); - kyzFromfcNEQ_NEB = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NEB) - ((vx2_NEB*vx3_NEB))); - kxzFromfcNEQ_NEB = -c3o1*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx3_NEB))); - kxxMyyFromfcNEQ_NEB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx1_NEB-vx2_NEB*vx2_NEB))); - kxxMzzFromfcNEQ_NEB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx1_NEB-vx3_NEB*vx3_NEB))); - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - mfcbb = f_E ; - mfabb = f_W ; - mfbcb = f_N ; - mfbab = f_S ; - mfbbc = f_T ; - mfbba = f_B ; - mfccb = f_NE ; - mfaab = f_SW ; - mfcab = f_SE ; - mfacb = f_NW ; - mfcbc = f_TE ; - mfaba = f_BW ; - mfcba = f_BE ; - mfabc = f_TW ; - mfbcc = f_TN ; - mfbaa = f_BS ; - mfbca = f_BN ; - mfbac = f_TS ; - mfbbb = f_ZERO; - mfccc = f_TNE ; - mfaac = f_TSW ; - mfcac = f_TSE ; - mfacc = f_TNW ; - mfcca = f_BNE ; - mfaaa = f_BSW ; - mfcaa = f_BSE ; - mfaca = f_BNW ; - //////////////////////////////////////////////////////////////////////////////////// - drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + - (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) + - ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb; - - rho = c1o1+drho; - //////////////////////////////////////////////////////////////////////////////////// - vvx =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + - (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) + - (mfcbb-mfabb)) / rho; - vvy =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + - (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) + - (mfbcb-mfbab)) / rho; - vvz =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + - (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) + - (mfbbc-mfbba)) / rho; - //////////////////////////////////////////////////////////////////////////////////// - //fast - oMdrho = c1o1; // comp special - vx2=vvx*vvx; - vy2=vvy*vvy; - vz2=vvz*vvz; - //////////////////////////////////////////////////////////////////////////////////// - //Hin - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m2 = mfaaa + mfaac; - m1 = mfaac - mfaaa; - m0 = m2 + mfaab; - mfaaa = m0; - m0 += c1o36 * oMdrho; - mfaab = m1 - m0 * vvz; - mfaac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfabc; - m1 = mfabc - mfaba; - m0 = m2 + mfabb; - mfaba = m0; - m0 += c1o9 * oMdrho; - mfabb = m1 - m0 * vvz; - mfabc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfacc; - m1 = mfacc - mfaca; - m0 = m2 + mfacb; - mfaca = m0; - m0 += c1o36 * oMdrho; - mfacb = m1 - m0 * vvz; - mfacc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbac; - m1 = mfbac - mfbaa; - m0 = m2 + mfbab; - mfbaa = m0; - m0 += c1o9 * oMdrho; - mfbab = m1 - m0 * vvz; - mfbac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbba + mfbbc; - m1 = mfbbc - mfbba; - m0 = m2 + mfbbb; - mfbba = m0; - m0 += c4o9 * oMdrho; - mfbbb = m1 - m0 * vvz; - mfbbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbca + mfbcc; - m1 = mfbcc - mfbca; - m0 = m2 + mfbcb; - mfbca = m0; - m0 += c1o9 * oMdrho; - mfbcb = m1 - m0 * vvz; - mfbcc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcac; - m1 = mfcac - mfcaa; - m0 = m2 + mfcab; - mfcaa = m0; - m0 += c1o36 * oMdrho; - mfcab = m1 - m0 * vvz; - mfcac = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcba + mfcbc; - m1 = mfcbc - mfcba; - m0 = m2 + mfcbb; - mfcba = m0; - m0 += c1o9 * oMdrho; - mfcbb = m1 - m0 * vvz; - mfcbc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcca + mfccc; - m1 = mfccc - mfcca; - m0 = m2 + mfccb; - mfcca = m0; - m0 += c1o36 * oMdrho; - mfccb = m1 - m0 * vvz; - mfccc = m2 - c2o1* m1 * vvz + vz2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m2 = mfaaa + mfaca; - m1 = mfaca - mfaaa; - m0 = m2 + mfaba; - mfaaa = m0; - m0 += c1o6 * oMdrho; - mfaba = m1 - m0 * vvy; - mfaca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfacb; - m1 = mfacb - mfaab; - m0 = m2 + mfabb; - mfaab = m0; - mfabb = m1 - m0 * vvy; - mfacb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfacc; - m1 = mfacc - mfaac; - m0 = m2 + mfabc; - mfaac = m0; - m0 += c1o18 * oMdrho; - mfabc = m1 - m0 * vvy; - mfacc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbaa + mfbca; - m1 = mfbca - mfbaa; - m0 = m2 + mfbba; - mfbaa = m0; - m0 += c2o3 * oMdrho; - mfbba = m1 - m0 * vvy; - mfbca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbab + mfbcb; - m1 = mfbcb - mfbab; - m0 = m2 + mfbbb; - mfbab = m0; - mfbbb = m1 - m0 * vvy; - mfbcb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfbac + mfbcc; - m1 = mfbcc - mfbac; - m0 = m2 + mfbbc; - mfbac = m0; - m0 += c2o9 * oMdrho; - mfbbc = m1 - m0 * vvy; - mfbcc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcaa + mfcca; - m1 = mfcca - mfcaa; - m0 = m2 + mfcba; - mfcaa = m0; - m0 += c1o6 * oMdrho; - mfcba = m1 - m0 * vvy; - mfcca = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcab + mfccb; - m1 = mfccb - mfcab; - m0 = m2 + mfcbb; - mfcab = m0; - mfcbb = m1 - m0 * vvy; - mfccb = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfcac + mfccc; - m1 = mfccc - mfcac; - m0 = m2 + mfcbc; - mfcac = m0; - m0 += c1o18 * oMdrho; - mfcbc = m1 - m0 * vvy; - mfccc = m2 - c2o1* m1 * vvy + vy2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m2 = mfaaa + mfcaa; - m1 = mfcaa - mfaaa; - m0 = m2 + mfbaa; - mfaaa = m0; - m0 += c1o1* oMdrho; - mfbaa = m1 - m0 * vvx; - mfcaa = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaba + mfcba; - m1 = mfcba - mfaba; - m0 = m2 + mfbba; - mfaba = m0; - mfbba = m1 - m0 * vvx; - mfcba = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaca + mfcca; - m1 = mfcca - mfaca; - m0 = m2 + mfbca; - mfaca = m0; - m0 += c1o3 * oMdrho; - mfbca = m1 - m0 * vvx; - mfcca = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaab + mfcab; - m1 = mfcab - mfaab; - m0 = m2 + mfbab; - mfaab = m0; - mfbab = m1 - m0 * vvx; - mfcab = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabb + mfcbb; - m1 = mfcbb - mfabb; - m0 = m2 + mfbbb; - mfabb = m0; - mfbbb = m1 - m0 * vvx; - mfcbb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacb + mfccb; - m1 = mfccb - mfacb; - m0 = m2 + mfbcb; - mfacb = m0; - mfbcb = m1 - m0 * vvx; - mfccb = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfaac + mfcac; - m1 = mfcac - mfaac; - m0 = m2 + mfbac; - mfaac = m0; - m0 += c1o3 * oMdrho; - mfbac = m1 - m0 * vvx; - mfcac = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfabc + mfcbc; - m1 = mfcbc - mfabc; - m0 = m2 + mfbbc; - mfabc = m0; - mfbbc = m1 - m0 * vvx; - mfcbc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - m2 = mfacc + mfccc; - m1 = mfccc - mfacc; - m0 = m2 + mfbcc; - mfacc = m0; - m0 += c1o9 * oMdrho; - mfbcc = m1 - m0 * vvx; - mfccc = m2 - c2o1* m1 * vvx + vx2 * m0; - //////////////////////////////////////////////////////////////////////////////////// - // linear combinations - - mxxyPyzz = mfcba + mfabc; - mxxyMyzz = mfcba - mfabc; - - mxxzPyyz = mfcab + mfacb; - mxxzMyyz = mfcab - mfacb; - - mxyyPxzz = mfbca + mfbac; - mxyyMxzz = mfbca - mfbac; - - - ////////////////////////////////////////////////////////////////////////// - //exclusive for this source node - real mfbbb_NEB = mfbbb; - real mxxyPyzz_NEB = mxxyPyzz; - real mxxyMyzz_NEB = mxxyMyzz; - real mxxzPyyz_NEB = mxxzPyyz; - real mxxzMyyz_NEB = mxxzMyyz; - real mxyyPxzz_NEB = mxyyPxzz; - real mxyyMxzz_NEB = mxyyMxzz; - ////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfbbbMean = c1o8 * (mfbbb_SWB + mfbbb_SWT + mfbbb_SET + mfbbb_SEB + mfbbb_NWB + mfbbb_NWT + mfbbb_NET + mfbbb_NEB); - real mxxyPyzzMean = c1o8 * (mxxyPyzz_SWB + mxxyPyzz_SWT + mxxyPyzz_SET + mxxyPyzz_SEB + mxxyPyzz_NWB + mxxyPyzz_NWT + mxxyPyzz_NET + mxxyPyzz_NEB); - real mxxyMyzzMean = c1o8 * (mxxyMyzz_SWB + mxxyMyzz_SWT + mxxyMyzz_SET + mxxyMyzz_SEB + mxxyMyzz_NWB + mxxyMyzz_NWT + mxxyMyzz_NET + mxxyMyzz_NEB); - real mxxzPyyzMean = c1o8 * (mxxzPyyz_SWB + mxxzPyyz_SWT + mxxzPyyz_SET + mxxzPyyz_SEB + mxxzPyyz_NWB + mxxzPyyz_NWT + mxxzPyyz_NET + mxxzPyyz_NEB); - real mxxzMyyzMean = c1o8 * (mxxzMyyz_SWB + mxxzMyyz_SWT + mxxzMyyz_SET + mxxzMyyz_SEB + mxxzMyyz_NWB + mxxzMyyz_NWT + mxxzMyyz_NET + mxxzMyyz_NEB); - real mxyyPxzzMean = c1o8 * (mxyyPxzz_SWB + mxyyPxzz_SWT + mxyyPxzz_SET + mxyyPxzz_SEB + mxyyPxzz_NWB + mxyyPxzz_NWT + mxyyPxzz_NET + mxyyPxzz_NEB); - real mxyyMxzzMean = c1o8 * (mxyyMxzz_SWB + mxyyMxzz_SWT + mxyyMxzz_SET + mxyyMxzz_SEB + mxyyMxzz_NWB + mxyyMxzz_NWT + mxyyMxzz_NET + mxyyMxzz_NEB); - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //kxyFromfcNEQ_SWB = zero; - //kyzFromfcNEQ_SWB = zero; - //kxzFromfcNEQ_SWB = zero; - //kxxMyyFromfcNEQ_SWB = zero; - //kxxMzzFromfcNEQ_SWB = zero; - //kxyFromfcNEQ_SWT = zero; - //kyzFromfcNEQ_SWT = zero; - //kxzFromfcNEQ_SWT = zero; - //kxxMyyFromfcNEQ_SWT = zero; - //kxxMzzFromfcNEQ_SWT = zero; - //kxyFromfcNEQ_SET = zero; - //kyzFromfcNEQ_SET = zero; - //kxzFromfcNEQ_SET = zero; - //kxxMyyFromfcNEQ_SET = zero; - //kxxMzzFromfcNEQ_SET = zero; - //kxyFromfcNEQ_SEB = zero; - //kyzFromfcNEQ_SEB = zero; - //kxzFromfcNEQ_SEB = zero; - //kxxMyyFromfcNEQ_SEB = zero; - //kxxMzzFromfcNEQ_SEB = zero; - //kxyFromfcNEQ_NWB = zero; - //kyzFromfcNEQ_NWB = zero; - //kxzFromfcNEQ_NWB = zero; - //kxxMyyFromfcNEQ_NWB = zero; - //kxxMzzFromfcNEQ_NWB = zero; - //kxyFromfcNEQ_NWT = zero; - //kyzFromfcNEQ_NWT = zero; - //kxzFromfcNEQ_NWT = zero; - //kxxMyyFromfcNEQ_NWT = zero; - //kxxMzzFromfcNEQ_NWT = zero; - //kxyFromfcNEQ_NET = zero; - //kyzFromfcNEQ_NET = zero; - //kxzFromfcNEQ_NET = zero; - //kxxMyyFromfcNEQ_NET = zero; - //kxxMzzFromfcNEQ_NET = zero; - //kxyFromfcNEQ_NEB = zero; - //kyzFromfcNEQ_NEB = zero; - //kxzFromfcNEQ_NEB = zero; - //kxxMyyFromfcNEQ_NEB = zero; - //kxxMzzFromfcNEQ_NEB = zero; - ////////////////////////////////////////////////////////////////////////// - //3 - ////////////////////////////////////////////////////////////////////////// - a0 = (-kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT - - kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - - kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - - c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET - c2o1*kxyFromfcNEQ_NWB - c2o1*kxyFromfcNEQ_NWT + - c2o1*kxyFromfcNEQ_SEB + c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + - c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB - c2o1*kxzFromfcNEQ_NWT + - c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB - c2o1*kxzFromfcNEQ_SWT + - c8o1*vx1_NEB + c8o1*vx1_NET + c8o1*vx1_NWB + c8o1*vx1_NWT + c8o1*vx1_SEB + - c8o1*vx1_SET + c8o1*vx1_SWB + c8o1*vx1_SWT + c2o1*vx2_NEB + c2o1*vx2_NET - - c2o1*vx2_NWB - c2o1*vx2_NWT - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + - c2o1*vx2_SWT - c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - - c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1; - b0 = (c2o1*kxxMyyFromfcNEQ_NEB + c2o1*kxxMyyFromfcNEQ_NET + c2o1*kxxMyyFromfcNEQ_NWB + c2o1*kxxMyyFromfcNEQ_NWT - - c2o1*kxxMyyFromfcNEQ_SEB - c2o1*kxxMyyFromfcNEQ_SET - c2o1*kxxMyyFromfcNEQ_SWB - c2o1*kxxMyyFromfcNEQ_SWT - - kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - - c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET + c2o1*kxyFromfcNEQ_NWB + c2o1*kxyFromfcNEQ_NWT - - c2o1*kxyFromfcNEQ_SEB - c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + - c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET + c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + - c2o1*kyzFromfcNEQ_SEB - c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB - c2o1*kyzFromfcNEQ_SWT + - c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT + - c8o1*vx2_NEB + c8o1*vx2_NET + c8o1*vx2_NWB + c8o1*vx2_NWT + - c8o1*vx2_SEB + c8o1*vx2_SET + c8o1*vx2_SWB + c8o1*vx2_SWT - - c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + - c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1; - c0 = (kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT - - c2o1*kxxMzzFromfcNEQ_NEB + c2o1*kxxMzzFromfcNEQ_NET - c2o1*kxxMzzFromfcNEQ_NWB + c2o1*kxxMzzFromfcNEQ_NWT - - c2o1*kxxMzzFromfcNEQ_SEB + c2o1*kxxMzzFromfcNEQ_SET - c2o1*kxxMzzFromfcNEQ_SWB + c2o1*kxxMzzFromfcNEQ_SWT - - c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB + c2o1*kxzFromfcNEQ_NWT - - c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB + c2o1*kxzFromfcNEQ_SWT - - c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET - c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + - c2o1*kyzFromfcNEQ_SEB + c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB + c2o1*kyzFromfcNEQ_SWT - - c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - - c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT + - c8o1*vx3_NEB + c8o1*vx3_NET + c8o1*vx3_NWB + c8o1*vx3_NWT + - c8o1*vx3_SEB + c8o1*vx3_SET + c8o1*vx3_SWB + c8o1*vx3_SWT)/c64o1; - ax = (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT + vx1_SEB + vx1_SET - vx1_SWB - vx1_SWT)/c4o1; - bx = (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT + vx2_SEB + vx2_SET - vx2_SWB - vx2_SWT)/c4o1; - cx = (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT + vx3_SEB + vx3_SET - vx3_SWB - vx3_SWT)/c4o1; - axx= (kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT + - kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + - c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB - c2o1*vx2_NWT - - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + c2o1*vx2_SWT - - c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - - c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1; - bxx= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET - kxyFromfcNEQ_NWB - kxyFromfcNEQ_NWT + - kxyFromfcNEQ_SEB + kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - - c2o1*vx1_NEB - c2o1*vx1_NET + c2o1*vx1_NWB + c2o1*vx1_NWT + - c2o1*vx1_SEB + c2o1*vx1_SET - c2o1*vx1_SWB - c2o1*vx1_SWT)/c8o1; - cxx= (kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB - kxzFromfcNEQ_NWT + - kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB - kxzFromfcNEQ_SWT + - c2o1*vx1_NEB - c2o1*vx1_NET - c2o1*vx1_NWB + c2o1*vx1_NWT + - c2o1*vx1_SEB - c2o1*vx1_SET - c2o1*vx1_SWB + c2o1*vx1_SWT)/c8o1; - ay = (vx1_NEB + vx1_NET + vx1_NWB + vx1_NWT - vx1_SEB - vx1_SET - vx1_SWB - vx1_SWT)/c4o1; - by = (vx2_NEB + vx2_NET + vx2_NWB + vx2_NWT - vx2_SEB - vx2_SET - vx2_SWB - vx2_SWT)/c4o1; - cy = (vx3_NEB + vx3_NET + vx3_NWB + vx3_NWT - vx3_SEB - vx3_SET - vx3_SWB - vx3_SWT)/c4o1; - ayy= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET + kxyFromfcNEQ_NWB + kxyFromfcNEQ_NWT - - kxyFromfcNEQ_SEB - kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - - c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB + c2o1*vx2_NWT + - c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB - c2o1*vx2_SWT)/c8o1; - byy= (-c2o1*kxxMyyFromfcNEQ_NEB - c2o1*kxxMyyFromfcNEQ_NET - c2o1*kxxMyyFromfcNEQ_NWB - c2o1*kxxMyyFromfcNEQ_NWT + - c2o1*kxxMyyFromfcNEQ_SEB + c2o1*kxxMyyFromfcNEQ_SET + c2o1*kxxMyyFromfcNEQ_SWB + c2o1*kxxMyyFromfcNEQ_SWT + - kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - - kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + - c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT - - c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + - c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1; - cyy= (kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET + kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - - kyzFromfcNEQ_SEB - kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB - kyzFromfcNEQ_SWT + - c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB - c2o1*vx2_NWT - - c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB + c2o1*vx2_SWT)/c8o1; - az = (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT - vx1_SEB + vx1_SET - vx1_SWB + vx1_SWT)/c4o1; - bz = (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT - vx2_SEB + vx2_SET - vx2_SWB + vx2_SWT)/c4o1; - cz = (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT - vx3_SEB + vx3_SET - vx3_SWB + vx3_SWT)/c4o1; - azz= (-kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB + kxzFromfcNEQ_NWT - - kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB + kxzFromfcNEQ_SWT + - c2o1*vx3_NEB - c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + - c2o1*vx3_SEB - c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1; - bzz= (-kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET - kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - - kyzFromfcNEQ_SEB + kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB + kyzFromfcNEQ_SWT + - c2o1*vx3_NEB - c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - - c2o1*vx3_SEB + c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1; - czz= (-kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT + - c2o1*kxxMzzFromfcNEQ_NEB - c2o1*kxxMzzFromfcNEQ_NET + c2o1*kxxMzzFromfcNEQ_NWB - c2o1*kxxMzzFromfcNEQ_NWT + - c2o1*kxxMzzFromfcNEQ_SEB - c2o1*kxxMzzFromfcNEQ_SET + c2o1*kxxMzzFromfcNEQ_SWB - c2o1*kxxMzzFromfcNEQ_SWT - - c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - - c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT)/c16o1; - axy= (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT - vx1_SEB - vx1_SET + vx1_SWB + vx1_SWT)/c2o1; - bxy= (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT - vx2_SEB - vx2_SET + vx2_SWB + vx2_SWT)/c2o1; - cxy= (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT - vx3_SEB - vx3_SET + vx3_SWB + vx3_SWT)/c2o1; - axz= (-vx1_NEB + vx1_NET + vx1_NWB - vx1_NWT - vx1_SEB + vx1_SET + vx1_SWB - vx1_SWT)/c2o1; - bxz= (-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT - vx2_SEB + vx2_SET + vx2_SWB - vx2_SWT)/c2o1; - cxz= (-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT - vx3_SEB + vx3_SET + vx3_SWB - vx3_SWT)/c2o1; - ayz= (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT + vx1_SEB - vx1_SET + vx1_SWB - vx1_SWT)/c2o1; - byz= (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT + vx2_SEB - vx2_SET + vx2_SWB - vx2_SWT)/c2o1; - cyz= (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT + vx3_SEB - vx3_SET + vx3_SWB - vx3_SWT)/c2o1; - //axyz=-vx1_NEB + vx1_NET + vx1_NWB - vx1_NWT + vx1_SEB - vx1_SET - vx1_SWB + vx1_SWT; - //bxyz=-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT + vx2_SEB - vx2_SET - vx2_SWB + vx2_SWT; - //cxyz=-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT + vx3_SEB - vx3_SET - vx3_SWB + vx3_SWT; - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real kxyAverage = c0o1; - real kyzAverage = c0o1; - real kxzAverage = c0o1; - real kxxMyyAverage = c0o1; - real kxxMzzAverage = c0o1; - //real kxyAverage =(kxyFromfcNEQ_SWB+ - // kxyFromfcNEQ_SWT+ - // kxyFromfcNEQ_SET+ - // kxyFromfcNEQ_SEB+ - // kxyFromfcNEQ_NWB+ - // kxyFromfcNEQ_NWT+ - // kxyFromfcNEQ_NET+ - // kxyFromfcNEQ_NEB)*c1o8-(ay+bx); - //real kyzAverage =(kyzFromfcNEQ_SWB+ - // kyzFromfcNEQ_SWT+ - // kyzFromfcNEQ_SET+ - // kyzFromfcNEQ_SEB+ - // kyzFromfcNEQ_NWB+ - // kyzFromfcNEQ_NWT+ - // kyzFromfcNEQ_NET+ - // kyzFromfcNEQ_NEB)*c1o8-(bz+cy); - //real kxzAverage =(kxzFromfcNEQ_SWB+ - // kxzFromfcNEQ_SWT+ - // kxzFromfcNEQ_SET+ - // kxzFromfcNEQ_SEB+ - // kxzFromfcNEQ_NWB+ - // kxzFromfcNEQ_NWT+ - // kxzFromfcNEQ_NET+ - // kxzFromfcNEQ_NEB)*c1o8-(az+cx); - //real kxxMyyAverage =(kxxMyyFromfcNEQ_SWB+ - // kxxMyyFromfcNEQ_SWT+ - // kxxMyyFromfcNEQ_SET+ - // kxxMyyFromfcNEQ_SEB+ - // kxxMyyFromfcNEQ_NWB+ - // kxxMyyFromfcNEQ_NWT+ - // kxxMyyFromfcNEQ_NET+ - // kxxMyyFromfcNEQ_NEB)*c1o8-(ax-by); - //real kxxMzzAverage =(kxxMzzFromfcNEQ_SWB+ - // kxxMzzFromfcNEQ_SWT+ - // kxxMzzFromfcNEQ_SET+ - // kxxMzzFromfcNEQ_SEB+ - // kxxMzzFromfcNEQ_NWB+ - // kxxMzzFromfcNEQ_NWT+ - // kxxMzzFromfcNEQ_NET+ - // kxxMzzFromfcNEQ_NEB)*c1o8-(ax-cz); - - - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - ////Press - //d0 = ( press_NEB + press_NET + press_NWB + press_NWT + press_SEB + press_SET + press_SWB + press_SWT) * c1o8; - //dx = ( press_NEB + press_NET - press_NWB - press_NWT + press_SEB + press_SET - press_SWB - press_SWT) * c1o4; - //dy = ( press_NEB + press_NET + press_NWB + press_NWT - press_SEB - press_SET - press_SWB - press_SWT) * c1o4; - //dz = (-press_NEB + press_NET - press_NWB + press_NWT - press_SEB + press_SET - press_SWB + press_SWT) * c1o4; - //dxy = ( press_NEB + press_NET - press_NWB - press_NWT - press_SEB - press_SET + press_SWB + press_SWT) * c1o2; - //dxz = (-press_NEB + press_NET + press_NWB - press_NWT - press_SEB + press_SET + press_SWB - press_SWT) * c1o2; - //dyz = (-press_NEB + press_NET - press_NWB + press_NWT + press_SEB - press_SET + press_SWB - press_SWT) * c1o2; - //dxyz = -press_NEB + press_NET + press_NWB - press_NWT + press_SEB - press_SET - press_SWB + press_SWT; - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho - real LapRho = ((xoff != c0o1) || (yoff != c0o1) || (zoff != c0o1)) ? c0o1 : -c3o1*(ax*ax + by*by + cz*cz) - c6o1 * (bx*ay + cx*az + cy*bz); - d0 = ( drho_NEB + drho_NET + drho_NWB + drho_NWT + drho_SEB + drho_SET + drho_SWB + drho_SWT - c2o1*LapRho) * c1o8; - dx = ( drho_NEB + drho_NET - drho_NWB - drho_NWT + drho_SEB + drho_SET - drho_SWB - drho_SWT) * c1o4; - dy = ( drho_NEB + drho_NET + drho_NWB + drho_NWT - drho_SEB - drho_SET - drho_SWB - drho_SWT) * c1o4; - dz = (-drho_NEB + drho_NET - drho_NWB + drho_NWT - drho_SEB + drho_SET - drho_SWB + drho_SWT) * c1o4; - dxy = ( drho_NEB + drho_NET - drho_NWB - drho_NWT - drho_SEB - drho_SET + drho_SWB + drho_SWT) * c1o2; - dxz = (-drho_NEB + drho_NET + drho_NWB - drho_NWT - drho_SEB + drho_SET + drho_SWB - drho_SWT) * c1o2; - dyz = (-drho_NEB + drho_NET - drho_NWB + drho_NWT + drho_SEB - drho_SET + drho_SWB - drho_SWT) * c1o2; - //dxyz = -drho_NEB + drho_NET + drho_NWB - drho_NWT + drho_SEB - drho_SET - drho_SWB + drho_SWT; - //d0 = zero; - //dx = zero; - //dy = zero; - //dz = zero; - //dxy = zero; - //dxz = zero; - //dyz = zero; - //dxyz = zero; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - // Bernd das Brot - // - // - // x------x - // | | - // | ---+--->X - // | | \ - // x------x \ - // off-vector - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - a0 = a0 + xoff * ax + yoff * ay + zoff * az + xoff_sq * axx + yoff_sq * ayy + zoff_sq * azz + xoff*yoff*axy + xoff*zoff*axz + yoff*zoff*ayz; - ax = ax + c2o1 * xoff * axx + yoff * axy + zoff * axz; - ay = ay + c2o1 * yoff * ayy + xoff * axy + zoff * ayz; - az = az + c2o1 * zoff * azz + xoff * axz + yoff * ayz; - b0 = b0 + xoff * bx + yoff * by + zoff * bz + xoff_sq * bxx + yoff_sq * byy + zoff_sq * bzz + xoff*yoff*bxy + xoff*zoff*bxz + yoff*zoff*byz; - bx = bx + c2o1 * xoff * bxx + yoff * bxy + zoff * bxz; - by = by + c2o1 * yoff * byy + xoff * bxy + zoff * byz; - bz = bz + c2o1 * zoff * bzz + xoff * bxz + yoff * byz; - c0 = c0 + xoff * cx + yoff * cy + zoff * cz + xoff_sq * cxx + yoff_sq * cyy + zoff_sq * czz + xoff*yoff*cxy + xoff*zoff*cxz + yoff*zoff*cyz; - cx = cx + c2o1 * xoff * cxx + yoff * cxy + zoff * cxz; - cy = cy + c2o1 * yoff * cyy + xoff * cxy + zoff * cyz; - cz = cz + c2o1 * zoff * czz + xoff * cxz + yoff * cyz; - d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // FIX /////////////////////////////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //AAAAAAAAAAAAHHHHHHHHHHHH!!!!! Mieser Test!!! - //b0= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz= c0= cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero; - //b0=zero; - //bx=zero; - //by=zero; - //bz=zero; - //bxx=zero; - //byy=zero; - //bzz=zero; - //bxy=zero; - //bxz=zero; - //byz=zero; - //c0=zero; - //cx=zero; - //cy=zero; - //cz=zero; - //cxx=zero; - //cyy=zero; - //czz=zero; - //cxy=zero; - //cxz=zero; - //cyz=zero; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - mfcbb = c0o1; - mfabb = c0o1; - mfbcb = c0o1; - mfbab = c0o1; - mfbbc = c0o1; - mfbba = c0o1; - mfccb = c0o1; - mfaab = c0o1; - mfcab = c0o1; - mfacb = c0o1; - mfcbc = c0o1; - mfaba = c0o1; - mfcba = c0o1; - mfabc = c0o1; - mfbcc = c0o1; - mfbaa = c0o1; - mfbca = c0o1; - mfbac = c0o1; - mfbbb = c0o1; - mfccc = c0o1; - mfaac = c0o1; - mfcac = c0o1; - mfacc = c0o1; - mfcca = c0o1; - mfaaa = c0o1; - mfcaa = c0o1; - mfaca = c0o1; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //real m0, m1, m2, vvx, vvy, vvz, vx2, vy2, vz2, oMdrho; - //real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz; - //real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein - //real O3 = two - o; - //real residu, residutmp; - //residutmp = zero;///*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new; - //real NeqOn = one;//zero;//one; //.... one = on ..... zero = off - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position C 0., 0., 0. - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //x = 0.; - //y = 0.; - //z = 0.; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //real mxoff = -xoff; - //real myoff = -yoff; - //real mzoff = -zoff; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //press = press_NET * (c1o8 - c1o4 * mxoff - c1o4 * myoff - c1o4 * mzoff) + - // press_NWT * (c1o8 + c1o4 * mxoff - c1o4 * myoff - c1o4 * mzoff) + - // press_SET * (c1o8 - c1o4 * mxoff + c1o4 * myoff - c1o4 * mzoff) + - // press_SWT * (c1o8 + c1o4 * mxoff + c1o4 * myoff - c1o4 * mzoff) + - // press_NEB * (c1o8 - c1o4 * mxoff - c1o4 * myoff + c1o4 * mzoff) + - // press_NWB * (c1o8 + c1o4 * mxoff - c1o4 * myoff + c1o4 * mzoff) + - // press_SEB * (c1o8 - c1o4 * mxoff + c1o4 * myoff + c1o4 * mzoff) + - // press_SWB * (c1o8 + c1o4 * mxoff + c1o4 * myoff + c1o4 * mzoff); - //drho = drho_NET * (c1o8 - c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + - // drho_NWT * (c1o8 + c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + - // drho_SET * (c1o8 - c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + - // drho_SWT * (c1o8 + c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + - // drho_NEB * (c1o8 - c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + - // drho_NWB * (c1o8 + c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + - // drho_SEB * (c1o8 - c1o4 * xoff + c1o4 * yoff + c1o4 * zoff) + - // drho_SWB * (c1o8 + c1o4 * xoff + c1o4 * yoff + c1o4 * zoff); - press = d0; - vvx = a0; - vvy = b0; - vvz = c0; - - //mfaaa = drho; - //mfaaa = press + (ax+by+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //two - // linear combinations - mxxPyyPzz = mfaaa; - //mxxMyy = -c2o3*(ax - by)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy)*eps_new/o; - //mfbab = -c1o3 * (az + cx)*eps_new/o; - //mfbba = -c1o3 * (ay + bx)*eps_new/o; - mxxMyy = -c2o3*((ax - by)+kxxMyyAverage)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*((ax - cz)+kxxMzzAverage)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * ((bz + cy)+kyzAverage)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * ((az + cx)+kxzAverage)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * ((ay + bx)+kxyAverage)*eps_new/o * (c1o1 + press); - - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //3. - // linear combinations - mfbbb = c1o2 * (( omCoarse + c12o1)*(-omFine + c2o1)) / (( omFine + c12o1)*(-omCoarse + c2o1)) * mfbbbMean; - mxxyPyzz = c1o2 * ((-omCoarse + c3o1 )*(-omFine + c2o1)) / ((-omFine + c3o1 )*(-omCoarse + c2o1)) * mxxyPyzzMean; - mxxyMyzz = c1o2 * ((-omCoarse + c6o1 )*(-omFine + c2o1)) / ((-omFine + c6o1 )*(-omCoarse + c2o1)) * mxxyMyzzMean; - mxxzPyyz = c1o2 * ((-omCoarse + c3o1 )*(-omFine + c2o1)) / ((-omFine + c3o1 )*(-omCoarse + c2o1)) * mxxzPyyzMean; - mxxzMyyz = c1o2 * ((-omCoarse + c6o1 )*(-omFine + c2o1)) / ((-omFine + c6o1 )*(-omCoarse + c2o1)) * mxxzMyyzMean; - mxyyPxzz = c1o2 * ((-omCoarse + c3o1 )*(-omFine + c2o1)) / ((-omFine + c3o1 )*(-omCoarse + c2o1)) * mxyyPxzzMean; - mxyyMxzz = c1o2 * ((-omCoarse + c6o1 )*(-omFine + c2o1)) / ((-omFine + c6o1 )*(-omCoarse + c2o1)) * mxyyMxzzMean; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4. - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - //index 0 - kzero= posC[k]; - kw = neighborCX[kzero]; - ks = neighborCY[kzero]; - kb = neighborCZ[kzero]; - ksw = neighborCY[kw]; - kbw = neighborCZ[kw]; - kbs = neighborCZ[ks]; - kbsw = neighborCZ[ksw]; - //////////////////////////////////////////////////////////////////////////////////// - - - //////////////////////////////////////////////////////////////////////////////////// - feC[kzero] = mfcbb; - fwC[kw] = mfabb; - fnC[kzero] = mfbcb; - fsC[ks] = mfbab; - ftC[kzero] = mfbbc; - fbC[kb] = mfbba; - fneC[kzero] = mfccb; - fswC[ksw] = mfaab; - fseC[ks] = mfcab; - fnwC[kw] = mfacb; - fteC[kzero] = mfcbc; - fbwC[kbw] = mfaba; - fbeC[kb] = mfcba; - ftwC[kw] = mfabc; - ftnC[kzero] = mfbcc; - fbsC[kbs] = mfbaa; - fbnC[kb] = mfbca; - ftsC[ks] = mfbac; - fzeroC[kzero] = mfbbb; - ftneC[kzero] = mfccc; - ftseC[ks] = mfcac; - fbneC[kb] = mfcca; - fbseC[kbs] = mfcaa; - ftnwC[kw] = mfacc; - ftswC[ksw] = mfaac; - fbnwC[kbw] = mfaca; - fbswC[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - } -} -////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -////////////////////////////////////////////////////////////////////////// -__device__ void scaleFC_RhoSq_comp_27_Calculation( - real *DC, real *DF, - unsigned int *neighborCX, - unsigned int *neighborCY, - unsigned int *neighborCZ, - unsigned int *neighborFX, - unsigned int *neighborFY, - unsigned int *neighborFZ, - unsigned long long numberOfLBnodesCoarse, - unsigned long long numberOfLBnodesFine, - bool isEvenTimestep, - unsigned int *posC, - unsigned int *posFSWB, - unsigned int kFC, - real omCoarse, - real omFine, - real nu, - unsigned int nxC, - unsigned int nyC, - unsigned int nxF, - unsigned int nyF, - ICellNeigh offFC, - const unsigned k) -{ - real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, - *fbnF, *ftsF, *fzeroF, *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - - feF = &DF[dP00 * numberOfLBnodesFine]; - fwF = &DF[dM00 * numberOfLBnodesFine]; - fnF = &DF[d0P0 * numberOfLBnodesFine]; - fsF = &DF[d0M0 * numberOfLBnodesFine]; - ftF = &DF[d00P * numberOfLBnodesFine]; - fbF = &DF[d00M * numberOfLBnodesFine]; - fneF = &DF[dPP0 * numberOfLBnodesFine]; - fswF = &DF[dMM0 * numberOfLBnodesFine]; - fseF = &DF[dPM0 * numberOfLBnodesFine]; - fnwF = &DF[dMP0 * numberOfLBnodesFine]; - fteF = &DF[dP0P * numberOfLBnodesFine]; - fbwF = &DF[dM0M * numberOfLBnodesFine]; - fbeF = &DF[dP0M * numberOfLBnodesFine]; - ftwF = &DF[dM0P * numberOfLBnodesFine]; - ftnF = &DF[d0PP * numberOfLBnodesFine]; - fbsF = &DF[d0MM * numberOfLBnodesFine]; - fbnF = &DF[d0PM * numberOfLBnodesFine]; - ftsF = &DF[d0MP * numberOfLBnodesFine]; - fzeroF = &DF[d000 * numberOfLBnodesFine]; - ftneF = &DF[dPPP * numberOfLBnodesFine]; - ftswF = &DF[dMMP * numberOfLBnodesFine]; - ftseF = &DF[dPMP * numberOfLBnodesFine]; - ftnwF = &DF[dMPP * numberOfLBnodesFine]; - fbneF = &DF[dPPM * numberOfLBnodesFine]; - fbswF = &DF[dMMM * numberOfLBnodesFine]; - fbseF = &DF[dPMM * numberOfLBnodesFine]; - fbnwF = &DF[dMPM * numberOfLBnodesFine]; - - real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, - *fbnC, *ftsC, *fzeroC, *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; - - if (isEvenTimestep == true) { - feC = &DC[dP00 * numberOfLBnodesCoarse]; - fwC = &DC[dM00 * numberOfLBnodesCoarse]; - fnC = &DC[d0P0 * numberOfLBnodesCoarse]; - fsC = &DC[d0M0 * numberOfLBnodesCoarse]; - ftC = &DC[d00P * numberOfLBnodesCoarse]; - fbC = &DC[d00M * numberOfLBnodesCoarse]; - fneC = &DC[dPP0 * numberOfLBnodesCoarse]; - fswC = &DC[dMM0 * numberOfLBnodesCoarse]; - fseC = &DC[dPM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dMP0 * numberOfLBnodesCoarse]; - fteC = &DC[dP0P * numberOfLBnodesCoarse]; - fbwC = &DC[dM0M * numberOfLBnodesCoarse]; - fbeC = &DC[dP0M * numberOfLBnodesCoarse]; - ftwC = &DC[dM0P * numberOfLBnodesCoarse]; - ftnC = &DC[d0PP * numberOfLBnodesCoarse]; - fbsC = &DC[d0MM * numberOfLBnodesCoarse]; - fbnC = &DC[d0PM * numberOfLBnodesCoarse]; - ftsC = &DC[d0MP * numberOfLBnodesCoarse]; - fzeroC = &DC[d000 * numberOfLBnodesCoarse]; - ftneC = &DC[dPPP * numberOfLBnodesCoarse]; - ftswC = &DC[dMMP * numberOfLBnodesCoarse]; - ftseC = &DC[dPMP * numberOfLBnodesCoarse]; - ftnwC = &DC[dMPP * numberOfLBnodesCoarse]; - fbneC = &DC[dPPM * numberOfLBnodesCoarse]; - fbswC = &DC[dMMM * numberOfLBnodesCoarse]; - fbseC = &DC[dPMM * numberOfLBnodesCoarse]; - fbnwC = &DC[dMPM * numberOfLBnodesCoarse]; - } else { - fwC = &DC[dP00 * numberOfLBnodesCoarse]; - feC = &DC[dM00 * numberOfLBnodesCoarse]; - fsC = &DC[d0P0 * numberOfLBnodesCoarse]; - fnC = &DC[d0M0 * numberOfLBnodesCoarse]; - fbC = &DC[d00P * numberOfLBnodesCoarse]; - ftC = &DC[d00M * numberOfLBnodesCoarse]; - fswC = &DC[dPP0 * numberOfLBnodesCoarse]; - fneC = &DC[dMM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dPM0 * numberOfLBnodesCoarse]; - fseC = &DC[dMP0 * numberOfLBnodesCoarse]; - fbwC = &DC[dP0P * numberOfLBnodesCoarse]; - fteC = &DC[dM0M * numberOfLBnodesCoarse]; - ftwC = &DC[dP0M * numberOfLBnodesCoarse]; - fbeC = &DC[dM0P * numberOfLBnodesCoarse]; - fbsC = &DC[d0PP * numberOfLBnodesCoarse]; - ftnC = &DC[d0MM * numberOfLBnodesCoarse]; - ftsC = &DC[d0PM * numberOfLBnodesCoarse]; - fbnC = &DC[d0MP * numberOfLBnodesCoarse]; - fzeroC = &DC[d000 * numberOfLBnodesCoarse]; - fbswC = &DC[dPPP * numberOfLBnodesCoarse]; - fbneC = &DC[dMMP * numberOfLBnodesCoarse]; - fbnwC = &DC[dPMP * numberOfLBnodesCoarse]; - fbseC = &DC[dMPP * numberOfLBnodesCoarse]; - ftswC = &DC[dPPM * numberOfLBnodesCoarse]; - ftneC = &DC[dMMM * numberOfLBnodesCoarse]; - ftnwC = &DC[dPMM * numberOfLBnodesCoarse]; - ftseC = &DC[dMPM * numberOfLBnodesCoarse]; - } - - //////////////////////////////////////////////////////////////////////////////// - real eps_new = c2o1; - real omegaS = omFine; //-omFine; - real o = omCoarse; //-omCoarse; - // real op = one; - // real cu_sq; - - real xoff, yoff, zoff; - real xoff_sq, yoff_sq, zoff_sq; - - real press; //,drho,vx1,vx2,vx3; - real /*press_SWT,*/ drho_SWT, vx1_SWT, vx2_SWT, vx3_SWT; - real /*press_NWT,*/ drho_NWT, vx1_NWT, vx2_NWT, vx3_NWT; - real /*press_NET,*/ drho_NET, vx1_NET, vx2_NET, vx3_NET; - real /*press_SET,*/ drho_SET, vx1_SET, vx2_SET, vx3_SET; - real /*press_SWB,*/ drho_SWB, vx1_SWB, vx2_SWB, vx3_SWB; - real /*press_NWB,*/ drho_NWB, vx1_NWB, vx2_NWB, vx3_NWB; - real /*press_NEB,*/ drho_NEB, vx1_NEB, vx2_NEB, vx3_NEB; - real /*press_SEB,*/ drho_SEB, vx1_SEB, vx2_SEB, vx3_SEB; - real f_E, f_W, f_N, f_S, f_T, f_B, f_NE, f_SW, f_SE, f_NW, f_TE, f_BW, f_BE, f_TW, f_TN, f_BS, f_BN, f_TS, f_ZERO, - f_TNE, f_TSW, f_TSE, f_TNW, f_BNE, f_BSW, f_BSE, f_BNW; - // real - // feq_E,feq_W,feq_N,feq_S,feq_T,feq_B,feq_NE,feq_SW,feq_SE,feq_NW,feq_TE,feq_BW,feq_BE,feq_TW,feq_TN,feq_BS,feq_BN,feq_TS,feq_ZERO,feq_TNE, - // feq_TSW, feq_TSE, feq_TNW, feq_BNE, feq_BSW, feq_BSE, feq_BNW; - real kxyFromfcNEQ_SWT, kyzFromfcNEQ_SWT, kxzFromfcNEQ_SWT, kxxMyyFromfcNEQ_SWT, kxxMzzFromfcNEQ_SWT; - real kxyFromfcNEQ_NWT, kyzFromfcNEQ_NWT, kxzFromfcNEQ_NWT, kxxMyyFromfcNEQ_NWT, kxxMzzFromfcNEQ_NWT; - real kxyFromfcNEQ_NET, kyzFromfcNEQ_NET, kxzFromfcNEQ_NET, kxxMyyFromfcNEQ_NET, kxxMzzFromfcNEQ_NET; - real kxyFromfcNEQ_SET, kyzFromfcNEQ_SET, kxzFromfcNEQ_SET, kxxMyyFromfcNEQ_SET, kxxMzzFromfcNEQ_SET; - real kxyFromfcNEQ_SWB, kyzFromfcNEQ_SWB, kxzFromfcNEQ_SWB, kxxMyyFromfcNEQ_SWB, kxxMzzFromfcNEQ_SWB; - real kxyFromfcNEQ_NWB, kyzFromfcNEQ_NWB, kxzFromfcNEQ_NWB, kxxMyyFromfcNEQ_NWB, kxxMzzFromfcNEQ_NWB; - real kxyFromfcNEQ_NEB, kyzFromfcNEQ_NEB, kxzFromfcNEQ_NEB, kxxMyyFromfcNEQ_NEB, kxxMzzFromfcNEQ_NEB; - real kxyFromfcNEQ_SEB, kyzFromfcNEQ_SEB, kxzFromfcNEQ_SEB, kxxMyyFromfcNEQ_SEB, kxxMzzFromfcNEQ_SEB; - real a0, ax, ay, az, axx, ayy, azz, axy, axz, ayz, b0, bx, by, bz, bxx, byy, bzz, bxy, bxz, byz, c0, cx, cy, cz, - cxx, cyy, czz, cxy, cxz, cyz /*, axyz, bxyz, cxyz*/; - real d0, dx, dy, dz, dxy, dxz, dyz /*, dxyz*/; - - if (k < kFC) { - ////////////////////////////////////////////////////////////////////////// - xoff = offFC.x[k]; - yoff = offFC.y[k]; - zoff = offFC.z[k]; - xoff_sq = xoff * xoff; - yoff_sq = yoff * yoff; - zoff_sq = zoff * zoff; - ////////////////////////////////////////////////////////////////////////// - // SWB// - ////////////////////////////////////////////////////////////////////////// - // index 0 - unsigned int k0zero = posFSWB[k]; - unsigned int k0w = neighborFX[k0zero]; - unsigned int k0s = neighborFY[k0zero]; - unsigned int k0b = neighborFZ[k0zero]; - unsigned int k0sw = neighborFY[k0w]; - unsigned int k0bw = neighborFZ[k0w]; - unsigned int k0bs = neighborFZ[k0s]; - unsigned int k0bsw = neighborFZ[k0sw]; - ////////////////////////////////////////////////////////////////////////// - // index - unsigned int kzero = k0zero; - unsigned int kw = k0w; - unsigned int ks = k0s; - unsigned int kb = k0b; - unsigned int ksw = k0sw; - unsigned int kbw = k0bw; - unsigned int kbs = k0bs; - unsigned int kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - drho_SWB = f_E + f_W + f_N + f_S + f_T + f_B + f_NE + f_SW + f_SE + f_NW + f_TE + f_BW + f_BE + f_TW + f_TN + - f_BS + f_BN + f_TS + f_ZERO + f_TNE + f_TSW + f_TSE + f_TNW + f_BNE + f_BSW + f_BSE + f_BNW; - vx1_SWB = (((f_TNE - f_BSW) + (f_TSE - f_BNW) + (f_BNE - f_TSW) + (f_BSE - f_TNW)) + - (((f_NE - f_SW) + (f_TE - f_BW)) + ((f_SE - f_NW) + (f_BE - f_TW))) + (f_E - f_W)) / - (c1o1 + drho_SWB); - vx2_SWB = (((f_TNE - f_BSW) + (f_TNW - f_BSE) + (f_BNE - f_TSW) + (f_BNW - f_TSE)) + - (((f_NE - f_SW) + (f_TN - f_BS)) + ((f_BN - f_TS) + (f_NW - f_SE))) + (f_N - f_S)) / - (c1o1 + drho_SWB); - vx3_SWB = (((f_TNE - f_BSW) + (f_TNW - f_BSE) + (f_TSE - f_BNW) + (f_TSW - f_BNE)) + - (((f_TE - f_BW) + (f_TN - f_BS)) + ((f_TW - f_BE) + (f_TS - f_BN))) + (f_T - f_B)) / - (c1o1 + drho_SWB); - - kxyFromfcNEQ_SWB = - -c3o1 * omegaS * - ((f_SW + f_BSW + f_TSW - f_NW - f_BNW - f_TNW - f_SE - f_BSE - f_TSE + f_NE + f_BNE + f_TNE) / - (c1o1 + drho_SWB) - - ((vx1_SWB * vx2_SWB))); - kyzFromfcNEQ_SWB = - -c3o1 * omegaS * - ((f_BS + f_BSE + f_BSW - f_TS - f_TSE - f_TSW - f_BN - f_BNE - f_BNW + f_TN + f_TNE + f_TNW) / - (c1o1 + drho_SWB) - - ((vx2_SWB * vx3_SWB))); - kxzFromfcNEQ_SWB = - -c3o1 * omegaS * - ((f_BW + f_BSW + f_BNW - f_TW - f_TSW - f_TNW - f_BE - f_BSE - f_BNE + f_TE + f_TSE + f_TNE) / - (c1o1 + drho_SWB) - - ((vx1_SWB * vx3_SWB))); - kxxMyyFromfcNEQ_SWB = - -c3o2 * omegaS * - ((f_BW + f_W + f_TW - f_BS - f_S - f_TS - f_BN - f_N - f_TN + f_BE + f_E + f_TE) / (c1o1 + drho_SWB) - - ((vx1_SWB * vx1_SWB - vx2_SWB * vx2_SWB))); - kxxMzzFromfcNEQ_SWB = - -c3o2 * omegaS * - ((f_SW + f_W + f_NW - f_BS - f_TS - f_B - f_T - f_BN - f_TN + f_SE + f_E + f_NE) / (c1o1 + drho_SWB) - - ((vx1_SWB * vx1_SWB - vx3_SWB * vx3_SWB))); - - ////////////////////////////////////////////////////////////////////////// - // SWT// - ////////////////////////////////////////////////////////////////////////// - // index - kzero = kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - drho_SWT = f_E + f_W + f_N + f_S + f_T + f_B + f_NE + f_SW + f_SE + f_NW + f_TE + f_BW + f_BE + f_TW + f_TN + - f_BS + f_BN + f_TS + f_ZERO + f_TNE + f_TSW + f_TSE + f_TNW + f_BNE + f_BSW + f_BSE + f_BNW; - vx1_SWT = (((f_TNE - f_BSW) + (f_TSE - f_BNW) + (f_BNE - f_TSW) + (f_BSE - f_TNW)) + - (((f_NE - f_SW) + (f_TE - f_BW)) + ((f_SE - f_NW) + (f_BE - f_TW))) + (f_E - f_W)) / - (c1o1 + drho_SWT); - vx2_SWT = (((f_TNE - f_BSW) + (f_TNW - f_BSE) + (f_BNE - f_TSW) + (f_BNW - f_TSE)) + - (((f_NE - f_SW) + (f_TN - f_BS)) + ((f_BN - f_TS) + (f_NW - f_SE))) + (f_N - f_S)) / - (c1o1 + drho_SWT); - vx3_SWT = (((f_TNE - f_BSW) + (f_TNW - f_BSE) + (f_TSE - f_BNW) + (f_TSW - f_BNE)) + - (((f_TE - f_BW) + (f_TN - f_BS)) + ((f_TW - f_BE) + (f_TS - f_BN))) + (f_T - f_B)) / - (c1o1 + drho_SWT); - - kxyFromfcNEQ_SWT = - -c3o1 * omegaS * - ((f_SW + f_BSW + f_TSW - f_NW - f_BNW - f_TNW - f_SE - f_BSE - f_TSE + f_NE + f_BNE + f_TNE) / - (c1o1 + drho_SWT) - - ((vx1_SWT * vx2_SWT))); - kyzFromfcNEQ_SWT = - -c3o1 * omegaS * - ((f_BS + f_BSE + f_BSW - f_TS - f_TSE - f_TSW - f_BN - f_BNE - f_BNW + f_TN + f_TNE + f_TNW) / - (c1o1 + drho_SWT) - - ((vx2_SWT * vx3_SWT))); - kxzFromfcNEQ_SWT = - -c3o1 * omegaS * - ((f_BW + f_BSW + f_BNW - f_TW - f_TSW - f_TNW - f_BE - f_BSE - f_BNE + f_TE + f_TSE + f_TNE) / - (c1o1 + drho_SWT) - - ((vx1_SWT * vx3_SWT))); - kxxMyyFromfcNEQ_SWT = - -c3o2 * omegaS * - ((f_BW + f_W + f_TW - f_BS - f_S - f_TS - f_BN - f_N - f_TN + f_BE + f_E + f_TE) / (c1o1 + drho_SWT) - - ((vx1_SWT * vx1_SWT - vx2_SWT * vx2_SWT))); - kxxMzzFromfcNEQ_SWT = - -c3o2 * omegaS * - ((f_SW + f_W + f_NW - f_BS - f_TS - f_B - f_T - f_BN - f_TN + f_SE + f_E + f_NE) / (c1o1 + drho_SWT) - - ((vx1_SWT * vx1_SWT - vx3_SWT * vx3_SWT))); - - ////////////////////////////////////////////////////////////////////////// - // SET// - ////////////////////////////////////////////////////////////////////////// - // index - kzero = kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - drho_SET = f_E + f_W + f_N + f_S + f_T + f_B + f_NE + f_SW + f_SE + f_NW + f_TE + f_BW + f_BE + f_TW + f_TN + - f_BS + f_BN + f_TS + f_ZERO + f_TNE + f_TSW + f_TSE + f_TNW + f_BNE + f_BSW + f_BSE + f_BNW; - vx1_SET = (((f_TNE - f_BSW) + (f_TSE - f_BNW) + (f_BNE - f_TSW) + (f_BSE - f_TNW)) + - (((f_NE - f_SW) + (f_TE - f_BW)) + ((f_SE - f_NW) + (f_BE - f_TW))) + (f_E - f_W)) / - (c1o1 + drho_SET); - vx2_SET = (((f_TNE - f_BSW) + (f_TNW - f_BSE) + (f_BNE - f_TSW) + (f_BNW - f_TSE)) + - (((f_NE - f_SW) + (f_TN - f_BS)) + ((f_BN - f_TS) + (f_NW - f_SE))) + (f_N - f_S)) / - (c1o1 + drho_SET); - vx3_SET = (((f_TNE - f_BSW) + (f_TNW - f_BSE) + (f_TSE - f_BNW) + (f_TSW - f_BNE)) + - (((f_TE - f_BW) + (f_TN - f_BS)) + ((f_TW - f_BE) + (f_TS - f_BN))) + (f_T - f_B)) / - (c1o1 + drho_SET); - - kxyFromfcNEQ_SET = - -c3o1 * omegaS * - ((f_SW + f_BSW + f_TSW - f_NW - f_BNW - f_TNW - f_SE - f_BSE - f_TSE + f_NE + f_BNE + f_TNE) / - (c1o1 + drho_SET) - - ((vx1_SET * vx2_SET))); - kyzFromfcNEQ_SET = - -c3o1 * omegaS * - ((f_BS + f_BSE + f_BSW - f_TS - f_TSE - f_TSW - f_BN - f_BNE - f_BNW + f_TN + f_TNE + f_TNW) / - (c1o1 + drho_SET) - - ((vx2_SET * vx3_SET))); - kxzFromfcNEQ_SET = - -c3o1 * omegaS * - ((f_BW + f_BSW + f_BNW - f_TW - f_TSW - f_TNW - f_BE - f_BSE - f_BNE + f_TE + f_TSE + f_TNE) / - (c1o1 + drho_SET) - - ((vx1_SET * vx3_SET))); - kxxMyyFromfcNEQ_SET = - -c3o2 * omegaS * - ((f_BW + f_W + f_TW - f_BS - f_S - f_TS - f_BN - f_N - f_TN + f_BE + f_E + f_TE) / (c1o1 + drho_SET) - - ((vx1_SET * vx1_SET - vx2_SET * vx2_SET))); - kxxMzzFromfcNEQ_SET = - -c3o2 * omegaS * - ((f_SW + f_W + f_NW - f_BS - f_TS - f_B - f_T - f_BN - f_TN + f_SE + f_E + f_NE) / (c1o1 + drho_SET) - - ((vx1_SET * vx1_SET - vx3_SET * vx3_SET))); - - ////////////////////////////////////////////////////////////////////////// - // SEB// - ////////////////////////////////////////////////////////////////////////// - // index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero = k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - drho_SEB = f_E + f_W + f_N + f_S + f_T + f_B + f_NE + f_SW + f_SE + f_NW + f_TE + f_BW + f_BE + f_TW + f_TN + - f_BS + f_BN + f_TS + f_ZERO + f_TNE + f_TSW + f_TSE + f_TNW + f_BNE + f_BSW + f_BSE + f_BNW; - vx1_SEB = (((f_TNE - f_BSW) + (f_TSE - f_BNW) + (f_BNE - f_TSW) + (f_BSE - f_TNW)) + - (((f_NE - f_SW) + (f_TE - f_BW)) + ((f_SE - f_NW) + (f_BE - f_TW))) + (f_E - f_W)) / - (c1o1 + drho_SEB); - vx2_SEB = (((f_TNE - f_BSW) + (f_TNW - f_BSE) + (f_BNE - f_TSW) + (f_BNW - f_TSE)) + - (((f_NE - f_SW) + (f_TN - f_BS)) + ((f_BN - f_TS) + (f_NW - f_SE))) + (f_N - f_S)) / - (c1o1 + drho_SEB); - vx3_SEB = (((f_TNE - f_BSW) + (f_TNW - f_BSE) + (f_TSE - f_BNW) + (f_TSW - f_BNE)) + - (((f_TE - f_BW) + (f_TN - f_BS)) + ((f_TW - f_BE) + (f_TS - f_BN))) + (f_T - f_B)) / - (c1o1 + drho_SEB); - - kxyFromfcNEQ_SEB = - -c3o1 * omegaS * - ((f_SW + f_BSW + f_TSW - f_NW - f_BNW - f_TNW - f_SE - f_BSE - f_TSE + f_NE + f_BNE + f_TNE) / - (c1o1 + drho_SEB) - - ((vx1_SEB * vx2_SEB))); - kyzFromfcNEQ_SEB = - -c3o1 * omegaS * - ((f_BS + f_BSE + f_BSW - f_TS - f_TSE - f_TSW - f_BN - f_BNE - f_BNW + f_TN + f_TNE + f_TNW) / - (c1o1 + drho_SEB) - - ((vx2_SEB * vx3_SEB))); - kxzFromfcNEQ_SEB = - -c3o1 * omegaS * - ((f_BW + f_BSW + f_BNW - f_TW - f_TSW - f_TNW - f_BE - f_BSE - f_BNE + f_TE + f_TSE + f_TNE) / - (c1o1 + drho_SEB) - - ((vx1_SEB * vx3_SEB))); - kxxMyyFromfcNEQ_SEB = - -c3o2 * omegaS * - ((f_BW + f_W + f_TW - f_BS - f_S - f_TS - f_BN - f_N - f_TN + f_BE + f_E + f_TE) / (c1o1 + drho_SEB) - - ((vx1_SEB * vx1_SEB - vx2_SEB * vx2_SEB))); - kxxMzzFromfcNEQ_SEB = - -c3o2 * omegaS * - ((f_SW + f_W + f_NW - f_BS - f_TS - f_B - f_T - f_BN - f_TN + f_SE + f_E + f_NE) / (c1o1 + drho_SEB) - - ((vx1_SEB * vx1_SEB - vx3_SEB * vx3_SEB))); - - ////////////////////////////////////////////////////////////////////////// - // NWB// - ////////////////////////////////////////////////////////////////////////// - // index 0 - k0zero = k0s; - k0w = k0sw; - k0s = neighborFY[k0s]; - k0b = k0bs; - k0sw = neighborFY[k0sw]; - k0bw = k0bsw; - k0bs = neighborFY[k0bs]; - k0bsw = neighborFY[k0bsw]; - ////////////////////////////////////////////////////////////////////////// - // index - kzero = k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - drho_NWB = f_E + f_W + f_N + f_S + f_T + f_B + f_NE + f_SW + f_SE + f_NW + f_TE + f_BW + f_BE + f_TW + f_TN + - f_BS + f_BN + f_TS + f_ZERO + f_TNE + f_TSW + f_TSE + f_TNW + f_BNE + f_BSW + f_BSE + f_BNW; - vx1_NWB = (((f_TNE - f_BSW) + (f_TSE - f_BNW) + (f_BNE - f_TSW) + (f_BSE - f_TNW)) + - (((f_NE - f_SW) + (f_TE - f_BW)) + ((f_SE - f_NW) + (f_BE - f_TW))) + (f_E - f_W)) / - (c1o1 + drho_NWB); - vx2_NWB = (((f_TNE - f_BSW) + (f_TNW - f_BSE) + (f_BNE - f_TSW) + (f_BNW - f_TSE)) + - (((f_NE - f_SW) + (f_TN - f_BS)) + ((f_BN - f_TS) + (f_NW - f_SE))) + (f_N - f_S)) / - (c1o1 + drho_NWB); - vx3_NWB = (((f_TNE - f_BSW) + (f_TNW - f_BSE) + (f_TSE - f_BNW) + (f_TSW - f_BNE)) + - (((f_TE - f_BW) + (f_TN - f_BS)) + ((f_TW - f_BE) + (f_TS - f_BN))) + (f_T - f_B)) / - (c1o1 + drho_NWB); - - kxyFromfcNEQ_NWB = - -c3o1 * omegaS * - ((f_SW + f_BSW + f_TSW - f_NW - f_BNW - f_TNW - f_SE - f_BSE - f_TSE + f_NE + f_BNE + f_TNE) / - (c1o1 + drho_NWB) - - ((vx1_NWB * vx2_NWB))); - kyzFromfcNEQ_NWB = - -c3o1 * omegaS * - ((f_BS + f_BSE + f_BSW - f_TS - f_TSE - f_TSW - f_BN - f_BNE - f_BNW + f_TN + f_TNE + f_TNW) / - (c1o1 + drho_NWB) - - ((vx2_NWB * vx3_NWB))); - kxzFromfcNEQ_NWB = - -c3o1 * omegaS * - ((f_BW + f_BSW + f_BNW - f_TW - f_TSW - f_TNW - f_BE - f_BSE - f_BNE + f_TE + f_TSE + f_TNE) / - (c1o1 + drho_NWB) - - ((vx1_NWB * vx3_NWB))); - kxxMyyFromfcNEQ_NWB = - -c3o2 * omegaS * - ((f_BW + f_W + f_TW - f_BS - f_S - f_TS - f_BN - f_N - f_TN + f_BE + f_E + f_TE) / (c1o1 + drho_NWB) - - ((vx1_NWB * vx1_NWB - vx2_NWB * vx2_NWB))); - kxxMzzFromfcNEQ_NWB = - -c3o2 * omegaS * - ((f_SW + f_W + f_NW - f_BS - f_TS - f_B - f_T - f_BN - f_TN + f_SE + f_E + f_NE) / (c1o1 + drho_NWB) - - ((vx1_NWB * vx1_NWB - vx3_NWB * vx3_NWB))); - - ////////////////////////////////////////////////////////////////////////// - // NWT// - ////////////////////////////////////////////////////////////////////////// - // index - kzero = kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - drho_NWT = f_E + f_W + f_N + f_S + f_T + f_B + f_NE + f_SW + f_SE + f_NW + f_TE + f_BW + f_BE + f_TW + f_TN + - f_BS + f_BN + f_TS + f_ZERO + f_TNE + f_TSW + f_TSE + f_TNW + f_BNE + f_BSW + f_BSE + f_BNW; - vx1_NWT = (((f_TNE - f_BSW) + (f_TSE - f_BNW) + (f_BNE - f_TSW) + (f_BSE - f_TNW)) + - (((f_NE - f_SW) + (f_TE - f_BW)) + ((f_SE - f_NW) + (f_BE - f_TW))) + (f_E - f_W)) / - (c1o1 + drho_NWT); - vx2_NWT = (((f_TNE - f_BSW) + (f_TNW - f_BSE) + (f_BNE - f_TSW) + (f_BNW - f_TSE)) + - (((f_NE - f_SW) + (f_TN - f_BS)) + ((f_BN - f_TS) + (f_NW - f_SE))) + (f_N - f_S)) / - (c1o1 + drho_NWT); - vx3_NWT = (((f_TNE - f_BSW) + (f_TNW - f_BSE) + (f_TSE - f_BNW) + (f_TSW - f_BNE)) + - (((f_TE - f_BW) + (f_TN - f_BS)) + ((f_TW - f_BE) + (f_TS - f_BN))) + (f_T - f_B)) / - (c1o1 + drho_NWT); - - kxyFromfcNEQ_NWT = - -c3o1 * omegaS * - ((f_SW + f_BSW + f_TSW - f_NW - f_BNW - f_TNW - f_SE - f_BSE - f_TSE + f_NE + f_BNE + f_TNE) / - (c1o1 + drho_NWT) - - ((vx1_NWT * vx2_NWT))); - kyzFromfcNEQ_NWT = - -c3o1 * omegaS * - ((f_BS + f_BSE + f_BSW - f_TS - f_TSE - f_TSW - f_BN - f_BNE - f_BNW + f_TN + f_TNE + f_TNW) / - (c1o1 + drho_NWT) - - ((vx2_NWT * vx3_NWT))); - kxzFromfcNEQ_NWT = - -c3o1 * omegaS * - ((f_BW + f_BSW + f_BNW - f_TW - f_TSW - f_TNW - f_BE - f_BSE - f_BNE + f_TE + f_TSE + f_TNE) / - (c1o1 + drho_NWT) - - ((vx1_NWT * vx3_NWT))); - kxxMyyFromfcNEQ_NWT = - -c3o2 * omegaS * - ((f_BW + f_W + f_TW - f_BS - f_S - f_TS - f_BN - f_N - f_TN + f_BE + f_E + f_TE) / (c1o1 + drho_NWT) - - ((vx1_NWT * vx1_NWT - vx2_NWT * vx2_NWT))); - kxxMzzFromfcNEQ_NWT = - -c3o2 * omegaS * - ((f_SW + f_W + f_NW - f_BS - f_TS - f_B - f_T - f_BN - f_TN + f_SE + f_E + f_NE) / (c1o1 + drho_NWT) - - ((vx1_NWT * vx1_NWT - vx3_NWT * vx3_NWT))); - - ////////////////////////////////////////////////////////////////////////// - // NET// - ////////////////////////////////////////////////////////////////////////// - // index - kzero = kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - drho_NET = f_E + f_W + f_N + f_S + f_T + f_B + f_NE + f_SW + f_SE + f_NW + f_TE + f_BW + f_BE + f_TW + f_TN + - f_BS + f_BN + f_TS + f_ZERO + f_TNE + f_TSW + f_TSE + f_TNW + f_BNE + f_BSW + f_BSE + f_BNW; - vx1_NET = (((f_TNE - f_BSW) + (f_TSE - f_BNW) + (f_BNE - f_TSW) + (f_BSE - f_TNW)) + - (((f_NE - f_SW) + (f_TE - f_BW)) + ((f_SE - f_NW) + (f_BE - f_TW))) + (f_E - f_W)) / - (c1o1 + drho_NET); - vx2_NET = (((f_TNE - f_BSW) + (f_TNW - f_BSE) + (f_BNE - f_TSW) + (f_BNW - f_TSE)) + - (((f_NE - f_SW) + (f_TN - f_BS)) + ((f_BN - f_TS) + (f_NW - f_SE))) + (f_N - f_S)) / - (c1o1 + drho_NET); - vx3_NET = (((f_TNE - f_BSW) + (f_TNW - f_BSE) + (f_TSE - f_BNW) + (f_TSW - f_BNE)) + - (((f_TE - f_BW) + (f_TN - f_BS)) + ((f_TW - f_BE) + (f_TS - f_BN))) + (f_T - f_B)) / - (c1o1 + drho_NET); - - kxyFromfcNEQ_NET = - -c3o1 * omegaS * - ((f_SW + f_BSW + f_TSW - f_NW - f_BNW - f_TNW - f_SE - f_BSE - f_TSE + f_NE + f_BNE + f_TNE) / - (c1o1 + drho_NET) - - ((vx1_NET * vx2_NET))); - kyzFromfcNEQ_NET = - -c3o1 * omegaS * - ((f_BS + f_BSE + f_BSW - f_TS - f_TSE - f_TSW - f_BN - f_BNE - f_BNW + f_TN + f_TNE + f_TNW) / - (c1o1 + drho_NET) - - ((vx2_NET * vx3_NET))); - kxzFromfcNEQ_NET = - -c3o1 * omegaS * - ((f_BW + f_BSW + f_BNW - f_TW - f_TSW - f_TNW - f_BE - f_BSE - f_BNE + f_TE + f_TSE + f_TNE) / - (c1o1 + drho_NET) - - ((vx1_NET * vx3_NET))); - kxxMyyFromfcNEQ_NET = - -c3o2 * omegaS * - ((f_BW + f_W + f_TW - f_BS - f_S - f_TS - f_BN - f_N - f_TN + f_BE + f_E + f_TE) / (c1o1 + drho_NET) - - ((vx1_NET * vx1_NET - vx2_NET * vx2_NET))); - kxxMzzFromfcNEQ_NET = - -c3o2 * omegaS * - ((f_SW + f_W + f_NW - f_BS - f_TS - f_B - f_T - f_BN - f_TN + f_SE + f_E + f_NE) / (c1o1 + drho_NET) - - ((vx1_NET * vx1_NET - vx3_NET * vx3_NET))); - - ////////////////////////////////////////////////////////////////////////// - // NEB// - ////////////////////////////////////////////////////////////////////////// - // index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero = k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - drho_NEB = f_E + f_W + f_N + f_S + f_T + f_B + f_NE + f_SW + f_SE + f_NW + f_TE + f_BW + f_BE + f_TW + f_TN + - f_BS + f_BN + f_TS + f_ZERO + f_TNE + f_TSW + f_TSE + f_TNW + f_BNE + f_BSW + f_BSE + f_BNW; - vx1_NEB = (((f_TNE - f_BSW) + (f_TSE - f_BNW) + (f_BNE - f_TSW) + (f_BSE - f_TNW)) + - (((f_NE - f_SW) + (f_TE - f_BW)) + ((f_SE - f_NW) + (f_BE - f_TW))) + (f_E - f_W)) / - (c1o1 + drho_NEB); - vx2_NEB = (((f_TNE - f_BSW) + (f_TNW - f_BSE) + (f_BNE - f_TSW) + (f_BNW - f_TSE)) + - (((f_NE - f_SW) + (f_TN - f_BS)) + ((f_BN - f_TS) + (f_NW - f_SE))) + (f_N - f_S)) / - (c1o1 + drho_NEB); - vx3_NEB = (((f_TNE - f_BSW) + (f_TNW - f_BSE) + (f_TSE - f_BNW) + (f_TSW - f_BNE)) + - (((f_TE - f_BW) + (f_TN - f_BS)) + ((f_TW - f_BE) + (f_TS - f_BN))) + (f_T - f_B)) / - (c1o1 + drho_NEB); - - kxyFromfcNEQ_NEB = - -c3o1 * omegaS * - ((f_SW + f_BSW + f_TSW - f_NW - f_BNW - f_TNW - f_SE - f_BSE - f_TSE + f_NE + f_BNE + f_TNE) / - (c1o1 + drho_NEB) - - ((vx1_NEB * vx2_NEB))); - kyzFromfcNEQ_NEB = - -c3o1 * omegaS * - ((f_BS + f_BSE + f_BSW - f_TS - f_TSE - f_TSW - f_BN - f_BNE - f_BNW + f_TN + f_TNE + f_TNW) / - (c1o1 + drho_NEB) - - ((vx2_NEB * vx3_NEB))); - kxzFromfcNEQ_NEB = - -c3o1 * omegaS * - ((f_BW + f_BSW + f_BNW - f_TW - f_TSW - f_TNW - f_BE - f_BSE - f_BNE + f_TE + f_TSE + f_TNE) / - (c1o1 + drho_NEB) - - ((vx1_NEB * vx3_NEB))); - kxxMyyFromfcNEQ_NEB = - -c3o2 * omegaS * - ((f_BW + f_W + f_TW - f_BS - f_S - f_TS - f_BN - f_N - f_TN + f_BE + f_E + f_TE) / (c1o1 + drho_NEB) - - ((vx1_NEB * vx1_NEB - vx2_NEB * vx2_NEB))); - kxxMzzFromfcNEQ_NEB = - -c3o2 * omegaS * - ((f_SW + f_W + f_NW - f_BS - f_TS - f_B - f_T - f_BN - f_TN + f_SE + f_E + f_NE) / (c1o1 + drho_NEB) - - ((vx1_NEB * vx1_NEB - vx3_NEB * vx3_NEB))); - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // kxyFromfcNEQ_SWB = zero; - // kyzFromfcNEQ_SWB = zero; - // kxzFromfcNEQ_SWB = zero; - // kxxMyyFromfcNEQ_SWB = zero; - // kxxMzzFromfcNEQ_SWB = zero; - // kxyFromfcNEQ_SWT = zero; - // kyzFromfcNEQ_SWT = zero; - // kxzFromfcNEQ_SWT = zero; - // kxxMyyFromfcNEQ_SWT = zero; - // kxxMzzFromfcNEQ_SWT = zero; - // kxyFromfcNEQ_SET = zero; - // kyzFromfcNEQ_SET = zero; - // kxzFromfcNEQ_SET = zero; - // kxxMyyFromfcNEQ_SET = zero; - // kxxMzzFromfcNEQ_SET = zero; - // kxyFromfcNEQ_SEB = zero; - // kyzFromfcNEQ_SEB = zero; - // kxzFromfcNEQ_SEB = zero; - // kxxMyyFromfcNEQ_SEB = zero; - // kxxMzzFromfcNEQ_SEB = zero; - // kxyFromfcNEQ_NWB = zero; - // kyzFromfcNEQ_NWB = zero; - // kxzFromfcNEQ_NWB = zero; - // kxxMyyFromfcNEQ_NWB = zero; - // kxxMzzFromfcNEQ_NWB = zero; - // kxyFromfcNEQ_NWT = zero; - // kyzFromfcNEQ_NWT = zero; - // kxzFromfcNEQ_NWT = zero; - // kxxMyyFromfcNEQ_NWT = zero; - // kxxMzzFromfcNEQ_NWT = zero; - // kxyFromfcNEQ_NET = zero; - // kyzFromfcNEQ_NET = zero; - // kxzFromfcNEQ_NET = zero; - // kxxMyyFromfcNEQ_NET = zero; - // kxxMzzFromfcNEQ_NET = zero; - // kxyFromfcNEQ_NEB = zero; - // kyzFromfcNEQ_NEB = zero; - // kxzFromfcNEQ_NEB = zero; - // kxxMyyFromfcNEQ_NEB = zero; - // kxxMzzFromfcNEQ_NEB = zero; - ////////////////////////////////////////////////////////////////////////// - // 3 - ////////////////////////////////////////////////////////////////////////// - a0 = (-kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT - - kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - - kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - - c2o1 * kxyFromfcNEQ_NEB - c2o1 * kxyFromfcNEQ_NET - c2o1 * kxyFromfcNEQ_NWB - c2o1 * kxyFromfcNEQ_NWT + - c2o1 * kxyFromfcNEQ_SEB + c2o1 * kxyFromfcNEQ_SET + c2o1 * kxyFromfcNEQ_SWB + c2o1 * kxyFromfcNEQ_SWT + - c2o1 * kxzFromfcNEQ_NEB - c2o1 * kxzFromfcNEQ_NET + c2o1 * kxzFromfcNEQ_NWB - c2o1 * kxzFromfcNEQ_NWT + - c2o1 * kxzFromfcNEQ_SEB - c2o1 * kxzFromfcNEQ_SET + c2o1 * kxzFromfcNEQ_SWB - c2o1 * kxzFromfcNEQ_SWT + - c8o1 * vx1_NEB + c8o1 * vx1_NET + c8o1 * vx1_NWB + c8o1 * vx1_NWT + c8o1 * vx1_SEB + c8o1 * vx1_SET + - c8o1 * vx1_SWB + c8o1 * vx1_SWT + c2o1 * vx2_NEB + c2o1 * vx2_NET - c2o1 * vx2_NWB - c2o1 * vx2_NWT - - c2o1 * vx2_SEB - c2o1 * vx2_SET + c2o1 * vx2_SWB + c2o1 * vx2_SWT - c2o1 * vx3_NEB + c2o1 * vx3_NET + - c2o1 * vx3_NWB - c2o1 * vx3_NWT - c2o1 * vx3_SEB + c2o1 * vx3_SET + c2o1 * vx3_SWB - c2o1 * vx3_SWT) / - c64o1; - b0 = (c2o1 * kxxMyyFromfcNEQ_NEB + c2o1 * kxxMyyFromfcNEQ_NET + c2o1 * kxxMyyFromfcNEQ_NWB + - c2o1 * kxxMyyFromfcNEQ_NWT - c2o1 * kxxMyyFromfcNEQ_SEB - c2o1 * kxxMyyFromfcNEQ_SET - - c2o1 * kxxMyyFromfcNEQ_SWB - c2o1 * kxxMyyFromfcNEQ_SWT - kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET - - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET + - kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - c2o1 * kxyFromfcNEQ_NEB - c2o1 * kxyFromfcNEQ_NET + - c2o1 * kxyFromfcNEQ_NWB + c2o1 * kxyFromfcNEQ_NWT - c2o1 * kxyFromfcNEQ_SEB - c2o1 * kxyFromfcNEQ_SET + - c2o1 * kxyFromfcNEQ_SWB + c2o1 * kxyFromfcNEQ_SWT + c2o1 * kyzFromfcNEQ_NEB - c2o1 * kyzFromfcNEQ_NET + - c2o1 * kyzFromfcNEQ_NWB - c2o1 * kyzFromfcNEQ_NWT + c2o1 * kyzFromfcNEQ_SEB - c2o1 * kyzFromfcNEQ_SET + - c2o1 * kyzFromfcNEQ_SWB - c2o1 * kyzFromfcNEQ_SWT + c2o1 * vx1_NEB + c2o1 * vx1_NET - c2o1 * vx1_NWB - - c2o1 * vx1_NWT - c2o1 * vx1_SEB - c2o1 * vx1_SET + c2o1 * vx1_SWB + c2o1 * vx1_SWT + c8o1 * vx2_NEB + - c8o1 * vx2_NET + c8o1 * vx2_NWB + c8o1 * vx2_NWT + c8o1 * vx2_SEB + c8o1 * vx2_SET + c8o1 * vx2_SWB + - c8o1 * vx2_SWT - c2o1 * vx3_NEB + c2o1 * vx3_NET - c2o1 * vx3_NWB + c2o1 * vx3_NWT + c2o1 * vx3_SEB - - c2o1 * vx3_SET + c2o1 * vx3_SWB - c2o1 * vx3_SWT) / - c64o1; - c0 = (kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT - - c2o1 * kxxMzzFromfcNEQ_NEB + c2o1 * kxxMzzFromfcNEQ_NET - c2o1 * kxxMzzFromfcNEQ_NWB + - c2o1 * kxxMzzFromfcNEQ_NWT - c2o1 * kxxMzzFromfcNEQ_SEB + c2o1 * kxxMzzFromfcNEQ_SET - - c2o1 * kxxMzzFromfcNEQ_SWB + c2o1 * kxxMzzFromfcNEQ_SWT - c2o1 * kxzFromfcNEQ_NEB - - c2o1 * kxzFromfcNEQ_NET + c2o1 * kxzFromfcNEQ_NWB + c2o1 * kxzFromfcNEQ_NWT - c2o1 * kxzFromfcNEQ_SEB - - c2o1 * kxzFromfcNEQ_SET + c2o1 * kxzFromfcNEQ_SWB + c2o1 * kxzFromfcNEQ_SWT - c2o1 * kyzFromfcNEQ_NEB - - c2o1 * kyzFromfcNEQ_NET - c2o1 * kyzFromfcNEQ_NWB - c2o1 * kyzFromfcNEQ_NWT + c2o1 * kyzFromfcNEQ_SEB + - c2o1 * kyzFromfcNEQ_SET + c2o1 * kyzFromfcNEQ_SWB + c2o1 * kyzFromfcNEQ_SWT - c2o1 * vx1_NEB + - c2o1 * vx1_NET + c2o1 * vx1_NWB - c2o1 * vx1_NWT - c2o1 * vx1_SEB + c2o1 * vx1_SET + c2o1 * vx1_SWB - - c2o1 * vx1_SWT - c2o1 * vx2_NEB + c2o1 * vx2_NET - c2o1 * vx2_NWB + c2o1 * vx2_NWT + c2o1 * vx2_SEB - - c2o1 * vx2_SET + c2o1 * vx2_SWB - c2o1 * vx2_SWT + c8o1 * vx3_NEB + c8o1 * vx3_NET + c8o1 * vx3_NWB + - c8o1 * vx3_NWT + c8o1 * vx3_SEB + c8o1 * vx3_SET + c8o1 * vx3_SWB + c8o1 * vx3_SWT) / - c64o1; - ax = (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT + vx1_SEB + vx1_SET - vx1_SWB - vx1_SWT) / c4o1; - bx = (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT + vx2_SEB + vx2_SET - vx2_SWB - vx2_SWT) / c4o1; - cx = (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT + vx3_SEB + vx3_SET - vx3_SWB - vx3_SWT) / c4o1; - axx = (kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT + - kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + c2o1 * vx2_NEB + - c2o1 * vx2_NET - c2o1 * vx2_NWB - c2o1 * vx2_NWT - c2o1 * vx2_SEB - c2o1 * vx2_SET + c2o1 * vx2_SWB + - c2o1 * vx2_SWT - c2o1 * vx3_NEB + c2o1 * vx3_NET + c2o1 * vx3_NWB - c2o1 * vx3_NWT - c2o1 * vx3_SEB + - c2o1 * vx3_SET + c2o1 * vx3_SWB - c2o1 * vx3_SWT) / - c16o1; - bxx = (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET - kxyFromfcNEQ_NWB - kxyFromfcNEQ_NWT + kxyFromfcNEQ_SEB + - kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - c2o1 * vx1_NEB - c2o1 * vx1_NET + - c2o1 * vx1_NWB + c2o1 * vx1_NWT + c2o1 * vx1_SEB + c2o1 * vx1_SET - c2o1 * vx1_SWB - c2o1 * vx1_SWT) / - c8o1; - cxx = (kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB - kxzFromfcNEQ_NWT + kxzFromfcNEQ_SEB + - kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB - kxzFromfcNEQ_SWT + c2o1 * vx1_NEB - c2o1 * vx1_NET - - c2o1 * vx1_NWB + c2o1 * vx1_NWT + c2o1 * vx1_SEB - c2o1 * vx1_SET - c2o1 * vx1_SWB + c2o1 * vx1_SWT) / - c8o1; - ay = (vx1_NEB + vx1_NET + vx1_NWB + vx1_NWT - vx1_SEB - vx1_SET - vx1_SWB - vx1_SWT) / c4o1; - by = (vx2_NEB + vx2_NET + vx2_NWB + vx2_NWT - vx2_SEB - vx2_SET - vx2_SWB - vx2_SWT) / c4o1; - cy = (vx3_NEB + vx3_NET + vx3_NWB + vx3_NWT - vx3_SEB - vx3_SET - vx3_SWB - vx3_SWT) / c4o1; - ayy = (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET + kxyFromfcNEQ_NWB + kxyFromfcNEQ_NWT - kxyFromfcNEQ_SEB - - kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - c2o1 * vx2_NEB - c2o1 * vx2_NET + - c2o1 * vx2_NWB + c2o1 * vx2_NWT + c2o1 * vx2_SEB + c2o1 * vx2_SET - c2o1 * vx2_SWB - c2o1 * vx2_SWT) / - c8o1; - byy = (-c2o1 * kxxMyyFromfcNEQ_NEB - c2o1 * kxxMyyFromfcNEQ_NET - c2o1 * kxxMyyFromfcNEQ_NWB - - c2o1 * kxxMyyFromfcNEQ_NWT + c2o1 * kxxMyyFromfcNEQ_SEB + c2o1 * kxxMyyFromfcNEQ_SET + - c2o1 * kxxMyyFromfcNEQ_SWB + c2o1 * kxxMyyFromfcNEQ_SWT + kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET + - kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET - - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + c2o1 * vx1_NEB + c2o1 * vx1_NET - c2o1 * vx1_NWB - - c2o1 * vx1_NWT - c2o1 * vx1_SEB - c2o1 * vx1_SET + c2o1 * vx1_SWB + c2o1 * vx1_SWT - c2o1 * vx3_NEB + - c2o1 * vx3_NET - c2o1 * vx3_NWB + c2o1 * vx3_NWT + c2o1 * vx3_SEB - c2o1 * vx3_SET + c2o1 * vx3_SWB - - c2o1 * vx3_SWT) / - c16o1; - cyy = (kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET + kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - kyzFromfcNEQ_SEB - - kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB - kyzFromfcNEQ_SWT + c2o1 * vx2_NEB - c2o1 * vx2_NET + - c2o1 * vx2_NWB - c2o1 * vx2_NWT - c2o1 * vx2_SEB + c2o1 * vx2_SET - c2o1 * vx2_SWB + c2o1 * vx2_SWT) / - c8o1; - az = (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT - vx1_SEB + vx1_SET - vx1_SWB + vx1_SWT) / c4o1; - bz = (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT - vx2_SEB + vx2_SET - vx2_SWB + vx2_SWT) / c4o1; - cz = (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT - vx3_SEB + vx3_SET - vx3_SWB + vx3_SWT) / c4o1; - azz = (-kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB + kxzFromfcNEQ_NWT - kxzFromfcNEQ_SEB + - kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB + kxzFromfcNEQ_SWT + c2o1 * vx3_NEB - c2o1 * vx3_NET - - c2o1 * vx3_NWB + c2o1 * vx3_NWT + c2o1 * vx3_SEB - c2o1 * vx3_SET - c2o1 * vx3_SWB + c2o1 * vx3_SWT) / - c8o1; - bzz = (-kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET - kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - kyzFromfcNEQ_SEB + - kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB + kyzFromfcNEQ_SWT + c2o1 * vx3_NEB - c2o1 * vx3_NET + - c2o1 * vx3_NWB - c2o1 * vx3_NWT - c2o1 * vx3_SEB + c2o1 * vx3_SET - c2o1 * vx3_SWB + c2o1 * vx3_SWT) / - c8o1; - czz = (-kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT + - c2o1 * kxxMzzFromfcNEQ_NEB - c2o1 * kxxMzzFromfcNEQ_NET + c2o1 * kxxMzzFromfcNEQ_NWB - - c2o1 * kxxMzzFromfcNEQ_NWT + c2o1 * kxxMzzFromfcNEQ_SEB - c2o1 * kxxMzzFromfcNEQ_SET + - c2o1 * kxxMzzFromfcNEQ_SWB - c2o1 * kxxMzzFromfcNEQ_SWT - c2o1 * vx1_NEB + c2o1 * vx1_NET + - c2o1 * vx1_NWB - c2o1 * vx1_NWT - c2o1 * vx1_SEB + c2o1 * vx1_SET + c2o1 * vx1_SWB - c2o1 * vx1_SWT - - c2o1 * vx2_NEB + c2o1 * vx2_NET - c2o1 * vx2_NWB + c2o1 * vx2_NWT + c2o1 * vx2_SEB - c2o1 * vx2_SET + - c2o1 * vx2_SWB - c2o1 * vx2_SWT) / - c16o1; - axy = (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT - vx1_SEB - vx1_SET + vx1_SWB + vx1_SWT) / c2o1; - bxy = (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT - vx2_SEB - vx2_SET + vx2_SWB + vx2_SWT) / c2o1; - cxy = (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT - vx3_SEB - vx3_SET + vx3_SWB + vx3_SWT) / c2o1; - axz = (-vx1_NEB + vx1_NET + vx1_NWB - vx1_NWT - vx1_SEB + vx1_SET + vx1_SWB - vx1_SWT) / c2o1; - bxz = (-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT - vx2_SEB + vx2_SET + vx2_SWB - vx2_SWT) / c2o1; - cxz = (-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT - vx3_SEB + vx3_SET + vx3_SWB - vx3_SWT) / c2o1; - ayz = (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT + vx1_SEB - vx1_SET + vx1_SWB - vx1_SWT) / c2o1; - byz = (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT + vx2_SEB - vx2_SET + vx2_SWB - vx2_SWT) / c2o1; - cyz = (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT + vx3_SEB - vx3_SET + vx3_SWB - vx3_SWT) / c2o1; - // axyz=-vx1_NEB + vx1_NET + vx1_NWB - vx1_NWT + vx1_SEB - vx1_SET - vx1_SWB + vx1_SWT; - // bxyz=-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT + vx2_SEB - vx2_SET - vx2_SWB + vx2_SWT; - // cxyz=-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT + vx3_SEB - vx3_SET - vx3_SWB + vx3_SWT; - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real kxyAverage = c0o1; - real kyzAverage = c0o1; - real kxzAverage = c0o1; - real kxxMyyAverage = c0o1; - real kxxMzzAverage = c0o1; - // real kxyAverage =(kxyFromfcNEQ_SWB+ - // kxyFromfcNEQ_SWT+ - // kxyFromfcNEQ_SET+ - // kxyFromfcNEQ_SEB+ - // kxyFromfcNEQ_NWB+ - // kxyFromfcNEQ_NWT+ - // kxyFromfcNEQ_NET+ - // kxyFromfcNEQ_NEB)*c1o8-(ay+bx); - // real kyzAverage =(kyzFromfcNEQ_SWB+ - // kyzFromfcNEQ_SWT+ - // kyzFromfcNEQ_SET+ - // kyzFromfcNEQ_SEB+ - // kyzFromfcNEQ_NWB+ - // kyzFromfcNEQ_NWT+ - // kyzFromfcNEQ_NET+ - // kyzFromfcNEQ_NEB)*c1o8-(bz+cy); - // real kxzAverage =(kxzFromfcNEQ_SWB+ - // kxzFromfcNEQ_SWT+ - // kxzFromfcNEQ_SET+ - // kxzFromfcNEQ_SEB+ - // kxzFromfcNEQ_NWB+ - // kxzFromfcNEQ_NWT+ - // kxzFromfcNEQ_NET+ - // kxzFromfcNEQ_NEB)*c1o8-(az+cx); - // real kxxMyyAverage =(kxxMyyFromfcNEQ_SWB+ - // kxxMyyFromfcNEQ_SWT+ - // kxxMyyFromfcNEQ_SET+ - // kxxMyyFromfcNEQ_SEB+ - // kxxMyyFromfcNEQ_NWB+ - // kxxMyyFromfcNEQ_NWT+ - // kxxMyyFromfcNEQ_NET+ - // kxxMyyFromfcNEQ_NEB)*c1o8-(ax-by); - // real kxxMzzAverage =(kxxMzzFromfcNEQ_SWB+ - // kxxMzzFromfcNEQ_SWT+ - // kxxMzzFromfcNEQ_SET+ - // kxxMzzFromfcNEQ_SEB+ - // kxxMzzFromfcNEQ_NWB+ - // kxxMzzFromfcNEQ_NWT+ - // kxxMzzFromfcNEQ_NET+ - // kxxMzzFromfcNEQ_NEB)*c1o8-(ax-cz); - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - ////Press - // d0 = ( press_NEB + press_NET + press_NWB + press_NWT + press_SEB + press_SET + press_SWB + press_SWT) * - // c1o8; dx = ( press_NEB + press_NET - press_NWB - press_NWT + press_SEB + press_SET - press_SWB - press_SWT) - // * c1o4; dy = ( press_NEB + press_NET + press_NWB + press_NWT - press_SEB - press_SET - press_SWB - - // press_SWT) * c1o4; dz = (-press_NEB + press_NET - press_NWB + press_NWT - press_SEB + press_SET - press_SWB - // + press_SWT) * c1o4; dxy = ( press_NEB + press_NET - press_NWB - press_NWT - press_SEB - press_SET + - // press_SWB + press_SWT) * c1o2; dxz = (-press_NEB + press_NET + press_NWB - press_NWT - press_SEB + press_SET - // + press_SWB - press_SWT) * c1o2; dyz = (-press_NEB + press_NET - press_NWB + press_NWT + press_SEB - - // press_SET + press_SWB - press_SWT) * c1o2; dxyz = -press_NEB + press_NET + press_NWB - press_NWT + press_SEB - // - press_SET - press_SWB + press_SWT; - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // drho - real LapRho = ((xoff != c0o1) || (yoff != c0o1) || (zoff != c0o1)) - ? c0o1 - : -c3o1 * (ax * ax + by * by + cz * cz) - c6o1 * (bx * ay + cx * az + cy * bz); - d0 = (drho_NEB + drho_NET + drho_NWB + drho_NWT + drho_SEB + drho_SET + drho_SWB + drho_SWT - c2o1 * LapRho) * - c1o8; - dx = (drho_NEB + drho_NET - drho_NWB - drho_NWT + drho_SEB + drho_SET - drho_SWB - drho_SWT) * c1o4; - dy = (drho_NEB + drho_NET + drho_NWB + drho_NWT - drho_SEB - drho_SET - drho_SWB - drho_SWT) * c1o4; - dz = (-drho_NEB + drho_NET - drho_NWB + drho_NWT - drho_SEB + drho_SET - drho_SWB + drho_SWT) * c1o4; - dxy = (drho_NEB + drho_NET - drho_NWB - drho_NWT - drho_SEB - drho_SET + drho_SWB + drho_SWT) * c1o2; - dxz = (-drho_NEB + drho_NET + drho_NWB - drho_NWT - drho_SEB + drho_SET + drho_SWB - drho_SWT) * c1o2; - dyz = (-drho_NEB + drho_NET - drho_NWB + drho_NWT + drho_SEB - drho_SET + drho_SWB - drho_SWT) * c1o2; - // dxyz = -drho_NEB + drho_NET + drho_NWB - drho_NWT + drho_SEB - drho_SET - drho_SWB + drho_SWT; - // d0 = zero; - // dx = zero; - // dy = zero; - // dz = zero; - // dxy = zero; - // dxz = zero; - // dyz = zero; - // dxyz = zero; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - // Bernd das Brot - // - // - // x------x - // | | - // | ---+--->X - // | | \ - // x------x \ - // off-vector - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - a0 = a0 + xoff * ax + yoff * ay + zoff * az + xoff_sq * axx + yoff_sq * ayy + zoff_sq * azz + - xoff * yoff * axy + xoff * zoff * axz + yoff * zoff * ayz; - ax = ax + c2o1 * xoff * axx + yoff * axy + zoff * axz; - ay = ay + c2o1 * yoff * ayy + xoff * axy + zoff * ayz; - az = az + c2o1 * zoff * azz + xoff * axz + yoff * ayz; - b0 = b0 + xoff * bx + yoff * by + zoff * bz + xoff_sq * bxx + yoff_sq * byy + zoff_sq * bzz + - xoff * yoff * bxy + xoff * zoff * bxz + yoff * zoff * byz; - bx = bx + c2o1 * xoff * bxx + yoff * bxy + zoff * bxz; - by = by + c2o1 * yoff * byy + xoff * bxy + zoff * byz; - bz = bz + c2o1 * zoff * bzz + xoff * bxz + yoff * byz; - c0 = c0 + xoff * cx + yoff * cy + zoff * cz + xoff_sq * cxx + yoff_sq * cyy + zoff_sq * czz + - xoff * yoff * cxy + xoff * zoff * cxz + yoff * zoff * cyz; - cx = cx + c2o1 * xoff * cxx + yoff * cxy + zoff * cxz; - cy = cy + c2o1 * yoff * cyy + xoff * cxy + zoff * cyz; - cz = cz + c2o1 * zoff * czz + xoff * cxz + yoff * cyz; - d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff * yoff * dxy + xoff * zoff * dxz + yoff * zoff * dyz; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // FIX - // /////////////////////////////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // AAAAAAAAAAAAHHHHHHHHHHHH!!!!! Mieser Test!!! - // b0= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz= c0= cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= - // cxyz=zero; b0=zero; bx=zero; by=zero; bz=zero; bxx=zero; byy=zero; bzz=zero; bxy=zero; bxz=zero; byz=zero; - // c0=zero; - // cx=zero; - // cy=zero; - // cz=zero; - // cxx=zero; - // cyy=zero; - // czz=zero; - // cxy=zero; - // cxz=zero; - // cyz=zero; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = c0o1; - real mfabb = c0o1; - real mfbcb = c0o1; - real mfbab = c0o1; - real mfbbc = c0o1; - real mfbba = c0o1; - real mfccb = c0o1; - real mfaab = c0o1; - real mfcab = c0o1; - real mfacb = c0o1; - real mfcbc = c0o1; - real mfaba = c0o1; - real mfcba = c0o1; - real mfabc = c0o1; - real mfbcc = c0o1; - real mfbaa = c0o1; - real mfbca = c0o1; - real mfbac = c0o1; - real mfbbb = c0o1; - real mfccc = c0o1; - real mfaac = c0o1; - real mfcac = c0o1; - real mfacc = c0o1; - real mfcca = c0o1; - real mfaaa = c0o1; - real mfcaa = c0o1; - real mfaca = c0o1; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real m0, m1, m2, vvx, vvy, vvz, vx2, vy2, vz2, oMdrho; - real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz; - // real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein - // real O3 = c2o1 - o; - // real residu, residutmp; - // residutmp = c0o1;///*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new; - real NeqOn = c1o1; // zero;//one; //.... one = on ..... zero = off - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - // Position C 0., 0., 0. - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // x = 0.; - // y = 0.; - // z = 0.; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // real mxoff = -xoff; - // real myoff = -yoff; - // real mzoff = -zoff; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // press = press_NET * (c1o8 - c1o4 * mxoff - c1o4 * myoff - c1o4 * mzoff) + - // press_NWT * (c1o8 + c1o4 * mxoff - c1o4 * myoff - c1o4 * mzoff) + - // press_SET * (c1o8 - c1o4 * mxoff + c1o4 * myoff - c1o4 * mzoff) + - // press_SWT * (c1o8 + c1o4 * mxoff + c1o4 * myoff - c1o4 * mzoff) + - // press_NEB * (c1o8 - c1o4 * mxoff - c1o4 * myoff + c1o4 * mzoff) + - // press_NWB * (c1o8 + c1o4 * mxoff - c1o4 * myoff + c1o4 * mzoff) + - // press_SEB * (c1o8 - c1o4 * mxoff + c1o4 * myoff + c1o4 * mzoff) + - // press_SWB * (c1o8 + c1o4 * mxoff + c1o4 * myoff + c1o4 * mzoff); - // drho = drho_NET * (c1o8 - c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + - // drho_NWT * (c1o8 + c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + - // drho_SET * (c1o8 - c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + - // drho_SWT * (c1o8 + c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + - // drho_NEB * (c1o8 - c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + - // drho_NWB * (c1o8 + c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + - // drho_SEB * (c1o8 - c1o4 * xoff + c1o4 * yoff + c1o4 * zoff) + - // drho_SWB * (c1o8 + c1o4 * xoff + c1o4 * yoff + c1o4 * zoff); - press = d0; - vvx = a0; - vvy = b0; - vvz = c0; - - // mfaaa = drho; - // mfaaa = press + (ax+by+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx * vvx; - vy2 = vvy * vvy; - vz2 = vvz * vvz; - oMdrho = c1o1; - // oMdrho = one - mfaaa; - - // two - // linear combinations - mxxPyyPzz = mfaaa; - // mxxMyy = -c2o3*(ax - by)*eps_new/o; - // mxxMzz = -c2o3*(ax - cz)*eps_new/o; - - // mfabb = -c1o3 * (bz + cy)*eps_new/o; - // mfbab = -c1o3 * (az + cx)*eps_new/o; - // mfbba = -c1o3 * (ay + bx)*eps_new/o; - mxxMyy = -c2o3 * ((ax - by) + kxxMyyAverage) * eps_new / o * (c1o1 + press); - mxxMzz = -c2o3 * ((ax - cz) + kxxMzzAverage) * eps_new / o * (c1o1 + press); - - mfabb = -c1o3 * ((bz + cy) + kyzAverage) * eps_new / o * (c1o1 + press); - mfbab = -c1o3 * ((az + cx) + kxzAverage) * eps_new / o * (c1o1 + press); - mfbba = -c1o3 * ((ay + bx) + kxyAverage) * eps_new / o * (c1o1 + press); - - // linear combinations back - mfcaa = c1o3 * (mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * (mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - // 3. - // linear combinations - // residu = residutmp * (ayz + bxz + cxy ); - // mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0o1; - - // residu = residutmp * (axy + two*bxx + two*bzz + cyz ); - // residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz )); - // mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0o1; - - // residu = residutmp * (axy + two*bxx - two*bzz - cyz ); - // residu = c1o9*(axy - 2*bxx + 2*bzz - cyz ); - // mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0o1; - - // residu = residutmp * (axz + byz + two*cxx + two*cyy ); - // residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy )); - // mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0o1; - - // residu = residutmp * (axz - byz + two*cxx - two*cyy ); - // residu = c1o9*(axz - byz - 2*cxx + 2*cyy ); - // mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0o1; - - // residu = residutmp * (two*ayy + two*azz + bxy + cxz ); - // residu = c1o9*(2*ayy + 2*azz - bxy - cxz ); - // mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0o1; - - // residu = residutmp * (two*ayy - two*azz + bxy - cxz ); - // residu = c1o9*(-2*ayy + 2*azz + bxy - cxz ); - // mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0o1; - - // linear combinations back - mfcba = (mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = (mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = (mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - // 4. - mfacc = mfaaa * c1o9; - mfcac = mfacc; - mfcca = mfacc; - // 5. - - // 6. - mfccc = mfaaa * c1o27; - //////////////////////////////////////////////////////////////////////////////////// - // back - //////////////////////////////////////////////////////////////////////////////////// - // mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * (vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * (vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * (vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * (vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * (vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * (vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * (vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * (vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * (vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * (vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * (vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * (vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * (vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * (vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * (vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * (vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - // index 0 - kzero = posC[k]; - kw = neighborCX[kzero]; - ks = neighborCY[kzero]; - kb = neighborCZ[kzero]; - ksw = neighborCY[kw]; - kbw = neighborCZ[kw]; - kbs = neighborCZ[ks]; - kbsw = neighborCZ[ksw]; - //////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - feC[kzero] = mfcbb; - fwC[kw] = mfabb; - fnC[kzero] = mfbcb; - fsC[ks] = mfbab; - ftC[kzero] = mfbbc; - fbC[kb] = mfbba; - fneC[kzero] = mfccb; - fswC[ksw] = mfaab; - fseC[ks] = mfcab; - fnwC[kw] = mfacb; - fteC[kzero] = mfcbc; - fbwC[kbw] = mfaba; - fbeC[kb] = mfcba; - ftwC[kw] = mfabc; - ftnC[kzero] = mfbcc; - fbsC[kbs] = mfbaa; - fbnC[kb] = mfbca; - ftsC[ks] = mfbac; - fzeroC[kzero] = mfbbb; - ftneC[kzero] = mfccc; - ftseC[ks] = mfcac; - fbneC[kb] = mfcca; - fbseC[kbs] = mfcaa; - ftnwC[kw] = mfacc; - ftswC[ksw] = mfaac; - fbnwC[kbw] = mfaca; - fbswC[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - } -} - -__global__ void scaleFC_RhoSq_comp_27(real* DC, - real* DF, - unsigned int* neighborCX, - unsigned int* neighborCY, - unsigned int* neighborCZ, - unsigned int* neighborFX, - unsigned int* neighborFY, - unsigned int* neighborFZ, - unsigned long long numberOfLBnodesCoarse, - unsigned long long numberOfLBnodesFine, - bool isEvenTimestep, - unsigned int* posC, - unsigned int* posFSWB, - unsigned int kFC, - real omCoarse, - real omFine, - real nu, - unsigned int nxC, - unsigned int nyC, - unsigned int nxF, - unsigned int nyF, - ICellNeigh offFC) -{ - //////////////////////////////////////////////////////////////////////////////// - const unsigned ix = threadIdx.x; // Globaler x-Index - const unsigned iy = blockIdx.x; // Globaler y-Index - const unsigned iz = blockIdx.y; // Globaler z-Index - - const unsigned nx = blockDim.x; - const unsigned ny = gridDim.x; - - const unsigned k = nx*(ny*iz + iy) + ix; - ////////////////////////////////////////////////////////////////////////// - - scaleFC_RhoSq_comp_27_Calculation(DC, DF, neighborCX, neighborCY, neighborCZ, neighborFX, neighborFY, neighborFZ, - numberOfLBnodesCoarse, numberOfLBnodesFine, isEvenTimestep, posC, posFSWB, kFC, omCoarse, omFine, nu, nxC, - nyC, nxF, nyF, offFC, k); -} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -////////////////////////////////////////////////////////////////////////// -__global__ void scaleFC_staggered_time_comp_27( real* DC, - real* DF, - unsigned int* neighborCX, - unsigned int* neighborCY, - unsigned int* neighborCZ, - unsigned int* neighborFX, - unsigned int* neighborFY, - unsigned int* neighborFZ, - unsigned long long numberOfLBnodesCoarse, - unsigned long long numberOfLBnodesFine, - bool isEvenTimestep, - unsigned int* posC, - unsigned int* posFSWB, - unsigned int kFC, - real omCoarse, - real omFine, - real nu, - unsigned int nxC, - unsigned int nyC, - unsigned int nxF, - unsigned int nyF, - ICellNeigh offFC) -{ - real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, - *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - - feF = &DF[dP00 * numberOfLBnodesFine]; - fwF = &DF[dM00 * numberOfLBnodesFine]; - fnF = &DF[d0P0 * numberOfLBnodesFine]; - fsF = &DF[d0M0 * numberOfLBnodesFine]; - ftF = &DF[d00P * numberOfLBnodesFine]; - fbF = &DF[d00M * numberOfLBnodesFine]; - fneF = &DF[dPP0 * numberOfLBnodesFine]; - fswF = &DF[dMM0 * numberOfLBnodesFine]; - fseF = &DF[dPM0 * numberOfLBnodesFine]; - fnwF = &DF[dMP0 * numberOfLBnodesFine]; - fteF = &DF[dP0P * numberOfLBnodesFine]; - fbwF = &DF[dM0M * numberOfLBnodesFine]; - fbeF = &DF[dP0M * numberOfLBnodesFine]; - ftwF = &DF[dM0P * numberOfLBnodesFine]; - ftnF = &DF[d0PP * numberOfLBnodesFine]; - fbsF = &DF[d0MM * numberOfLBnodesFine]; - fbnF = &DF[d0PM * numberOfLBnodesFine]; - ftsF = &DF[d0MP * numberOfLBnodesFine]; - fzeroF = &DF[d000 * numberOfLBnodesFine]; - ftneF = &DF[dPPP * numberOfLBnodesFine]; - ftswF = &DF[dMMP * numberOfLBnodesFine]; - ftseF = &DF[dPMP * numberOfLBnodesFine]; - ftnwF = &DF[dMPP * numberOfLBnodesFine]; - fbneF = &DF[dPPM * numberOfLBnodesFine]; - fbswF = &DF[dMMM * numberOfLBnodesFine]; - fbseF = &DF[dPMM * numberOfLBnodesFine]; - fbnwF = &DF[dMPM * numberOfLBnodesFine]; - - real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, *fzeroC, - *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; - - if (isEvenTimestep==true) - { - feC = &DC[dP00 * numberOfLBnodesCoarse]; - fwC = &DC[dM00 * numberOfLBnodesCoarse]; - fnC = &DC[d0P0 * numberOfLBnodesCoarse]; - fsC = &DC[d0M0 * numberOfLBnodesCoarse]; - ftC = &DC[d00P * numberOfLBnodesCoarse]; - fbC = &DC[d00M * numberOfLBnodesCoarse]; - fneC = &DC[dPP0 * numberOfLBnodesCoarse]; - fswC = &DC[dMM0 * numberOfLBnodesCoarse]; - fseC = &DC[dPM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dMP0 * numberOfLBnodesCoarse]; - fteC = &DC[dP0P * numberOfLBnodesCoarse]; - fbwC = &DC[dM0M * numberOfLBnodesCoarse]; - fbeC = &DC[dP0M * numberOfLBnodesCoarse]; - ftwC = &DC[dM0P * numberOfLBnodesCoarse]; - ftnC = &DC[d0PP * numberOfLBnodesCoarse]; - fbsC = &DC[d0MM * numberOfLBnodesCoarse]; - fbnC = &DC[d0PM * numberOfLBnodesCoarse]; - ftsC = &DC[d0MP * numberOfLBnodesCoarse]; - fzeroC = &DC[d000 * numberOfLBnodesCoarse]; - ftneC = &DC[dPPP * numberOfLBnodesCoarse]; - ftswC = &DC[dMMP * numberOfLBnodesCoarse]; - ftseC = &DC[dPMP * numberOfLBnodesCoarse]; - ftnwC = &DC[dMPP * numberOfLBnodesCoarse]; - fbneC = &DC[dPPM * numberOfLBnodesCoarse]; - fbswC = &DC[dMMM * numberOfLBnodesCoarse]; - fbseC = &DC[dPMM * numberOfLBnodesCoarse]; - fbnwC = &DC[dMPM * numberOfLBnodesCoarse]; - } - else - { - fwC = &DC[dP00 * numberOfLBnodesCoarse]; - feC = &DC[dM00 * numberOfLBnodesCoarse]; - fsC = &DC[d0P0 * numberOfLBnodesCoarse]; - fnC = &DC[d0M0 * numberOfLBnodesCoarse]; - fbC = &DC[d00P * numberOfLBnodesCoarse]; - ftC = &DC[d00M * numberOfLBnodesCoarse]; - fswC = &DC[dPP0 * numberOfLBnodesCoarse]; - fneC = &DC[dMM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dPM0 * numberOfLBnodesCoarse]; - fseC = &DC[dMP0 * numberOfLBnodesCoarse]; - fbwC = &DC[dP0P * numberOfLBnodesCoarse]; - fteC = &DC[dM0M * numberOfLBnodesCoarse]; - ftwC = &DC[dP0M * numberOfLBnodesCoarse]; - fbeC = &DC[dM0P * numberOfLBnodesCoarse]; - fbsC = &DC[d0PP * numberOfLBnodesCoarse]; - ftnC = &DC[d0MM * numberOfLBnodesCoarse]; - ftsC = &DC[d0PM * numberOfLBnodesCoarse]; - fbnC = &DC[d0MP * numberOfLBnodesCoarse]; - fzeroC = &DC[d000 * numberOfLBnodesCoarse]; - fbswC = &DC[dPPP * numberOfLBnodesCoarse]; - fbneC = &DC[dMMP * numberOfLBnodesCoarse]; - fbnwC = &DC[dPMP * numberOfLBnodesCoarse]; - fbseC = &DC[dMPP * numberOfLBnodesCoarse]; - ftswC = &DC[dPPM * numberOfLBnodesCoarse]; - ftneC = &DC[dMMM * numberOfLBnodesCoarse]; - ftnwC = &DC[dPMM * numberOfLBnodesCoarse]; - ftseC = &DC[dMPM * numberOfLBnodesCoarse]; - } - //////////////////////////////////////////////////////////////////////////////// - const unsigned ix = threadIdx.x; // Globaler x-Index - const unsigned iy = blockIdx.x; // Globaler y-Index - const unsigned iz = blockIdx.y; // Globaler z-Index - - const unsigned nx = blockDim.x; - const unsigned ny = gridDim.x; - - const unsigned k = nx*(ny*iz + iy) + ix; - ////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////// - real eps_new = c2o1; - real omegaS = omFine;//-omFine; - real o = omCoarse;//-omCoarse; - //real op = one; - //real cu_sq; - - real xoff, yoff, zoff; - real xoff_sq, yoff_sq, zoff_sq; - - real press;//,drho,vx1,vx2,vx3; - real /*press_SWT,*/drho_SWT,vx1_SWT,vx2_SWT,vx3_SWT; - real /*press_NWT,*/drho_NWT,vx1_NWT,vx2_NWT,vx3_NWT; - real /*press_NET,*/drho_NET,vx1_NET,vx2_NET,vx3_NET; - real /*press_SET,*/drho_SET,vx1_SET,vx2_SET,vx3_SET; - real /*press_SWB,*/drho_SWB,vx1_SWB,vx2_SWB,vx3_SWB; - real /*press_NWB,*/drho_NWB,vx1_NWB,vx2_NWB,vx3_NWB; - real /*press_NEB,*/drho_NEB,vx1_NEB,vx2_NEB,vx3_NEB; - real /*press_SEB,*/drho_SEB,vx1_SEB,vx2_SEB,vx3_SEB; - real f_E,f_W,f_N,f_S,f_T,f_B,f_NE,f_SW,f_SE,f_NW,f_TE,f_BW,f_BE,f_TW,f_TN,f_BS,f_BN,f_TS,f_ZERO,f_TNE, f_TSW, f_TSE, f_TNW, f_BNE, f_BSW, f_BSE, f_BNW; - //real feq_E,feq_W,feq_N,feq_S,feq_T,feq_B,feq_NE,feq_SW,feq_SE,feq_NW,feq_TE,feq_BW,feq_BE,feq_TW,feq_TN,feq_BS,feq_BN,feq_TS,feq_ZERO,feq_TNE, feq_TSW, feq_TSE, feq_TNW, feq_BNE, feq_BSW, feq_BSE, feq_BNW; - real kxyFromfcNEQ_SWT, kyzFromfcNEQ_SWT, kxzFromfcNEQ_SWT, kxxMyyFromfcNEQ_SWT, kxxMzzFromfcNEQ_SWT; - real kxyFromfcNEQ_NWT, kyzFromfcNEQ_NWT, kxzFromfcNEQ_NWT, kxxMyyFromfcNEQ_NWT, kxxMzzFromfcNEQ_NWT; - real kxyFromfcNEQ_NET, kyzFromfcNEQ_NET, kxzFromfcNEQ_NET, kxxMyyFromfcNEQ_NET, kxxMzzFromfcNEQ_NET; - real kxyFromfcNEQ_SET, kyzFromfcNEQ_SET, kxzFromfcNEQ_SET, kxxMyyFromfcNEQ_SET, kxxMzzFromfcNEQ_SET; - real kxyFromfcNEQ_SWB, kyzFromfcNEQ_SWB, kxzFromfcNEQ_SWB, kxxMyyFromfcNEQ_SWB, kxxMzzFromfcNEQ_SWB; - real kxyFromfcNEQ_NWB, kyzFromfcNEQ_NWB, kxzFromfcNEQ_NWB, kxxMyyFromfcNEQ_NWB, kxxMzzFromfcNEQ_NWB; - real kxyFromfcNEQ_NEB, kyzFromfcNEQ_NEB, kxzFromfcNEQ_NEB, kxxMyyFromfcNEQ_NEB, kxxMzzFromfcNEQ_NEB; - real kxyFromfcNEQ_SEB, kyzFromfcNEQ_SEB, kxzFromfcNEQ_SEB, kxxMyyFromfcNEQ_SEB, kxxMzzFromfcNEQ_SEB; - real a0, ax, ay, az, axx, ayy, azz, axy, axz, ayz, b0, bx, by, bz, bxx, byy, bzz, bxy, bxz, byz, c0, cx, cy, cz, cxx, cyy, czz, cxy, cxz, cyz/*, axyz, bxyz, cxyz*/; - real d0, dx, dy, dz, dxy, dxz, dyz/*, dxyz*/; - - if(k<kFC) - { - ////////////////////////////////////////////////////////////////////////// - xoff = offFC.x[k]; - yoff = offFC.y[k]; - zoff = offFC.z[k]; - xoff_sq = xoff * xoff; - yoff_sq = yoff * yoff; - zoff_sq = zoff * zoff; - ////////////////////////////////////////////////////////////////////////// - //SWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - unsigned int k0zero= posFSWB[k]; - unsigned int k0w = neighborFX[k0zero]; - unsigned int k0s = neighborFY[k0zero]; - unsigned int k0b = neighborFZ[k0zero]; - unsigned int k0sw = neighborFY[k0w]; - unsigned int k0bw = neighborFZ[k0w]; - unsigned int k0bs = neighborFZ[k0s]; - unsigned int k0bsw = neighborFZ[k0sw]; - ////////////////////////////////////////////////////////////////////////// - //index - unsigned int kzero= k0zero; - unsigned int kw = k0w; - unsigned int ks = k0s; - unsigned int kb = k0b; - unsigned int ksw = k0sw; - unsigned int kbw = k0bw; - unsigned int kbs = k0bs; - unsigned int kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - drho_SWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_SWB = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SWB); - vx2_SWB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWB); - vx3_SWB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWB); - - kxyFromfcNEQ_SWB = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx2_SWB))); - kyzFromfcNEQ_SWB = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SWB) - ((vx2_SWB*vx3_SWB))); - kxzFromfcNEQ_SWB = -c3o1*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx3_SWB))); - kxxMyyFromfcNEQ_SWB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx1_SWB-vx2_SWB*vx2_SWB))); - kxxMzzFromfcNEQ_SWB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx1_SWB-vx3_SWB*vx3_SWB))); - - - ////////////////////////////////////////////////////////////////////////// - //SWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - drho_SWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_SWT = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SWT); - vx2_SWT = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWT); - vx3_SWT = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWT); - - kxyFromfcNEQ_SWT = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx2_SWT))); - kyzFromfcNEQ_SWT = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SWT) - ((vx2_SWT*vx3_SWT))); - kxzFromfcNEQ_SWT = -c3o1*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx3_SWT))); - kxxMyyFromfcNEQ_SWT = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx1_SWT-vx2_SWT*vx2_SWT))); - kxxMzzFromfcNEQ_SWT = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx1_SWT-vx3_SWT*vx3_SWT))); - - ////////////////////////////////////////////////////////////////////////// - //SET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - drho_SET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_SET = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SET); - vx2_SET = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SET); - vx3_SET = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SET); - - kxyFromfcNEQ_SET = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SET) - ((vx1_SET*vx2_SET))); - kyzFromfcNEQ_SET = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SET) - ((vx2_SET*vx3_SET))); - kxzFromfcNEQ_SET = -c3o1*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_SET) - ((vx1_SET*vx3_SET))); - kxxMyyFromfcNEQ_SET = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (c1o1 + drho_SET) - ((vx1_SET*vx1_SET-vx2_SET*vx2_SET))); - kxxMzzFromfcNEQ_SET = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (c1o1 + drho_SET) - ((vx1_SET*vx1_SET-vx3_SET*vx3_SET))); - - ////////////////////////////////////////////////////////////////////////// - //SEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - drho_SEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_SEB = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SEB); - vx2_SEB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SEB); - vx3_SEB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SEB); - - kxyFromfcNEQ_SEB = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx2_SEB))); - kyzFromfcNEQ_SEB = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SEB) - ((vx2_SEB*vx3_SEB))); - kxzFromfcNEQ_SEB = -c3o1*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx3_SEB))); - kxxMyyFromfcNEQ_SEB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx1_SEB-vx2_SEB*vx2_SEB))); - kxxMzzFromfcNEQ_SEB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx1_SEB-vx3_SEB*vx3_SEB))); - - ////////////////////////////////////////////////////////////////////////// - //NWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= k0s; - k0w = k0sw; - k0s = neighborFY[k0s]; - k0b = k0bs; - k0sw = neighborFY[k0sw]; - k0bw = k0bsw; - k0bs = neighborFY[k0bs]; - k0bsw = neighborFY[k0bsw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - drho_NWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_NWB = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NWB); - vx2_NWB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWB); - vx3_NWB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWB); - - kxyFromfcNEQ_NWB = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx2_NWB))); - kyzFromfcNEQ_NWB = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NWB) - ((vx2_NWB*vx3_NWB))); - kxzFromfcNEQ_NWB = -c3o1*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx3_NWB))); - kxxMyyFromfcNEQ_NWB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx1_NWB-vx2_NWB*vx2_NWB))); - kxxMzzFromfcNEQ_NWB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx1_NWB-vx3_NWB*vx3_NWB))); - - ////////////////////////////////////////////////////////////////////////// - //NWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - drho_NWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_NWT = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NWT); - vx2_NWT = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWT); - vx3_NWT = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWT); - - kxyFromfcNEQ_NWT = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx2_NWT))); - kyzFromfcNEQ_NWT = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NWT) - ((vx2_NWT*vx3_NWT))); - kxzFromfcNEQ_NWT = -c3o1*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx3_NWT))); - kxxMyyFromfcNEQ_NWT = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx1_NWT-vx2_NWT*vx2_NWT))); - kxxMzzFromfcNEQ_NWT = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx1_NWT-vx3_NWT*vx3_NWT))); - - ////////////////////////////////////////////////////////////////////////// - //NET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - drho_NET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_NET = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NET); - vx2_NET = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NET); - vx3_NET = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NET); - - kxyFromfcNEQ_NET = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NET) - ((vx1_NET*vx2_NET))); - kyzFromfcNEQ_NET = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NET) - ((vx2_NET*vx3_NET))); - kxzFromfcNEQ_NET = -c3o1*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_NET) - ((vx1_NET*vx3_NET))); - kxxMyyFromfcNEQ_NET = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (c1o1 + drho_NET) - ((vx1_NET*vx1_NET-vx2_NET*vx2_NET))); - kxxMzzFromfcNEQ_NET = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (c1o1 + drho_NET) - ((vx1_NET*vx1_NET-vx3_NET*vx3_NET))); - - ////////////////////////////////////////////////////////////////////////// - //NEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - drho_NEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_NEB = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NEB); - vx2_NEB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NEB); - vx3_NEB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NEB); - - kxyFromfcNEQ_NEB = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx2_NEB))); - kyzFromfcNEQ_NEB = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NEB) - ((vx2_NEB*vx3_NEB))); - kxzFromfcNEQ_NEB = -c3o1*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx3_NEB))); - kxxMyyFromfcNEQ_NEB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx1_NEB-vx2_NEB*vx2_NEB))); - kxxMzzFromfcNEQ_NEB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx1_NEB-vx3_NEB*vx3_NEB))); - - ////////////////////////////////////////////////////////////////////////// - //3 - ////////////////////////////////////////////////////////////////////////// - a0 = (-kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT - - kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - - kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - - c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET - c2o1*kxyFromfcNEQ_NWB - c2o1*kxyFromfcNEQ_NWT + - c2o1*kxyFromfcNEQ_SEB + c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + - c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB - c2o1*kxzFromfcNEQ_NWT + - c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB - c2o1*kxzFromfcNEQ_SWT + - c8o1*vx1_NEB + c8o1*vx1_NET + c8o1*vx1_NWB + c8o1*vx1_NWT + c8o1*vx1_SEB + - c8o1*vx1_SET + c8o1*vx1_SWB + c8o1*vx1_SWT + c2o1*vx2_NEB + c2o1*vx2_NET - - c2o1*vx2_NWB - c2o1*vx2_NWT - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + - c2o1*vx2_SWT - c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - - c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1; - b0 = (c2o1*kxxMyyFromfcNEQ_NEB + c2o1*kxxMyyFromfcNEQ_NET + c2o1*kxxMyyFromfcNEQ_NWB + c2o1*kxxMyyFromfcNEQ_NWT - - c2o1*kxxMyyFromfcNEQ_SEB - c2o1*kxxMyyFromfcNEQ_SET - c2o1*kxxMyyFromfcNEQ_SWB - c2o1*kxxMyyFromfcNEQ_SWT - - kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - - c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET + c2o1*kxyFromfcNEQ_NWB + c2o1*kxyFromfcNEQ_NWT - - c2o1*kxyFromfcNEQ_SEB - c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + - c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET + c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + - c2o1*kyzFromfcNEQ_SEB - c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB - c2o1*kyzFromfcNEQ_SWT + - c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT + - c8o1*vx2_NEB + c8o1*vx2_NET + c8o1*vx2_NWB + c8o1*vx2_NWT + - c8o1*vx2_SEB + c8o1*vx2_SET + c8o1*vx2_SWB + c8o1*vx2_SWT - - c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + - c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1; - c0 = (kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT - - c2o1*kxxMzzFromfcNEQ_NEB + c2o1*kxxMzzFromfcNEQ_NET - c2o1*kxxMzzFromfcNEQ_NWB + c2o1*kxxMzzFromfcNEQ_NWT - - c2o1*kxxMzzFromfcNEQ_SEB + c2o1*kxxMzzFromfcNEQ_SET - c2o1*kxxMzzFromfcNEQ_SWB + c2o1*kxxMzzFromfcNEQ_SWT - - c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB + c2o1*kxzFromfcNEQ_NWT - - c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB + c2o1*kxzFromfcNEQ_SWT - - c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET - c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + - c2o1*kyzFromfcNEQ_SEB + c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB + c2o1*kyzFromfcNEQ_SWT - - c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - - c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT + - c8o1*vx3_NEB + c8o1*vx3_NET + c8o1*vx3_NWB + c8o1*vx3_NWT + - c8o1*vx3_SEB + c8o1*vx3_SET + c8o1*vx3_SWB + c8o1*vx3_SWT)/c64o1; - ax = (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT + vx1_SEB + vx1_SET - vx1_SWB - vx1_SWT)/c4o1; - bx = (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT + vx2_SEB + vx2_SET - vx2_SWB - vx2_SWT)/c4o1; - cx = (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT + vx3_SEB + vx3_SET - vx3_SWB - vx3_SWT)/c4o1; - axx= (kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT + - kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + - c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB - c2o1*vx2_NWT - - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + c2o1*vx2_SWT - - c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - - c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1; - bxx= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET - kxyFromfcNEQ_NWB - kxyFromfcNEQ_NWT + - kxyFromfcNEQ_SEB + kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - - c2o1*vx1_NEB - c2o1*vx1_NET + c2o1*vx1_NWB + c2o1*vx1_NWT + - c2o1*vx1_SEB + c2o1*vx1_SET - c2o1*vx1_SWB - c2o1*vx1_SWT)/c8o1; - cxx= (kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB - kxzFromfcNEQ_NWT + - kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB - kxzFromfcNEQ_SWT + - c2o1*vx1_NEB - c2o1*vx1_NET - c2o1*vx1_NWB + c2o1*vx1_NWT + - c2o1*vx1_SEB - c2o1*vx1_SET - c2o1*vx1_SWB + c2o1*vx1_SWT)/c8o1; - ay = (vx1_NEB + vx1_NET + vx1_NWB + vx1_NWT - vx1_SEB - vx1_SET - vx1_SWB - vx1_SWT)/c4o1; - by = (vx2_NEB + vx2_NET + vx2_NWB + vx2_NWT - vx2_SEB - vx2_SET - vx2_SWB - vx2_SWT)/c4o1; - cy = (vx3_NEB + vx3_NET + vx3_NWB + vx3_NWT - vx3_SEB - vx3_SET - vx3_SWB - vx3_SWT)/c4o1; - ayy= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET + kxyFromfcNEQ_NWB + kxyFromfcNEQ_NWT - - kxyFromfcNEQ_SEB - kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - - c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB + c2o1*vx2_NWT + - c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB - c2o1*vx2_SWT)/c8o1; - byy= (-c2o1*kxxMyyFromfcNEQ_NEB - c2o1*kxxMyyFromfcNEQ_NET - c2o1*kxxMyyFromfcNEQ_NWB - c2o1*kxxMyyFromfcNEQ_NWT + - c2o1*kxxMyyFromfcNEQ_SEB + c2o1*kxxMyyFromfcNEQ_SET + c2o1*kxxMyyFromfcNEQ_SWB + c2o1*kxxMyyFromfcNEQ_SWT + - kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - - kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + - c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT - - c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + - c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1; - cyy= (kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET + kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - - kyzFromfcNEQ_SEB - kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB - kyzFromfcNEQ_SWT + - c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB - c2o1*vx2_NWT - - c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB + c2o1*vx2_SWT)/c8o1; - az = (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT - vx1_SEB + vx1_SET - vx1_SWB + vx1_SWT)/c4o1; - bz = (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT - vx2_SEB + vx2_SET - vx2_SWB + vx2_SWT)/c4o1; - cz = (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT - vx3_SEB + vx3_SET - vx3_SWB + vx3_SWT)/c4o1; - azz= (-kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB + kxzFromfcNEQ_NWT - - kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB + kxzFromfcNEQ_SWT + - c2o1*vx3_NEB - c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + - c2o1*vx3_SEB - c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1; - bzz= (-kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET - kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - - kyzFromfcNEQ_SEB + kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB + kyzFromfcNEQ_SWT + - c2o1*vx3_NEB - c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - - c2o1*vx3_SEB + c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1; - czz= (-kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT + - c2o1*kxxMzzFromfcNEQ_NEB - c2o1*kxxMzzFromfcNEQ_NET + c2o1*kxxMzzFromfcNEQ_NWB - c2o1*kxxMzzFromfcNEQ_NWT + - c2o1*kxxMzzFromfcNEQ_SEB - c2o1*kxxMzzFromfcNEQ_SET + c2o1*kxxMzzFromfcNEQ_SWB - c2o1*kxxMzzFromfcNEQ_SWT - - c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - - c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT)/c16o1; - axy= (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT - vx1_SEB - vx1_SET + vx1_SWB + vx1_SWT)/c2o1; - bxy= (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT - vx2_SEB - vx2_SET + vx2_SWB + vx2_SWT)/c2o1; - cxy= (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT - vx3_SEB - vx3_SET + vx3_SWB + vx3_SWT)/c2o1; - axz= (-vx1_NEB + vx1_NET + vx1_NWB - vx1_NWT - vx1_SEB + vx1_SET + vx1_SWB - vx1_SWT)/c2o1; - bxz= (-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT - vx2_SEB + vx2_SET + vx2_SWB - vx2_SWT)/c2o1; - cxz= (-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT - vx3_SEB + vx3_SET + vx3_SWB - vx3_SWT)/c2o1; - ayz= (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT + vx1_SEB - vx1_SET + vx1_SWB - vx1_SWT)/c2o1; - byz= (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT + vx2_SEB - vx2_SET + vx2_SWB - vx2_SWT)/c2o1; - cyz= (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT + vx3_SEB - vx3_SET + vx3_SWB - vx3_SWT)/c2o1; - //axyz=-vx1_NEB + vx1_NET + vx1_NWB - vx1_NWT + vx1_SEB - vx1_SET - vx1_SWB + vx1_SWT; - //bxyz=-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT + vx2_SEB - vx2_SET - vx2_SWB + vx2_SWT; - //cxyz=-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT + vx3_SEB - vx3_SET - vx3_SWB + vx3_SWT; - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real kxyAverage =(kxyFromfcNEQ_SWB+ - kxyFromfcNEQ_SWT+ - kxyFromfcNEQ_SET+ - kxyFromfcNEQ_SEB+ - kxyFromfcNEQ_NWB+ - kxyFromfcNEQ_NWT+ - kxyFromfcNEQ_NET+ - kxyFromfcNEQ_NEB)*c1o8-(ay+bx); - real kyzAverage =(kyzFromfcNEQ_SWB+ - kyzFromfcNEQ_SWT+ - kyzFromfcNEQ_SET+ - kyzFromfcNEQ_SEB+ - kyzFromfcNEQ_NWB+ - kyzFromfcNEQ_NWT+ - kyzFromfcNEQ_NET+ - kyzFromfcNEQ_NEB)*c1o8-(bz+cy); - real kxzAverage =(kxzFromfcNEQ_SWB+ - kxzFromfcNEQ_SWT+ - kxzFromfcNEQ_SET+ - kxzFromfcNEQ_SEB+ - kxzFromfcNEQ_NWB+ - kxzFromfcNEQ_NWT+ - kxzFromfcNEQ_NET+ - kxzFromfcNEQ_NEB)*c1o8-(az+cx); - real kxxMyyAverage =(kxxMyyFromfcNEQ_SWB+ - kxxMyyFromfcNEQ_SWT+ - kxxMyyFromfcNEQ_SET+ - kxxMyyFromfcNEQ_SEB+ - kxxMyyFromfcNEQ_NWB+ - kxxMyyFromfcNEQ_NWT+ - kxxMyyFromfcNEQ_NET+ - kxxMyyFromfcNEQ_NEB)*c1o8-(ax-by); - real kxxMzzAverage =(kxxMzzFromfcNEQ_SWB+ - kxxMzzFromfcNEQ_SWT+ - kxxMzzFromfcNEQ_SET+ - kxxMzzFromfcNEQ_SEB+ - kxxMzzFromfcNEQ_NWB+ - kxxMzzFromfcNEQ_NWT+ - kxxMzzFromfcNEQ_NET+ - kxxMzzFromfcNEQ_NEB)*c1o8-(ax-cz); - - - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - ////Press - //d0 = ( press_NEB + press_NET + press_NWB + press_NWT + press_SEB + press_SET + press_SWB + press_SWT) * c1o8; - //dx = ( press_NEB + press_NET - press_NWB - press_NWT + press_SEB + press_SET - press_SWB - press_SWT) * c1o4; - //dy = ( press_NEB + press_NET + press_NWB + press_NWT - press_SEB - press_SET - press_SWB - press_SWT) * c1o4; - //dz = (-press_NEB + press_NET - press_NWB + press_NWT - press_SEB + press_SET - press_SWB + press_SWT) * c1o4; - //dxy = ( press_NEB + press_NET - press_NWB - press_NWT - press_SEB - press_SET + press_SWB + press_SWT) * c1o2; - //dxz = (-press_NEB + press_NET + press_NWB - press_NWT - press_SEB + press_SET + press_SWB - press_SWT) * c1o2; - //dyz = (-press_NEB + press_NET - press_NWB + press_NWT + press_SEB - press_SET + press_SWB - press_SWT) * c1o2; - //dxyz = -press_NEB + press_NET + press_NWB - press_NWT + press_SEB - press_SET - press_SWB + press_SWT; - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho - d0 = ( drho_NEB + drho_NET + drho_NWB + drho_NWT + drho_SEB + drho_SET + drho_SWB + drho_SWT) * c1o8; - dx = ( drho_NEB + drho_NET - drho_NWB - drho_NWT + drho_SEB + drho_SET - drho_SWB - drho_SWT) * c1o4; - dy = ( drho_NEB + drho_NET + drho_NWB + drho_NWT - drho_SEB - drho_SET - drho_SWB - drho_SWT) * c1o4; - dz = (-drho_NEB + drho_NET - drho_NWB + drho_NWT - drho_SEB + drho_SET - drho_SWB + drho_SWT) * c1o4; - dxy = ( drho_NEB + drho_NET - drho_NWB - drho_NWT - drho_SEB - drho_SET + drho_SWB + drho_SWT) * c1o2; - dxz = (-drho_NEB + drho_NET + drho_NWB - drho_NWT - drho_SEB + drho_SET + drho_SWB - drho_SWT) * c1o2; - dyz = (-drho_NEB + drho_NET - drho_NWB + drho_NWT + drho_SEB - drho_SET + drho_SWB - drho_SWT) * c1o2; - //dxyz = -drho_NEB + drho_NET + drho_NWB - drho_NWT + drho_SEB - drho_SET - drho_SWB + drho_SWT; - //d0 = zero; - //dx = zero; - //dy = zero; - //dz = zero; - //dxy = zero; - //dxz = zero; - //dyz = zero; - //dxyz = zero; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - // Bernd das Brot - // - // - // x------x - // | | - // | ---+--->X - // | | \ - // x------x \ - // off-vector - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - a0 = a0 + xoff * ax + yoff * ay + zoff * az + xoff_sq * axx + yoff_sq * ayy + zoff_sq * azz + xoff*yoff*axy + xoff*zoff*axz + yoff*zoff*ayz; - ax = ax + c2o1 * xoff * axx + yoff * axy + zoff * axz; - ay = ay + c2o1 * yoff * ayy + xoff * axy + zoff * ayz; - az = az + c2o1 * zoff * azz + xoff * axz + yoff * ayz; - b0 = b0 + xoff * bx + yoff * by + zoff * bz + xoff_sq * bxx + yoff_sq * byy + zoff_sq * bzz + xoff*yoff*bxy + xoff*zoff*bxz + yoff*zoff*byz; - bx = bx + c2o1 * xoff * bxx + yoff * bxy + zoff * bxz; - by = by + c2o1 * yoff * byy + xoff * bxy + zoff * byz; - bz = bz + c2o1 * zoff * bzz + xoff * bxz + yoff * byz; - c0 = c0 + xoff * cx + yoff * cy + zoff * cz + xoff_sq * cxx + yoff_sq * cyy + zoff_sq * czz + xoff*yoff*cxy + xoff*zoff*cxz + yoff*zoff*cyz; - cx = cx + c2o1 * xoff * cxx + yoff * cxy + zoff * cxz; - cy = cy + c2o1 * yoff * cyy + xoff * cxy + zoff * cyz; - cz = cz + c2o1 * zoff * czz + xoff * cxz + yoff * cyz; - d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // FIX /////////////////////////////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //AAAAAAAAAAAAHHHHHHHHHHHH!!!!! Mieser Test!!! - //b0= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz= c0= cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero; - //b0=zero; - //bx=zero; - //by=zero; - //bz=zero; - //bxx=zero; - //byy=zero; - //bzz=zero; - //bxy=zero; - //bxz=zero; - //byz=zero; - //c0=zero; - //cx=zero; - //cy=zero; - //cz=zero; - //cxx=zero; - //cyy=zero; - //czz=zero; - //cxy=zero; - //cxz=zero; - //cyz=zero; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = c0o1; - real mfabb = c0o1; - real mfbcb = c0o1; - real mfbab = c0o1; - real mfbbc = c0o1; - real mfbba = c0o1; - real mfccb = c0o1; - real mfaab = c0o1; - real mfcab = c0o1; - real mfacb = c0o1; - real mfcbc = c0o1; - real mfaba = c0o1; - real mfcba = c0o1; - real mfabc = c0o1; - real mfbcc = c0o1; - real mfbaa = c0o1; - real mfbca = c0o1; - real mfbac = c0o1; - real mfbbb = c0o1; - real mfccc = c0o1; - real mfaac = c0o1; - real mfcac = c0o1; - real mfacc = c0o1; - real mfcca = c0o1; - real mfaaa = c0o1; - real mfcaa = c0o1; - real mfaca = c0o1; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real m0, m1, m2, vvx, vvy, vvz, vx2, vy2, vz2, oMdrho; - real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz; - real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein - real O3 = c2o1 - o; - real residu, residutmp; - residutmp = c0o1;///*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new; - real NeqOn = c1o1;//zero;//one; //.... one = on ..... zero = off - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position C 0., 0., 0. - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //x = 0.; - //y = 0.; - //z = 0.; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //real mxoff = -xoff; - //real myoff = -yoff; - //real mzoff = -zoff; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //press = press_NET * (c1o8 - c1o4 * mxoff - c1o4 * myoff - c1o4 * mzoff) + - // press_NWT * (c1o8 + c1o4 * mxoff - c1o4 * myoff - c1o4 * mzoff) + - // press_SET * (c1o8 - c1o4 * mxoff + c1o4 * myoff - c1o4 * mzoff) + - // press_SWT * (c1o8 + c1o4 * mxoff + c1o4 * myoff - c1o4 * mzoff) + - // press_NEB * (c1o8 - c1o4 * mxoff - c1o4 * myoff + c1o4 * mzoff) + - // press_NWB * (c1o8 + c1o4 * mxoff - c1o4 * myoff + c1o4 * mzoff) + - // press_SEB * (c1o8 - c1o4 * mxoff + c1o4 * myoff + c1o4 * mzoff) + - // press_SWB * (c1o8 + c1o4 * mxoff + c1o4 * myoff + c1o4 * mzoff); - //drho = drho_NET * (c1o8 - c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + - // drho_NWT * (c1o8 + c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + - // drho_SET * (c1o8 - c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + - // drho_SWT * (c1o8 + c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + - // drho_NEB * (c1o8 - c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + - // drho_NWB * (c1o8 + c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + - // drho_SEB * (c1o8 - c1o4 * xoff + c1o4 * yoff + c1o4 * zoff) + - // drho_SWB * (c1o8 + c1o4 * xoff + c1o4 * yoff + c1o4 * zoff); - press = d0; - vvx = a0; - vvy = b0; - vvz = c0; - - //mfaaa = drho; - //mfaaa = press + (ax+by+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //two - // linear combinations - mxxPyyPzz = mfaaa; - //mxxMyy = -c2o3*(ax - by)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy)*eps_new/o; - //mfbab = -c1o3 * (az + cx)*eps_new/o; - //mfbba = -c1o3 * (ay + bx)*eps_new/o; - mxxMyy = -c2o3*((ax - by)+kxxMyyAverage)*eps_new/o*mfaaa; - mxxMzz = -c2o3*((ax - cz)+kxxMzzAverage)*eps_new/o*mfaaa; - - mfabb = -c1o3 * ((bz + cy)+kyzAverage)*eps_new/o*mfaaa; - mfbab = -c1o3 * ((az + cx)+kxzAverage)*eps_new/o*mfaaa; - mfbba = -c1o3 * ((ay + bx)+kxyAverage)*eps_new/o*mfaaa; - - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //3. - // linear combinations - residu = residutmp * (ayz + bxz + cxy ); - mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu))*mfaaa; - - residu = residutmp * (axy + c2o1*bxx + c2o1*bzz + cyz ); - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz )); - mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu))*mfaaa; - - residu = residutmp * (axy + c2o1*bxx - c2o1*bzz - cyz ); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz ); - mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu))*mfaaa; - - residu = residutmp * (axz + byz + c2o1*cxx + c2o1*cyy ); - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy )); - mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu))*mfaaa; - - residu = residutmp * (axz - byz + c2o1*cxx - c2o1*cyy ); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy ); - mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu))*mfaaa; - - residu = residutmp * (c2o1*ayy + c2o1*azz + bxy + cxz ); - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz ); - mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu))*mfaaa; - - residu = residutmp * (c2o1*ayy - c2o1*azz + bxy - cxz ); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz ); - mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu))*mfaaa; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4. - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - //index 0 - kzero= posC[k]; - kw = neighborCX[kzero]; - ks = neighborCY[kzero]; - kb = neighborCZ[kzero]; - ksw = neighborCY[kw]; - kbw = neighborCZ[kw]; - kbs = neighborCZ[ks]; - kbsw = neighborCZ[ksw]; - //////////////////////////////////////////////////////////////////////////////////// - - - //////////////////////////////////////////////////////////////////////////////////// - feC[kzero] = mfcbb; - fwC[kw] = mfabb; - fnC[kzero] = mfbcb; - fsC[ks] = mfbab; - ftC[kzero] = mfbbc; - fbC[kb] = mfbba; - fneC[kzero] = mfccb; - fswC[ksw] = mfaab; - fseC[ks] = mfcab; - fnwC[kw] = mfacb; - fteC[kzero] = mfcbc; - fbwC[kbw] = mfaba; - fbeC[kb] = mfcba; - ftwC[kw] = mfabc; - ftnC[kzero] = mfbcc; - fbsC[kbs] = mfbaa; - fbnC[kb] = mfbca; - ftsC[ks] = mfbac; - fzeroC[kzero] = mfbbb; - ftneC[kzero] = mfccc; - ftseC[ks] = mfcac; - fbneC[kb] = mfcca; - fbseC[kbs] = mfcaa; - ftnwC[kw] = mfacc; - ftswC[ksw] = mfaac; - fbnwC[kbw] = mfaca; - fbswC[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - } -} -////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -////////////////////////////////////////////////////////////////////////// -__global__ void scaleFC_Fix_comp_27( real* DC, - real* DF, - unsigned int* neighborCX, - unsigned int* neighborCY, - unsigned int* neighborCZ, - unsigned int* neighborFX, - unsigned int* neighborFY, - unsigned int* neighborFZ, - unsigned long long numberOfLBnodesCoarse, - unsigned long long numberOfLBnodesFine, - bool isEvenTimestep, - unsigned int* posC, - unsigned int* posFSWB, - unsigned int kFC, - real omCoarse, - real omFine, - real nu, - unsigned int nxC, - unsigned int nyC, - unsigned int nxF, - unsigned int nyF, - ICellNeigh offFC) -{ - real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, - *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - - feF = &DF[dP00 * numberOfLBnodesFine]; - fwF = &DF[dM00 * numberOfLBnodesFine]; - fnF = &DF[d0P0 * numberOfLBnodesFine]; - fsF = &DF[d0M0 * numberOfLBnodesFine]; - ftF = &DF[d00P * numberOfLBnodesFine]; - fbF = &DF[d00M * numberOfLBnodesFine]; - fneF = &DF[dPP0 * numberOfLBnodesFine]; - fswF = &DF[dMM0 * numberOfLBnodesFine]; - fseF = &DF[dPM0 * numberOfLBnodesFine]; - fnwF = &DF[dMP0 * numberOfLBnodesFine]; - fteF = &DF[dP0P * numberOfLBnodesFine]; - fbwF = &DF[dM0M * numberOfLBnodesFine]; - fbeF = &DF[dP0M * numberOfLBnodesFine]; - ftwF = &DF[dM0P * numberOfLBnodesFine]; - ftnF = &DF[d0PP * numberOfLBnodesFine]; - fbsF = &DF[d0MM * numberOfLBnodesFine]; - fbnF = &DF[d0PM * numberOfLBnodesFine]; - ftsF = &DF[d0MP * numberOfLBnodesFine]; - fzeroF = &DF[d000 * numberOfLBnodesFine]; - ftneF = &DF[dPPP * numberOfLBnodesFine]; - ftswF = &DF[dMMP * numberOfLBnodesFine]; - ftseF = &DF[dPMP * numberOfLBnodesFine]; - ftnwF = &DF[dMPP * numberOfLBnodesFine]; - fbneF = &DF[dPPM * numberOfLBnodesFine]; - fbswF = &DF[dMMM * numberOfLBnodesFine]; - fbseF = &DF[dPMM * numberOfLBnodesFine]; - fbnwF = &DF[dMPM * numberOfLBnodesFine]; - - real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, *fzeroC, - *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; - - if (isEvenTimestep==true) - { - feC = &DC[dP00 * numberOfLBnodesCoarse]; - fwC = &DC[dM00 * numberOfLBnodesCoarse]; - fnC = &DC[d0P0 * numberOfLBnodesCoarse]; - fsC = &DC[d0M0 * numberOfLBnodesCoarse]; - ftC = &DC[d00P * numberOfLBnodesCoarse]; - fbC = &DC[d00M * numberOfLBnodesCoarse]; - fneC = &DC[dPP0 * numberOfLBnodesCoarse]; - fswC = &DC[dMM0 * numberOfLBnodesCoarse]; - fseC = &DC[dPM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dMP0 * numberOfLBnodesCoarse]; - fteC = &DC[dP0P * numberOfLBnodesCoarse]; - fbwC = &DC[dM0M * numberOfLBnodesCoarse]; - fbeC = &DC[dP0M * numberOfLBnodesCoarse]; - ftwC = &DC[dM0P * numberOfLBnodesCoarse]; - ftnC = &DC[d0PP * numberOfLBnodesCoarse]; - fbsC = &DC[d0MM * numberOfLBnodesCoarse]; - fbnC = &DC[d0PM * numberOfLBnodesCoarse]; - ftsC = &DC[d0MP * numberOfLBnodesCoarse]; - fzeroC = &DC[d000 * numberOfLBnodesCoarse]; - ftneC = &DC[dPPP * numberOfLBnodesCoarse]; - ftswC = &DC[dMMP * numberOfLBnodesCoarse]; - ftseC = &DC[dPMP * numberOfLBnodesCoarse]; - ftnwC = &DC[dMPP * numberOfLBnodesCoarse]; - fbneC = &DC[dPPM * numberOfLBnodesCoarse]; - fbswC = &DC[dMMM * numberOfLBnodesCoarse]; - fbseC = &DC[dPMM * numberOfLBnodesCoarse]; - fbnwC = &DC[dMPM * numberOfLBnodesCoarse]; - } - else - { - fwC = &DC[dP00 * numberOfLBnodesCoarse]; - feC = &DC[dM00 * numberOfLBnodesCoarse]; - fsC = &DC[d0P0 * numberOfLBnodesCoarse]; - fnC = &DC[d0M0 * numberOfLBnodesCoarse]; - fbC = &DC[d00P * numberOfLBnodesCoarse]; - ftC = &DC[d00M * numberOfLBnodesCoarse]; - fswC = &DC[dPP0 * numberOfLBnodesCoarse]; - fneC = &DC[dMM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dPM0 * numberOfLBnodesCoarse]; - fseC = &DC[dMP0 * numberOfLBnodesCoarse]; - fbwC = &DC[dP0P * numberOfLBnodesCoarse]; - fteC = &DC[dM0M * numberOfLBnodesCoarse]; - ftwC = &DC[dP0M * numberOfLBnodesCoarse]; - fbeC = &DC[dM0P * numberOfLBnodesCoarse]; - fbsC = &DC[d0PP * numberOfLBnodesCoarse]; - ftnC = &DC[d0MM * numberOfLBnodesCoarse]; - ftsC = &DC[d0PM * numberOfLBnodesCoarse]; - fbnC = &DC[d0MP * numberOfLBnodesCoarse]; - fzeroC = &DC[d000 * numberOfLBnodesCoarse]; - fbswC = &DC[dPPP * numberOfLBnodesCoarse]; - fbneC = &DC[dMMP * numberOfLBnodesCoarse]; - fbnwC = &DC[dPMP * numberOfLBnodesCoarse]; - fbseC = &DC[dMPP * numberOfLBnodesCoarse]; - ftswC = &DC[dPPM * numberOfLBnodesCoarse]; - ftneC = &DC[dMMM * numberOfLBnodesCoarse]; - ftnwC = &DC[dPMM * numberOfLBnodesCoarse]; - ftseC = &DC[dMPM * numberOfLBnodesCoarse]; - } - //////////////////////////////////////////////////////////////////////////////// - const unsigned ix = threadIdx.x; // Globaler x-Index - const unsigned iy = blockIdx.x; // Globaler y-Index - const unsigned iz = blockIdx.y; // Globaler z-Index - - const unsigned nx = blockDim.x; - const unsigned ny = gridDim.x; - - const unsigned k = nx*(ny*iz + iy) + ix; - ////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////// - real eps_new = c2o1; - real omegaS = omFine;//-omFine; - real o = omCoarse;//-omCoarse; - //real op = one; - //real cu_sq; - - real xoff, yoff, zoff; - real xoff_sq, yoff_sq, zoff_sq; - - // real drho; - real vvx, vvy, vvz, vx2, vy2, vz2; - real press;//,drho,vx1,vx2,vx3; - real /*press_SWT,*/drho_SWT,vx1_SWT,vx2_SWT,vx3_SWT; - real /*press_NWT,*/drho_NWT,vx1_NWT,vx2_NWT,vx3_NWT; - real /*press_NET,*/drho_NET,vx1_NET,vx2_NET,vx3_NET; - real /*press_SET,*/drho_SET,vx1_SET,vx2_SET,vx3_SET; - real /*press_SWB,*/drho_SWB,vx1_SWB,vx2_SWB,vx3_SWB; - real /*press_NWB,*/drho_NWB,vx1_NWB,vx2_NWB,vx3_NWB; - real /*press_NEB,*/drho_NEB,vx1_NEB,vx2_NEB,vx3_NEB; - real /*press_SEB,*/drho_SEB,vx1_SEB,vx2_SEB,vx3_SEB; - real f_E,f_W,f_N,f_S,f_T,f_B,f_NE,f_SW,f_SE,f_NW,f_TE,f_BW,f_BE,f_TW,f_TN,f_BS,f_BN,f_TS,f_ZERO,f_TNE, f_TSW, f_TSE, f_TNW, f_BNE, f_BSW, f_BSE, f_BNW; - //real feq_E,feq_W,feq_N,feq_S,feq_T,feq_B,feq_NE,feq_SW,feq_SE,feq_NW,feq_TE,feq_BW,feq_BE,feq_TW,feq_TN,feq_BS,feq_BN,feq_TS,feq_ZERO,feq_TNE, feq_TSW, feq_TSE, feq_TNW, feq_BNE, feq_BSW, feq_BSE, feq_BNW; - real kxyFromfcNEQ_SWT, kyzFromfcNEQ_SWT, kxzFromfcNEQ_SWT, kxxMyyFromfcNEQ_SWT, kxxMzzFromfcNEQ_SWT, kyyMzzFromfcNEQ_SWT; - real kxyFromfcNEQ_NWT, kyzFromfcNEQ_NWT, kxzFromfcNEQ_NWT, kxxMyyFromfcNEQ_NWT, kxxMzzFromfcNEQ_NWT, kyyMzzFromfcNEQ_NWT; - real kxyFromfcNEQ_NET, kyzFromfcNEQ_NET, kxzFromfcNEQ_NET, kxxMyyFromfcNEQ_NET, kxxMzzFromfcNEQ_NET, kyyMzzFromfcNEQ_NET; - real kxyFromfcNEQ_SET, kyzFromfcNEQ_SET, kxzFromfcNEQ_SET, kxxMyyFromfcNEQ_SET, kxxMzzFromfcNEQ_SET, kyyMzzFromfcNEQ_SET; - real kxyFromfcNEQ_SWB, kyzFromfcNEQ_SWB, kxzFromfcNEQ_SWB, kxxMyyFromfcNEQ_SWB, kxxMzzFromfcNEQ_SWB, kyyMzzFromfcNEQ_SWB; - real kxyFromfcNEQ_NWB, kyzFromfcNEQ_NWB, kxzFromfcNEQ_NWB, kxxMyyFromfcNEQ_NWB, kxxMzzFromfcNEQ_NWB, kyyMzzFromfcNEQ_NWB; - real kxyFromfcNEQ_NEB, kyzFromfcNEQ_NEB, kxzFromfcNEQ_NEB, kxxMyyFromfcNEQ_NEB, kxxMzzFromfcNEQ_NEB, kyyMzzFromfcNEQ_NEB; - real kxyFromfcNEQ_SEB, kyzFromfcNEQ_SEB, kxzFromfcNEQ_SEB, kxxMyyFromfcNEQ_SEB, kxxMzzFromfcNEQ_SEB, kyyMzzFromfcNEQ_SEB; - real a0, ax, ay, az, axx, ayy, azz, axy, axz, ayz, b0, bx, by, bz, bxx, byy, bzz, bxy, bxz, byz, c0, cx, cy, cz, cxx, cyy, czz, cxy, cxz, cyz/*, axyz, bxyz, cxyz*/; - real d0, dx, dy, dz, dxy, dxz, dyz/*, dxyz*/; - - if(k<kFC) - { - ////////////////////////////////////////////////////////////////////////// - xoff = offFC.x[k]; - yoff = offFC.y[k]; - zoff = offFC.z[k]; - xoff_sq = xoff * xoff; - yoff_sq = yoff * yoff; - zoff_sq = zoff * zoff; - ////////////////////////////////////////////////////////////////////////// - //SWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - unsigned int k0zero= posFSWB[k]; - unsigned int k0w = neighborFX[k0zero]; - unsigned int k0s = neighborFY[k0zero]; - unsigned int k0b = neighborFZ[k0zero]; - unsigned int k0sw = neighborFY[k0w]; - unsigned int k0bw = neighborFZ[k0w]; - unsigned int k0bs = neighborFZ[k0s]; - unsigned int k0bsw = neighborFZ[k0sw]; - ////////////////////////////////////////////////////////////////////////// - //index - unsigned int kzero= k0zero; - unsigned int kw = k0w; - unsigned int ks = k0s; - unsigned int kb = k0b; - unsigned int ksw = k0sw; - unsigned int kbw = k0bw; - unsigned int kbs = k0bs; - unsigned int kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - drho_SWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_SWB = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SWB); - vx2_SWB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWB); - vx3_SWB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWB); - - //nicht konditioniert - //kxyFromfcNEQ_SWB = -three*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (one + drho_SWB) - ((vx1_SWB*vx2_SWB))); - //kyzFromfcNEQ_SWB = -three*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (one + drho_SWB) - ((vx2_SWB*vx3_SWB))); - //kxzFromfcNEQ_SWB = -three*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (one + drho_SWB) - ((vx1_SWB*vx3_SWB))); - //kxxMyyFromfcNEQ_SWB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (one + drho_SWB) - ((vx1_SWB*vx1_SWB-vx2_SWB*vx2_SWB))); - //kxxMzzFromfcNEQ_SWB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (one + drho_SWB) - ((vx1_SWB*vx1_SWB-vx3_SWB*vx3_SWB))); - - kxyFromfcNEQ_SWB = -c3o1*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (c1o1 + drho_SWB) - ((vx1_SWB*vx2_SWB))); - kyzFromfcNEQ_SWB = -c3o1*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (c1o1 + drho_SWB) - ((vx2_SWB*vx3_SWB))); - kxzFromfcNEQ_SWB = -c3o1*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (c1o1 + drho_SWB) - ((vx1_SWB*vx3_SWB))); - kxxMyyFromfcNEQ_SWB = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (c1o1 + drho_SWB) - ((vx1_SWB*vx1_SWB - vx2_SWB*vx2_SWB))); - kxxMzzFromfcNEQ_SWB = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (c1o1 + drho_SWB) - ((vx1_SWB*vx1_SWB - vx3_SWB*vx3_SWB))); - kyyMzzFromfcNEQ_SWB = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (c1o1 + drho_SWB) - ((vx2_SWB*vx2_SWB - vx3_SWB*vx3_SWB))); - - ////konditioniert - //vvx = vx1_SWB; - //vvy = vx2_SWB; - //vvz = vx3_SWB; - //drho = drho_SWB; - //vx2 = vvx * vvx; - //vy2 = vvy * vvy; - //vz2 = vvz * vvz; - - - //f_E -= c2over27*drho + (drho + one)*(c2o9*(vvx + vx2) + (c1o6 + c1o2*(vvx + vx2))*vy2*vz2 - c1o9*(vy2 + vz2) - c1o3*(vvx + vx2)*(vy2 + vz2)); - //f_W -= c2over27*drho - (drho + one)*((vvx - vx2)*(c2o9 - c1o3*vy2) - (c1o6*vy2 + (vvx - vx2)*(c1o3 - c1o2*vy2))*vz2 + c1o9*(vy2 + vz2)); - //f_N -= c2over27*drho + (drho + one)*(c2o9*(vvy + vy2) + vx2*(c1o6 + c1o2*(vvy + vy2))*vz2 - c1o9*(vx2 + vz2) - c1o3*(vvy + vy2)*(vx2 + vz2)); - //f_S -= c2over27*drho - (drho + one)*((c2o9 - c1o3*vx2)*(vvy - vy2) - (c1o6*vx2 + (c1o3 - c1o2*vx2)*(vvy - vy2))*vz2 + c1o9*(vx2 + vz2)); - //f_T -= c2over27*drho + (drho + one)*(-(c1o9*(vx2 + vy2)) + c2o9*(vvz + vz2) - c1o3*(vx2 + vy2)*(vvz + vz2) + vx2*vy2*(c1o6 + c1o2*(vvz + vz2))); - //f_B -= c2over27*drho - (drho + one)*(c1o9*(vx2 + vy2) + c2o9*(vvz - vz2) - c1o3*(vx2 + vy2)*(vvz - vz2) - vx2*vy2*(c1o6 + c1o2*(-vvz + vz2))); - //f_NE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvy + vy2) + c1o18*(vvx + vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx + vx2)*(vvy + vy2) + c1o12*(vvx + vvy + vx2 + vy2))*vz2); - //f_SW -= c1over54*drho + (drho + one)*(c1o6*(vvx - vx2)*(vvy - vy2) + c1o18*(-vvx - vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx - vx2)*(vvy - vy2) + c1o12*(-vvx - vvy + vx2 + vy2))*vz2); - //f_SE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvy - vy2)) + c1o18*(vvx - vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx + vx2)*(vvy - vy2) + c1o12*(vvx - vvy + vx2 + vy2))*vz2); - //f_NW -= c1over54*drho + (drho + one)*(-(c1o6*(vvx - vx2)*(vvy + vy2)) + c1o18*(-vvx + vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx - vx2)*(vvy + vy2) + c1o12*(-vvx + vvy + vx2 + vy2))*vz2); - //f_TE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvz + vz2) + c1o18*(vvx + vvz + vx2 + vz2) - vy2*(c1o36 + c1o4*(vvx + vx2)*(vvz + vz2) + c1o12*(vvx + vvz + vx2 + vz2))); - //f_BW -= c1over54*drho - (drho + one)*(-(c1o6*(vvx - vx2)*(vvz - vz2)) + c1o18*(vvx + vvz - vx2 - vz2) + vy2*(c1o36 + c1o4*(vvx - vx2)*(vvz - vz2) + c1o12*(-vvx - vvz + vx2 + vz2))); - //f_BE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvz - vz2)) + c1o18*(vvx - vvz + vx2 + vz2) - vy2*(c1o36 - c1o4*(vvx + vx2)*(vvz - vz2) + c1o12*(vvx - vvz + vx2 + vz2))); - //f_TW -= c1over54*drho - (drho + one)*(c1o18*(vvx - vvz - vx2 - vz2) + c1o6*(vvx - vx2)*(vvz + vz2) + vy2*(c1o36 - c1o4*(vvx - vx2)*(vvz + vz2) + c1o12*(-vvx + vvz + vx2 + vz2))); - //f_TN -= c1over54*drho + (drho + one)*(c1o6*(vvy + vy2)*(vvz + vz2) + c1o18*(vvy + vvz + vy2 + vz2) - vx2*(c1o36 + c1o4*(vvy + vy2)*(vvz + vz2) + c1o12*(vvy + vvz + vy2 + vz2))); - //f_BS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2))); - //f_BN -= c1over54*drho + (drho + one)*(-(c1o6*(vvy + vy2)*(vvz - vz2)) + c1o18*(vvy - vvz + vy2 + vz2) - vx2*(c1o36 - c1o4*(vvy + vy2)*(vvz - vz2) + c1o12*(vvy - vvz + vy2 + vz2))); - //f_TS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2))); - //f_ZERO -= c8over27*drho - (drho + one)*(vx2*vy2*vz2 + c4o9*(vx2 + vy2 + vz2) - c2o3*(vx2*vy2 + (vx2 + vy2)*vz2)); - //f_TNE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz + vz2) + c1o72*(vvx + vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) + vvx*(vvy + vvz + vy2 + vz2))); - //f_TSW -= c1over216*drho + (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz + vz2) + c1o72*(-vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + vvx*(vvy - vvz - vy2 - vz2) + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2))); - //f_TSE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz + vz2)) + c1o72*(vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2) + vvx*(-vvy + vvz + vy2 + vz2))); - //f_TNW -= c1over216*drho - (drho + one)*(c1o72*(vvx - vvy - vvz - vx2 - vy2 - vz2) + c1o8*(vvx - vx2)*(vvy + vy2)*(vvz + vz2) - c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) - vvx*(vvy + vvz + vy2 + vz2))); - //f_BNE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx + vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvy*vvz) + vvy*vx2 - vvz*vx2 - vvz*vy2 + vx2*vy2 + (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2))); - //f_BSW -= c1over216*drho - (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx + vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvz*vx2 + vvz*vy2 - vx2*vy2 - (vx2 + vy2)*vz2 + vvy*(-vvz + vx2 + vz2) + vvx*(-vvy - vvz + vy2 + vz2))); - //f_BSE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx - vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvx*vvy) - vvx*vvz + vvy*vvz - (vvy + vvz)*vx2 + (vvx - vvz + vx2)*vy2 + (vvx - vvy + vx2 + vy2)*vz2)); - //f_BNW -= c1over216*drho - (drho + one)*(-(c1o8*(vvx - vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx - vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvy*vvz - vvy*vx2 + vvz*vx2 + vvz*vy2 - vx2*vy2 - (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2))); - - //kxyFromfcNEQ_SWB = -three*omegaS *((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (one + drho)); - //kyzFromfcNEQ_SWB = -three*omegaS *((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (one + drho)); - //kxzFromfcNEQ_SWB = -three*omegaS *((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (one + drho)); - //kxxMyyFromfcNEQ_SWB = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (one + drho)); - //kxxMzzFromfcNEQ_SWB = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (one + drho)); - //kyyMzzFromfcNEQ_SWB = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (one + drho)); - - - - ////////////////////////////////////////////////////////////////////////// - //SWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - drho_SWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_SWT = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SWT); - vx2_SWT = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWT); - vx3_SWT = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWT); - - //nicht konditioniert - //kxyFromfcNEQ_SWT = -three*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (one + drho_SWT) - ((vx1_SWT*vx2_SWT))); - //kyzFromfcNEQ_SWT = -three*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (one + drho_SWT) - ((vx2_SWT*vx3_SWT))); - //kxzFromfcNEQ_SWT = -three*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (one + drho_SWT) - ((vx1_SWT*vx3_SWT))); - //kxxMyyFromfcNEQ_SWT = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (one + drho_SWT) - ((vx1_SWT*vx1_SWT-vx2_SWT*vx2_SWT))); - //kxxMzzFromfcNEQ_SWT = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (one + drho_SWT) - ((vx1_SWT*vx1_SWT-vx3_SWT*vx3_SWT))); - - kxyFromfcNEQ_SWT = -c3o1*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (c1o1 + drho_SWT) - ((vx1_SWT*vx2_SWT))); - kyzFromfcNEQ_SWT = -c3o1*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (c1o1 + drho_SWT) - ((vx2_SWT*vx3_SWT))); - kxzFromfcNEQ_SWT = -c3o1*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (c1o1 + drho_SWT) - ((vx1_SWT*vx3_SWT))); - kxxMyyFromfcNEQ_SWT = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (c1o1 + drho_SWT) - ((vx1_SWT*vx1_SWT - vx2_SWT*vx2_SWT))); - kxxMzzFromfcNEQ_SWT = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (c1o1 + drho_SWT) - ((vx1_SWT*vx1_SWT - vx3_SWT*vx3_SWT))); - kyyMzzFromfcNEQ_SWT = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (c1o1 + drho_SWT) - ((vx2_SWT*vx2_SWT - vx3_SWT*vx3_SWT))); - - ////konditioniert - //vvx = vx1_SWT; - //vvy = vx2_SWT; - //vvz = vx3_SWT; - //drho = drho_SWT; - //vx2 = vvx * vvx; - //vy2 = vvy * vvy; - //vz2 = vvz * vvz; - - - //f_E -= c2over27*drho + (drho + one)*(c2o9*(vvx + vx2) + (c1o6 + c1o2*(vvx + vx2))*vy2*vz2 - c1o9*(vy2 + vz2) - c1o3*(vvx + vx2)*(vy2 + vz2)); - //f_W -= c2over27*drho - (drho + one)*((vvx - vx2)*(c2o9 - c1o3*vy2) - (c1o6*vy2 + (vvx - vx2)*(c1o3 - c1o2*vy2))*vz2 + c1o9*(vy2 + vz2)); - //f_N -= c2over27*drho + (drho + one)*(c2o9*(vvy + vy2) + vx2*(c1o6 + c1o2*(vvy + vy2))*vz2 - c1o9*(vx2 + vz2) - c1o3*(vvy + vy2)*(vx2 + vz2)); - //f_S -= c2over27*drho - (drho + one)*((c2o9 - c1o3*vx2)*(vvy - vy2) - (c1o6*vx2 + (c1o3 - c1o2*vx2)*(vvy - vy2))*vz2 + c1o9*(vx2 + vz2)); - //f_T -= c2over27*drho + (drho + one)*(-(c1o9*(vx2 + vy2)) + c2o9*(vvz + vz2) - c1o3*(vx2 + vy2)*(vvz + vz2) + vx2*vy2*(c1o6 + c1o2*(vvz + vz2))); - //f_B -= c2over27*drho - (drho + one)*(c1o9*(vx2 + vy2) + c2o9*(vvz - vz2) - c1o3*(vx2 + vy2)*(vvz - vz2) - vx2*vy2*(c1o6 + c1o2*(-vvz + vz2))); - //f_NE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvy + vy2) + c1o18*(vvx + vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx + vx2)*(vvy + vy2) + c1o12*(vvx + vvy + vx2 + vy2))*vz2); - //f_SW -= c1over54*drho + (drho + one)*(c1o6*(vvx - vx2)*(vvy - vy2) + c1o18*(-vvx - vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx - vx2)*(vvy - vy2) + c1o12*(-vvx - vvy + vx2 + vy2))*vz2); - //f_SE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvy - vy2)) + c1o18*(vvx - vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx + vx2)*(vvy - vy2) + c1o12*(vvx - vvy + vx2 + vy2))*vz2); - //f_NW -= c1over54*drho + (drho + one)*(-(c1o6*(vvx - vx2)*(vvy + vy2)) + c1o18*(-vvx + vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx - vx2)*(vvy + vy2) + c1o12*(-vvx + vvy + vx2 + vy2))*vz2); - //f_TE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvz + vz2) + c1o18*(vvx + vvz + vx2 + vz2) - vy2*(c1o36 + c1o4*(vvx + vx2)*(vvz + vz2) + c1o12*(vvx + vvz + vx2 + vz2))); - //f_BW -= c1over54*drho - (drho + one)*(-(c1o6*(vvx - vx2)*(vvz - vz2)) + c1o18*(vvx + vvz - vx2 - vz2) + vy2*(c1o36 + c1o4*(vvx - vx2)*(vvz - vz2) + c1o12*(-vvx - vvz + vx2 + vz2))); - //f_BE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvz - vz2)) + c1o18*(vvx - vvz + vx2 + vz2) - vy2*(c1o36 - c1o4*(vvx + vx2)*(vvz - vz2) + c1o12*(vvx - vvz + vx2 + vz2))); - //f_TW -= c1over54*drho - (drho + one)*(c1o18*(vvx - vvz - vx2 - vz2) + c1o6*(vvx - vx2)*(vvz + vz2) + vy2*(c1o36 - c1o4*(vvx - vx2)*(vvz + vz2) + c1o12*(-vvx + vvz + vx2 + vz2))); - //f_TN -= c1over54*drho + (drho + one)*(c1o6*(vvy + vy2)*(vvz + vz2) + c1o18*(vvy + vvz + vy2 + vz2) - vx2*(c1o36 + c1o4*(vvy + vy2)*(vvz + vz2) + c1o12*(vvy + vvz + vy2 + vz2))); - //f_BS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2))); - //f_BN -= c1over54*drho + (drho + one)*(-(c1o6*(vvy + vy2)*(vvz - vz2)) + c1o18*(vvy - vvz + vy2 + vz2) - vx2*(c1o36 - c1o4*(vvy + vy2)*(vvz - vz2) + c1o12*(vvy - vvz + vy2 + vz2))); - //f_TS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2))); - //f_ZERO -= c8over27*drho - (drho + one)*(vx2*vy2*vz2 + c4o9*(vx2 + vy2 + vz2) - c2o3*(vx2*vy2 + (vx2 + vy2)*vz2)); - //f_TNE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz + vz2) + c1o72*(vvx + vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) + vvx*(vvy + vvz + vy2 + vz2))); - //f_TSW -= c1over216*drho + (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz + vz2) + c1o72*(-vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + vvx*(vvy - vvz - vy2 - vz2) + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2))); - //f_TSE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz + vz2)) + c1o72*(vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2) + vvx*(-vvy + vvz + vy2 + vz2))); - //f_TNW -= c1over216*drho - (drho + one)*(c1o72*(vvx - vvy - vvz - vx2 - vy2 - vz2) + c1o8*(vvx - vx2)*(vvy + vy2)*(vvz + vz2) - c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) - vvx*(vvy + vvz + vy2 + vz2))); - //f_BNE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx + vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvy*vvz) + vvy*vx2 - vvz*vx2 - vvz*vy2 + vx2*vy2 + (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2))); - //f_BSW -= c1over216*drho - (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx + vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvz*vx2 + vvz*vy2 - vx2*vy2 - (vx2 + vy2)*vz2 + vvy*(-vvz + vx2 + vz2) + vvx*(-vvy - vvz + vy2 + vz2))); - //f_BSE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx - vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvx*vvy) - vvx*vvz + vvy*vvz - (vvy + vvz)*vx2 + (vvx - vvz + vx2)*vy2 + (vvx - vvy + vx2 + vy2)*vz2)); - //f_BNW -= c1over216*drho - (drho + one)*(-(c1o8*(vvx - vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx - vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvy*vvz - vvy*vx2 + vvz*vx2 + vvz*vy2 - vx2*vy2 - (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2))); - - //kxyFromfcNEQ_SWT = -three*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (one + drho)); - //kyzFromfcNEQ_SWT = -three*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (one + drho)); - //kxzFromfcNEQ_SWT = -three*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (one + drho)); - //kxxMyyFromfcNEQ_SWT = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (one + drho)); - //kxxMzzFromfcNEQ_SWT = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (one + drho)); - //kyyMzzFromfcNEQ_SWT = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (one + drho)); - - - - - ////////////////////////////////////////////////////////////////////////// - //SET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - drho_SET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_SET = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SET); - vx2_SET = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SET); - vx3_SET = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SET); - - //nicht konditioniert - //kxyFromfcNEQ_SET = -three*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (one + drho_SET) - ((vx1_SET*vx2_SET))); - //kyzFromfcNEQ_SET = -three*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (one + drho_SET) - ((vx2_SET*vx3_SET))); - //kxzFromfcNEQ_SET = -three*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (one + drho_SET) - ((vx1_SET*vx3_SET))); - //kxxMyyFromfcNEQ_SET = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (one + drho_SET) - ((vx1_SET*vx1_SET-vx2_SET*vx2_SET))); - //kxxMzzFromfcNEQ_SET = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (one + drho_SET) - ((vx1_SET*vx1_SET-vx3_SET*vx3_SET))); - - kxyFromfcNEQ_SET = -c3o1*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (c1o1 + drho_SET) - ((vx1_SET*vx2_SET))); - kyzFromfcNEQ_SET = -c3o1*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (c1o1 + drho_SET) - ((vx2_SET*vx3_SET))); - kxzFromfcNEQ_SET = -c3o1*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (c1o1 + drho_SET) - ((vx1_SET*vx3_SET))); - kxxMyyFromfcNEQ_SET = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (c1o1 + drho_SET) - ((vx1_SET*vx1_SET - vx2_SET*vx2_SET))); - kxxMzzFromfcNEQ_SET = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (c1o1 + drho_SET) - ((vx1_SET*vx1_SET - vx3_SET*vx3_SET))); - kyyMzzFromfcNEQ_SET = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (c1o1 + drho_SET) - ((vx2_SET*vx2_SET - vx3_SET*vx3_SET))); - - ////konditioniert - //vvx = vx1_SET; - //vvy = vx2_SET; - //vvz = vx3_SET; - //drho = drho_SET; - //vx2 = vvx * vvx; - //vy2 = vvy * vvy; - //vz2 = vvz * vvz; - - - //f_E -= c2over27*drho + (drho + one)*(c2o9*(vvx + vx2) + (c1o6 + c1o2*(vvx + vx2))*vy2*vz2 - c1o9*(vy2 + vz2) - c1o3*(vvx + vx2)*(vy2 + vz2)); - //f_W -= c2over27*drho - (drho + one)*((vvx - vx2)*(c2o9 - c1o3*vy2) - (c1o6*vy2 + (vvx - vx2)*(c1o3 - c1o2*vy2))*vz2 + c1o9*(vy2 + vz2)); - //f_N -= c2over27*drho + (drho + one)*(c2o9*(vvy + vy2) + vx2*(c1o6 + c1o2*(vvy + vy2))*vz2 - c1o9*(vx2 + vz2) - c1o3*(vvy + vy2)*(vx2 + vz2)); - //f_S -= c2over27*drho - (drho + one)*((c2o9 - c1o3*vx2)*(vvy - vy2) - (c1o6*vx2 + (c1o3 - c1o2*vx2)*(vvy - vy2))*vz2 + c1o9*(vx2 + vz2)); - //f_T -= c2over27*drho + (drho + one)*(-(c1o9*(vx2 + vy2)) + c2o9*(vvz + vz2) - c1o3*(vx2 + vy2)*(vvz + vz2) + vx2*vy2*(c1o6 + c1o2*(vvz + vz2))); - //f_B -= c2over27*drho - (drho + one)*(c1o9*(vx2 + vy2) + c2o9*(vvz - vz2) - c1o3*(vx2 + vy2)*(vvz - vz2) - vx2*vy2*(c1o6 + c1o2*(-vvz + vz2))); - //f_NE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvy + vy2) + c1o18*(vvx + vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx + vx2)*(vvy + vy2) + c1o12*(vvx + vvy + vx2 + vy2))*vz2); - //f_SW -= c1over54*drho + (drho + one)*(c1o6*(vvx - vx2)*(vvy - vy2) + c1o18*(-vvx - vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx - vx2)*(vvy - vy2) + c1o12*(-vvx - vvy + vx2 + vy2))*vz2); - //f_SE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvy - vy2)) + c1o18*(vvx - vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx + vx2)*(vvy - vy2) + c1o12*(vvx - vvy + vx2 + vy2))*vz2); - //f_NW -= c1over54*drho + (drho + one)*(-(c1o6*(vvx - vx2)*(vvy + vy2)) + c1o18*(-vvx + vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx - vx2)*(vvy + vy2) + c1o12*(-vvx + vvy + vx2 + vy2))*vz2); - //f_TE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvz + vz2) + c1o18*(vvx + vvz + vx2 + vz2) - vy2*(c1o36 + c1o4*(vvx + vx2)*(vvz + vz2) + c1o12*(vvx + vvz + vx2 + vz2))); - //f_BW -= c1over54*drho - (drho + one)*(-(c1o6*(vvx - vx2)*(vvz - vz2)) + c1o18*(vvx + vvz - vx2 - vz2) + vy2*(c1o36 + c1o4*(vvx - vx2)*(vvz - vz2) + c1o12*(-vvx - vvz + vx2 + vz2))); - //f_BE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvz - vz2)) + c1o18*(vvx - vvz + vx2 + vz2) - vy2*(c1o36 - c1o4*(vvx + vx2)*(vvz - vz2) + c1o12*(vvx - vvz + vx2 + vz2))); - //f_TW -= c1over54*drho - (drho + one)*(c1o18*(vvx - vvz - vx2 - vz2) + c1o6*(vvx - vx2)*(vvz + vz2) + vy2*(c1o36 - c1o4*(vvx - vx2)*(vvz + vz2) + c1o12*(-vvx + vvz + vx2 + vz2))); - //f_TN -= c1over54*drho + (drho + one)*(c1o6*(vvy + vy2)*(vvz + vz2) + c1o18*(vvy + vvz + vy2 + vz2) - vx2*(c1o36 + c1o4*(vvy + vy2)*(vvz + vz2) + c1o12*(vvy + vvz + vy2 + vz2))); - //f_BS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2))); - //f_BN -= c1over54*drho + (drho + one)*(-(c1o6*(vvy + vy2)*(vvz - vz2)) + c1o18*(vvy - vvz + vy2 + vz2) - vx2*(c1o36 - c1o4*(vvy + vy2)*(vvz - vz2) + c1o12*(vvy - vvz + vy2 + vz2))); - //f_TS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2))); - //f_ZERO -= c8over27*drho - (drho + one)*(vx2*vy2*vz2 + c4o9*(vx2 + vy2 + vz2) - c2o3*(vx2*vy2 + (vx2 + vy2)*vz2)); - //f_TNE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz + vz2) + c1o72*(vvx + vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) + vvx*(vvy + vvz + vy2 + vz2))); - //f_TSW -= c1over216*drho + (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz + vz2) + c1o72*(-vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + vvx*(vvy - vvz - vy2 - vz2) + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2))); - //f_TSE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz + vz2)) + c1o72*(vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2) + vvx*(-vvy + vvz + vy2 + vz2))); - //f_TNW -= c1over216*drho - (drho + one)*(c1o72*(vvx - vvy - vvz - vx2 - vy2 - vz2) + c1o8*(vvx - vx2)*(vvy + vy2)*(vvz + vz2) - c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) - vvx*(vvy + vvz + vy2 + vz2))); - //f_BNE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx + vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvy*vvz) + vvy*vx2 - vvz*vx2 - vvz*vy2 + vx2*vy2 + (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2))); - //f_BSW -= c1over216*drho - (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx + vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvz*vx2 + vvz*vy2 - vx2*vy2 - (vx2 + vy2)*vz2 + vvy*(-vvz + vx2 + vz2) + vvx*(-vvy - vvz + vy2 + vz2))); - //f_BSE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx - vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvx*vvy) - vvx*vvz + vvy*vvz - (vvy + vvz)*vx2 + (vvx - vvz + vx2)*vy2 + (vvx - vvy + vx2 + vy2)*vz2)); - //f_BNW -= c1over216*drho - (drho + one)*(-(c1o8*(vvx - vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx - vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvy*vvz - vvy*vx2 + vvz*vx2 + vvz*vy2 - vx2*vy2 - (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2))); - - //kxyFromfcNEQ_SET = -three*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (one + drho)); - //kyzFromfcNEQ_SET = -three*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (one + drho)); - //kxzFromfcNEQ_SET = -three*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (one + drho)); - //kxxMyyFromfcNEQ_SET = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (one + drho)); - //kxxMzzFromfcNEQ_SET = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (one + drho)); - //kyyMzzFromfcNEQ_SET = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (one + drho)); - - - - ////////////////////////////////////////////////////////////////////////// - //SEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - drho_SEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_SEB = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SEB); - vx2_SEB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SEB); - vx3_SEB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SEB); - - //nicht konditioniert - //kxyFromfcNEQ_SEB = -three*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (one + drho_SEB) - ((vx1_SEB*vx2_SEB))); - //kyzFromfcNEQ_SEB = -three*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (one + drho_SEB) - ((vx2_SEB*vx3_SEB))); - //kxzFromfcNEQ_SEB = -three*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (one + drho_SEB) - ((vx1_SEB*vx3_SEB))); - //kxxMyyFromfcNEQ_SEB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (one + drho_SEB) - ((vx1_SEB*vx1_SEB-vx2_SEB*vx2_SEB))); - //kxxMzzFromfcNEQ_SEB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (one + drho_SEB) - ((vx1_SEB*vx1_SEB-vx3_SEB*vx3_SEB))); - - kxyFromfcNEQ_SEB = -c3o1*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (c1o1 + drho_SEB) - ((vx1_SEB*vx2_SEB))); - kyzFromfcNEQ_SEB = -c3o1*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (c1o1 + drho_SEB) - ((vx2_SEB*vx3_SEB))); - kxzFromfcNEQ_SEB = -c3o1*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (c1o1 + drho_SEB) - ((vx1_SEB*vx3_SEB))); - kxxMyyFromfcNEQ_SEB = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (c1o1 + drho_SEB) - ((vx1_SEB*vx1_SEB - vx2_SEB*vx2_SEB))); - kxxMzzFromfcNEQ_SEB = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (c1o1 + drho_SEB) - ((vx1_SEB*vx1_SEB - vx3_SEB*vx3_SEB))); - kyyMzzFromfcNEQ_SEB = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (c1o1 + drho_SEB) - ((vx2_SEB*vx2_SEB - vx3_SEB*vx3_SEB))); - - ////konditioniert - //vvx = vx1_SEB; - //vvy = vx2_SEB; - //vvz = vx3_SEB; - //drho = drho_SEB; - //vx2 = vvx * vvx; - //vy2 = vvy * vvy; - //vz2 = vvz * vvz; - - - //f_E -= c2over27*drho + (drho + one)*(c2o9*(vvx + vx2) + (c1o6 + c1o2*(vvx + vx2))*vy2*vz2 - c1o9*(vy2 + vz2) - c1o3*(vvx + vx2)*(vy2 + vz2)); - //f_W -= c2over27*drho - (drho + one)*((vvx - vx2)*(c2o9 - c1o3*vy2) - (c1o6*vy2 + (vvx - vx2)*(c1o3 - c1o2*vy2))*vz2 + c1o9*(vy2 + vz2)); - //f_N -= c2over27*drho + (drho + one)*(c2o9*(vvy + vy2) + vx2*(c1o6 + c1o2*(vvy + vy2))*vz2 - c1o9*(vx2 + vz2) - c1o3*(vvy + vy2)*(vx2 + vz2)); - //f_S -= c2over27*drho - (drho + one)*((c2o9 - c1o3*vx2)*(vvy - vy2) - (c1o6*vx2 + (c1o3 - c1o2*vx2)*(vvy - vy2))*vz2 + c1o9*(vx2 + vz2)); - //f_T -= c2over27*drho + (drho + one)*(-(c1o9*(vx2 + vy2)) + c2o9*(vvz + vz2) - c1o3*(vx2 + vy2)*(vvz + vz2) + vx2*vy2*(c1o6 + c1o2*(vvz + vz2))); - //f_B -= c2over27*drho - (drho + one)*(c1o9*(vx2 + vy2) + c2o9*(vvz - vz2) - c1o3*(vx2 + vy2)*(vvz - vz2) - vx2*vy2*(c1o6 + c1o2*(-vvz + vz2))); - //f_NE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvy + vy2) + c1o18*(vvx + vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx + vx2)*(vvy + vy2) + c1o12*(vvx + vvy + vx2 + vy2))*vz2); - //f_SW -= c1over54*drho + (drho + one)*(c1o6*(vvx - vx2)*(vvy - vy2) + c1o18*(-vvx - vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx - vx2)*(vvy - vy2) + c1o12*(-vvx - vvy + vx2 + vy2))*vz2); - //f_SE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvy - vy2)) + c1o18*(vvx - vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx + vx2)*(vvy - vy2) + c1o12*(vvx - vvy + vx2 + vy2))*vz2); - //f_NW -= c1over54*drho + (drho + one)*(-(c1o6*(vvx - vx2)*(vvy + vy2)) + c1o18*(-vvx + vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx - vx2)*(vvy + vy2) + c1o12*(-vvx + vvy + vx2 + vy2))*vz2); - //f_TE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvz + vz2) + c1o18*(vvx + vvz + vx2 + vz2) - vy2*(c1o36 + c1o4*(vvx + vx2)*(vvz + vz2) + c1o12*(vvx + vvz + vx2 + vz2))); - //f_BW -= c1over54*drho - (drho + one)*(-(c1o6*(vvx - vx2)*(vvz - vz2)) + c1o18*(vvx + vvz - vx2 - vz2) + vy2*(c1o36 + c1o4*(vvx - vx2)*(vvz - vz2) + c1o12*(-vvx - vvz + vx2 + vz2))); - //f_BE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvz - vz2)) + c1o18*(vvx - vvz + vx2 + vz2) - vy2*(c1o36 - c1o4*(vvx + vx2)*(vvz - vz2) + c1o12*(vvx - vvz + vx2 + vz2))); - //f_TW -= c1over54*drho - (drho + one)*(c1o18*(vvx - vvz - vx2 - vz2) + c1o6*(vvx - vx2)*(vvz + vz2) + vy2*(c1o36 - c1o4*(vvx - vx2)*(vvz + vz2) + c1o12*(-vvx + vvz + vx2 + vz2))); - //f_TN -= c1over54*drho + (drho + one)*(c1o6*(vvy + vy2)*(vvz + vz2) + c1o18*(vvy + vvz + vy2 + vz2) - vx2*(c1o36 + c1o4*(vvy + vy2)*(vvz + vz2) + c1o12*(vvy + vvz + vy2 + vz2))); - //f_BS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2))); - //f_BN -= c1over54*drho + (drho + one)*(-(c1o6*(vvy + vy2)*(vvz - vz2)) + c1o18*(vvy - vvz + vy2 + vz2) - vx2*(c1o36 - c1o4*(vvy + vy2)*(vvz - vz2) + c1o12*(vvy - vvz + vy2 + vz2))); - //f_TS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2))); - //f_ZERO -= c8over27*drho - (drho + one)*(vx2*vy2*vz2 + c4o9*(vx2 + vy2 + vz2) - c2o3*(vx2*vy2 + (vx2 + vy2)*vz2)); - //f_TNE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz + vz2) + c1o72*(vvx + vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) + vvx*(vvy + vvz + vy2 + vz2))); - //f_TSW -= c1over216*drho + (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz + vz2) + c1o72*(-vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + vvx*(vvy - vvz - vy2 - vz2) + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2))); - //f_TSE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz + vz2)) + c1o72*(vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2) + vvx*(-vvy + vvz + vy2 + vz2))); - //f_TNW -= c1over216*drho - (drho + one)*(c1o72*(vvx - vvy - vvz - vx2 - vy2 - vz2) + c1o8*(vvx - vx2)*(vvy + vy2)*(vvz + vz2) - c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) - vvx*(vvy + vvz + vy2 + vz2))); - //f_BNE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx + vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvy*vvz) + vvy*vx2 - vvz*vx2 - vvz*vy2 + vx2*vy2 + (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2))); - //f_BSW -= c1over216*drho - (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx + vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvz*vx2 + vvz*vy2 - vx2*vy2 - (vx2 + vy2)*vz2 + vvy*(-vvz + vx2 + vz2) + vvx*(-vvy - vvz + vy2 + vz2))); - //f_BSE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx - vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvx*vvy) - vvx*vvz + vvy*vvz - (vvy + vvz)*vx2 + (vvx - vvz + vx2)*vy2 + (vvx - vvy + vx2 + vy2)*vz2)); - //f_BNW -= c1over216*drho - (drho + one)*(-(c1o8*(vvx - vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx - vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvy*vvz - vvy*vx2 + vvz*vx2 + vvz*vy2 - vx2*vy2 - (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2))); - - //kxyFromfcNEQ_SEB = -three*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (one + drho)); - //kyzFromfcNEQ_SEB = -three*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (one + drho)); - //kxzFromfcNEQ_SEB = -three*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (one + drho)); - //kxxMyyFromfcNEQ_SEB = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (one + drho)); - //kxxMzzFromfcNEQ_SEB = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (one + drho)); - //kyyMzzFromfcNEQ_SEB = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (one + drho)); - - - ////////////////////////////////////////////////////////////////////////// - //NWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= k0s; - k0w = k0sw; - k0s = neighborFY[k0s]; - k0b = k0bs; - k0sw = neighborFY[k0sw]; - k0bw = k0bsw; - k0bs = neighborFY[k0bs]; - k0bsw = neighborFY[k0bsw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - drho_NWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_NWB = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NWB); - vx2_NWB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWB); - vx3_NWB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWB); - - //kxyFromfcNEQ_NWB = -three*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (one + drho_NWB) - ((vx1_NWB*vx2_NWB))); - //kyzFromfcNEQ_NWB = -three*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (one + drho_NWB) - ((vx2_NWB*vx3_NWB))); - //kxzFromfcNEQ_NWB = -three*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (one + drho_NWB) - ((vx1_NWB*vx3_NWB))); - //kxxMyyFromfcNEQ_NWB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (one + drho_NWB) - ((vx1_NWB*vx1_NWB-vx2_NWB*vx2_NWB))); - //kxxMzzFromfcNEQ_NWB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (one + drho_NWB) - ((vx1_NWB*vx1_NWB-vx3_NWB*vx3_NWB))); - - kxyFromfcNEQ_NWB = -c3o1*omegaS* ((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (c1o1 + drho_NWB) - ((vx1_NWB*vx2_NWB))); - kyzFromfcNEQ_NWB = -c3o1*omegaS* ((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (c1o1 + drho_NWB) - ((vx2_NWB*vx3_NWB))); - kxzFromfcNEQ_NWB = -c3o1*omegaS* ((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (c1o1 + drho_NWB) - ((vx1_NWB*vx3_NWB))); - kxxMyyFromfcNEQ_NWB = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (c1o1 + drho_NWB) - ((vx1_NWB*vx1_NWB - vx2_NWB*vx2_NWB))); - kxxMzzFromfcNEQ_NWB = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (c1o1 + drho_NWB) - ((vx1_NWB*vx1_NWB - vx3_NWB*vx3_NWB))); - kyyMzzFromfcNEQ_NWB = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (c1o1 + drho_NWB) - ((vx2_NWB*vx2_NWB - vx3_NWB*vx3_NWB))); - - //konditioniert - //vvx = vx1_NWB; - //vvy = vx2_NWB; - //vvz = vx3_NWB; - //drho = drho_NWB; - //vx2 = vvx * vvx; - //vy2 = vvy * vvy; - //vz2 = vvz * vvz; - - - //f_E -= c2over27*drho + (drho + one)*(c2o9*(vvx + vx2) + (c1o6 + c1o2*(vvx + vx2))*vy2*vz2 - c1o9*(vy2 + vz2) - c1o3*(vvx + vx2)*(vy2 + vz2)); - //f_W -= c2over27*drho - (drho + one)*((vvx - vx2)*(c2o9 - c1o3*vy2) - (c1o6*vy2 + (vvx - vx2)*(c1o3 - c1o2*vy2))*vz2 + c1o9*(vy2 + vz2)); - //f_N -= c2over27*drho + (drho + one)*(c2o9*(vvy + vy2) + vx2*(c1o6 + c1o2*(vvy + vy2))*vz2 - c1o9*(vx2 + vz2) - c1o3*(vvy + vy2)*(vx2 + vz2)); - //f_S -= c2over27*drho - (drho + one)*((c2o9 - c1o3*vx2)*(vvy - vy2) - (c1o6*vx2 + (c1o3 - c1o2*vx2)*(vvy - vy2))*vz2 + c1o9*(vx2 + vz2)); - //f_T -= c2over27*drho + (drho + one)*(-(c1o9*(vx2 + vy2)) + c2o9*(vvz + vz2) - c1o3*(vx2 + vy2)*(vvz + vz2) + vx2*vy2*(c1o6 + c1o2*(vvz + vz2))); - //f_B -= c2over27*drho - (drho + one)*(c1o9*(vx2 + vy2) + c2o9*(vvz - vz2) - c1o3*(vx2 + vy2)*(vvz - vz2) - vx2*vy2*(c1o6 + c1o2*(-vvz + vz2))); - //f_NE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvy + vy2) + c1o18*(vvx + vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx + vx2)*(vvy + vy2) + c1o12*(vvx + vvy + vx2 + vy2))*vz2); - //f_SW -= c1over54*drho + (drho + one)*(c1o6*(vvx - vx2)*(vvy - vy2) + c1o18*(-vvx - vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx - vx2)*(vvy - vy2) + c1o12*(-vvx - vvy + vx2 + vy2))*vz2); - //f_SE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvy - vy2)) + c1o18*(vvx - vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx + vx2)*(vvy - vy2) + c1o12*(vvx - vvy + vx2 + vy2))*vz2); - //f_NW -= c1over54*drho + (drho + one)*(-(c1o6*(vvx - vx2)*(vvy + vy2)) + c1o18*(-vvx + vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx - vx2)*(vvy + vy2) + c1o12*(-vvx + vvy + vx2 + vy2))*vz2); - //f_TE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvz + vz2) + c1o18*(vvx + vvz + vx2 + vz2) - vy2*(c1o36 + c1o4*(vvx + vx2)*(vvz + vz2) + c1o12*(vvx + vvz + vx2 + vz2))); - //f_BW -= c1over54*drho - (drho + one)*(-(c1o6*(vvx - vx2)*(vvz - vz2)) + c1o18*(vvx + vvz - vx2 - vz2) + vy2*(c1o36 + c1o4*(vvx - vx2)*(vvz - vz2) + c1o12*(-vvx - vvz + vx2 + vz2))); - //f_BE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvz - vz2)) + c1o18*(vvx - vvz + vx2 + vz2) - vy2*(c1o36 - c1o4*(vvx + vx2)*(vvz - vz2) + c1o12*(vvx - vvz + vx2 + vz2))); - //f_TW -= c1over54*drho - (drho + one)*(c1o18*(vvx - vvz - vx2 - vz2) + c1o6*(vvx - vx2)*(vvz + vz2) + vy2*(c1o36 - c1o4*(vvx - vx2)*(vvz + vz2) + c1o12*(-vvx + vvz + vx2 + vz2))); - //f_TN -= c1over54*drho + (drho + one)*(c1o6*(vvy + vy2)*(vvz + vz2) + c1o18*(vvy + vvz + vy2 + vz2) - vx2*(c1o36 + c1o4*(vvy + vy2)*(vvz + vz2) + c1o12*(vvy + vvz + vy2 + vz2))); - //f_BS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2))); - //f_BN -= c1over54*drho + (drho + one)*(-(c1o6*(vvy + vy2)*(vvz - vz2)) + c1o18*(vvy - vvz + vy2 + vz2) - vx2*(c1o36 - c1o4*(vvy + vy2)*(vvz - vz2) + c1o12*(vvy - vvz + vy2 + vz2))); - //f_TS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2))); - //f_ZERO -= c8over27*drho - (drho + one)*(vx2*vy2*vz2 + c4o9*(vx2 + vy2 + vz2) - c2o3*(vx2*vy2 + (vx2 + vy2)*vz2)); - //f_TNE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz + vz2) + c1o72*(vvx + vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) + vvx*(vvy + vvz + vy2 + vz2))); - //f_TSW -= c1over216*drho + (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz + vz2) + c1o72*(-vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + vvx*(vvy - vvz - vy2 - vz2) + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2))); - //f_TSE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz + vz2)) + c1o72*(vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2) + vvx*(-vvy + vvz + vy2 + vz2))); - //f_TNW -= c1over216*drho - (drho + one)*(c1o72*(vvx - vvy - vvz - vx2 - vy2 - vz2) + c1o8*(vvx - vx2)*(vvy + vy2)*(vvz + vz2) - c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) - vvx*(vvy + vvz + vy2 + vz2))); - //f_BNE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx + vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvy*vvz) + vvy*vx2 - vvz*vx2 - vvz*vy2 + vx2*vy2 + (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2))); - //f_BSW -= c1over216*drho - (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx + vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvz*vx2 + vvz*vy2 - vx2*vy2 - (vx2 + vy2)*vz2 + vvy*(-vvz + vx2 + vz2) + vvx*(-vvy - vvz + vy2 + vz2))); - //f_BSE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx - vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvx*vvy) - vvx*vvz + vvy*vvz - (vvy + vvz)*vx2 + (vvx - vvz + vx2)*vy2 + (vvx - vvy + vx2 + vy2)*vz2)); - //f_BNW -= c1over216*drho - (drho + one)*(-(c1o8*(vvx - vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx - vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvy*vvz - vvy*vx2 + vvz*vx2 + vvz*vy2 - vx2*vy2 - (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2))); - - //kxyFromfcNEQ_NWB = -three*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (one + drho)); - //kyzFromfcNEQ_NWB = -three*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (one + drho)); - //kxzFromfcNEQ_NWB = -three*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (one + drho)); - //kxxMyyFromfcNEQ_NWB = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (one + drho)); - //kxxMzzFromfcNEQ_NWB = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (one + drho)); - //kyyMzzFromfcNEQ_NWB = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (one + drho)); - - - - ////////////////////////////////////////////////////////////////////////// - //NWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - drho_NWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_NWT = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NWT); - vx2_NWT = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWT); - vx3_NWT = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWT); - - //nicht konditioniert - //kxyFromfcNEQ_NWT = -three*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (one + drho_NWT) - ((vx1_NWT*vx2_NWT))); - //kyzFromfcNEQ_NWT = -three*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (one + drho_NWT) - ((vx2_NWT*vx3_NWT))); - //kxzFromfcNEQ_NWT = -three*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (one + drho_NWT) - ((vx1_NWT*vx3_NWT))); - //kxxMyyFromfcNEQ_NWT = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (one + drho_NWT) - ((vx1_NWT*vx1_NWT-vx2_NWT*vx2_NWT))); - //kxxMzzFromfcNEQ_NWT = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (one + drho_NWT) - ((vx1_NWT*vx1_NWT-vx3_NWT*vx3_NWT))); - - kxyFromfcNEQ_NWT = -c3o1*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (c1o1 + drho_NWT) - ((vx1_NWT*vx2_NWT))); - kyzFromfcNEQ_NWT = -c3o1*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (c1o1 + drho_NWT) - ((vx2_NWT*vx3_NWT))); - kxzFromfcNEQ_NWT = -c3o1*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (c1o1 + drho_NWT) - ((vx1_NWT*vx3_NWT))); - kxxMyyFromfcNEQ_NWT = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (c1o1 + drho_NWT) - ((vx1_NWT*vx1_NWT - vx2_NWT*vx2_NWT))); - kxxMzzFromfcNEQ_NWT = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (c1o1 + drho_NWT) - ((vx1_NWT*vx1_NWT - vx3_NWT*vx3_NWT))); - kyyMzzFromfcNEQ_NWT = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (c1o1 + drho_NWT) - ((vx2_NWT*vx2_NWT - vx3_NWT*vx3_NWT))); - - //konditioniert - //vvx = vx1_NWT; - //vvy = vx2_NWT; - //vvz = vx3_NWT; - //drho = drho_NWT; - //vx2 = vvx * vvx; - //vy2 = vvy * vvy; - //vz2 = vvz * vvz; - - - //f_E -= c2over27*drho + (drho + one)*(c2o9*(vvx + vx2) + (c1o6 + c1o2*(vvx + vx2))*vy2*vz2 - c1o9*(vy2 + vz2) - c1o3*(vvx + vx2)*(vy2 + vz2)); - //f_W -= c2over27*drho - (drho + one)*((vvx - vx2)*(c2o9 - c1o3*vy2) - (c1o6*vy2 + (vvx - vx2)*(c1o3 - c1o2*vy2))*vz2 + c1o9*(vy2 + vz2)); - //f_N -= c2over27*drho + (drho + one)*(c2o9*(vvy + vy2) + vx2*(c1o6 + c1o2*(vvy + vy2))*vz2 - c1o9*(vx2 + vz2) - c1o3*(vvy + vy2)*(vx2 + vz2)); - //f_S -= c2over27*drho - (drho + one)*((c2o9 - c1o3*vx2)*(vvy - vy2) - (c1o6*vx2 + (c1o3 - c1o2*vx2)*(vvy - vy2))*vz2 + c1o9*(vx2 + vz2)); - //f_T -= c2over27*drho + (drho + one)*(-(c1o9*(vx2 + vy2)) + c2o9*(vvz + vz2) - c1o3*(vx2 + vy2)*(vvz + vz2) + vx2*vy2*(c1o6 + c1o2*(vvz + vz2))); - //f_B -= c2over27*drho - (drho + one)*(c1o9*(vx2 + vy2) + c2o9*(vvz - vz2) - c1o3*(vx2 + vy2)*(vvz - vz2) - vx2*vy2*(c1o6 + c1o2*(-vvz + vz2))); - //f_NE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvy + vy2) + c1o18*(vvx + vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx + vx2)*(vvy + vy2) + c1o12*(vvx + vvy + vx2 + vy2))*vz2); - //f_SW -= c1over54*drho + (drho + one)*(c1o6*(vvx - vx2)*(vvy - vy2) + c1o18*(-vvx - vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx - vx2)*(vvy - vy2) + c1o12*(-vvx - vvy + vx2 + vy2))*vz2); - //f_SE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvy - vy2)) + c1o18*(vvx - vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx + vx2)*(vvy - vy2) + c1o12*(vvx - vvy + vx2 + vy2))*vz2); - //f_NW -= c1over54*drho + (drho + one)*(-(c1o6*(vvx - vx2)*(vvy + vy2)) + c1o18*(-vvx + vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx - vx2)*(vvy + vy2) + c1o12*(-vvx + vvy + vx2 + vy2))*vz2); - //f_TE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvz + vz2) + c1o18*(vvx + vvz + vx2 + vz2) - vy2*(c1o36 + c1o4*(vvx + vx2)*(vvz + vz2) + c1o12*(vvx + vvz + vx2 + vz2))); - //f_BW -= c1over54*drho - (drho + one)*(-(c1o6*(vvx - vx2)*(vvz - vz2)) + c1o18*(vvx + vvz - vx2 - vz2) + vy2*(c1o36 + c1o4*(vvx - vx2)*(vvz - vz2) + c1o12*(-vvx - vvz + vx2 + vz2))); - //f_BE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvz - vz2)) + c1o18*(vvx - vvz + vx2 + vz2) - vy2*(c1o36 - c1o4*(vvx + vx2)*(vvz - vz2) + c1o12*(vvx - vvz + vx2 + vz2))); - //f_TW -= c1over54*drho - (drho + one)*(c1o18*(vvx - vvz - vx2 - vz2) + c1o6*(vvx - vx2)*(vvz + vz2) + vy2*(c1o36 - c1o4*(vvx - vx2)*(vvz + vz2) + c1o12*(-vvx + vvz + vx2 + vz2))); - //f_TN -= c1over54*drho + (drho + one)*(c1o6*(vvy + vy2)*(vvz + vz2) + c1o18*(vvy + vvz + vy2 + vz2) - vx2*(c1o36 + c1o4*(vvy + vy2)*(vvz + vz2) + c1o12*(vvy + vvz + vy2 + vz2))); - //f_BS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2))); - //f_BN -= c1over54*drho + (drho + one)*(-(c1o6*(vvy + vy2)*(vvz - vz2)) + c1o18*(vvy - vvz + vy2 + vz2) - vx2*(c1o36 - c1o4*(vvy + vy2)*(vvz - vz2) + c1o12*(vvy - vvz + vy2 + vz2))); - //f_TS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2))); - //f_ZERO -= c8over27*drho - (drho + one)*(vx2*vy2*vz2 + c4o9*(vx2 + vy2 + vz2) - c2o3*(vx2*vy2 + (vx2 + vy2)*vz2)); - //f_TNE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz + vz2) + c1o72*(vvx + vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) + vvx*(vvy + vvz + vy2 + vz2))); - //f_TSW -= c1over216*drho + (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz + vz2) + c1o72*(-vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + vvx*(vvy - vvz - vy2 - vz2) + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2))); - //f_TSE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz + vz2)) + c1o72*(vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2) + vvx*(-vvy + vvz + vy2 + vz2))); - //f_TNW -= c1over216*drho - (drho + one)*(c1o72*(vvx - vvy - vvz - vx2 - vy2 - vz2) + c1o8*(vvx - vx2)*(vvy + vy2)*(vvz + vz2) - c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) - vvx*(vvy + vvz + vy2 + vz2))); - //f_BNE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx + vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvy*vvz) + vvy*vx2 - vvz*vx2 - vvz*vy2 + vx2*vy2 + (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2))); - //f_BSW -= c1over216*drho - (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx + vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvz*vx2 + vvz*vy2 - vx2*vy2 - (vx2 + vy2)*vz2 + vvy*(-vvz + vx2 + vz2) + vvx*(-vvy - vvz + vy2 + vz2))); - //f_BSE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx - vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvx*vvy) - vvx*vvz + vvy*vvz - (vvy + vvz)*vx2 + (vvx - vvz + vx2)*vy2 + (vvx - vvy + vx2 + vy2)*vz2)); - //f_BNW -= c1over216*drho - (drho + one)*(-(c1o8*(vvx - vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx - vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvy*vvz - vvy*vx2 + vvz*vx2 + vvz*vy2 - vx2*vy2 - (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2))); - - //kxyFromfcNEQ_NWT = -three*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (one + drho)); - //kyzFromfcNEQ_NWT = -three*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (one + drho)); - //kxzFromfcNEQ_NWT = -three*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (one + drho)); - //kxxMyyFromfcNEQ_NWT = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (one + drho)); - //kxxMzzFromfcNEQ_NWT = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (one + drho)); - //kyyMzzFromfcNEQ_NWT = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (one + drho)); - - - - ////////////////////////////////////////////////////////////////////////// - //NET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - drho_NET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_NET = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NET); - vx2_NET = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NET); - vx3_NET = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NET); - - //nicht konditioniert - //kxyFromfcNEQ_NET = -three*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (one + drho_NET) - ((vx1_NET*vx2_NET))); - //kyzFromfcNEQ_NET = -three*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (one + drho_NET) - ((vx2_NET*vx3_NET))); - //kxzFromfcNEQ_NET = -three*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (one + drho_NET) - ((vx1_NET*vx3_NET))); - //kxxMyyFromfcNEQ_NET = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (one + drho_NET) - ((vx1_NET*vx1_NET-vx2_NET*vx2_NET))); - //kxxMzzFromfcNEQ_NET = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (one + drho_NET) - ((vx1_NET*vx1_NET-vx3_NET*vx3_NET))); - - kxyFromfcNEQ_NET = -c3o1*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (c1o1 + drho_NET) - ((vx1_NET*vx2_NET))); - kyzFromfcNEQ_NET = -c3o1*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (c1o1 + drho_NET) - ((vx2_NET*vx3_NET))); - kxzFromfcNEQ_NET = -c3o1*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (c1o1 + drho_NET) - ((vx1_NET*vx3_NET))); - kxxMyyFromfcNEQ_NET = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (c1o1 + drho_NET) - ((vx1_NET*vx1_NET - vx2_NET*vx2_NET))); - kxxMzzFromfcNEQ_NET = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (c1o1 + drho_NET) - ((vx1_NET*vx1_NET - vx3_NET*vx3_NET))); - kyyMzzFromfcNEQ_NET = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (c1o1 + drho_NET) - ((vx2_NET*vx2_NET - vx3_NET*vx3_NET))); - - //konditioniert - //vvx = vx1_NET; - //vvy = vx2_NET; - //vvz = vx3_NET; - //drho = drho_NET; - //vx2 = vvx * vvx; - //vy2 = vvy * vvy; - //vz2 = vvz * vvz; - - - //f_E -= c2over27*drho + (drho + one)*(c2o9*(vvx + vx2) + (c1o6 + c1o2*(vvx + vx2))*vy2*vz2 - c1o9*(vy2 + vz2) - c1o3*(vvx + vx2)*(vy2 + vz2)); - //f_W -= c2over27*drho - (drho + one)*((vvx - vx2)*(c2o9 - c1o3*vy2) - (c1o6*vy2 + (vvx - vx2)*(c1o3 - c1o2*vy2))*vz2 + c1o9*(vy2 + vz2)); - //f_N -= c2over27*drho + (drho + one)*(c2o9*(vvy + vy2) + vx2*(c1o6 + c1o2*(vvy + vy2))*vz2 - c1o9*(vx2 + vz2) - c1o3*(vvy + vy2)*(vx2 + vz2)); - //f_S -= c2over27*drho - (drho + one)*((c2o9 - c1o3*vx2)*(vvy - vy2) - (c1o6*vx2 + (c1o3 - c1o2*vx2)*(vvy - vy2))*vz2 + c1o9*(vx2 + vz2)); - //f_T -= c2over27*drho + (drho + one)*(-(c1o9*(vx2 + vy2)) + c2o9*(vvz + vz2) - c1o3*(vx2 + vy2)*(vvz + vz2) + vx2*vy2*(c1o6 + c1o2*(vvz + vz2))); - //f_B -= c2over27*drho - (drho + one)*(c1o9*(vx2 + vy2) + c2o9*(vvz - vz2) - c1o3*(vx2 + vy2)*(vvz - vz2) - vx2*vy2*(c1o6 + c1o2*(-vvz + vz2))); - //f_NE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvy + vy2) + c1o18*(vvx + vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx + vx2)*(vvy + vy2) + c1o12*(vvx + vvy + vx2 + vy2))*vz2); - //f_SW -= c1over54*drho + (drho + one)*(c1o6*(vvx - vx2)*(vvy - vy2) + c1o18*(-vvx - vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx - vx2)*(vvy - vy2) + c1o12*(-vvx - vvy + vx2 + vy2))*vz2); - //f_SE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvy - vy2)) + c1o18*(vvx - vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx + vx2)*(vvy - vy2) + c1o12*(vvx - vvy + vx2 + vy2))*vz2); - //f_NW -= c1over54*drho + (drho + one)*(-(c1o6*(vvx - vx2)*(vvy + vy2)) + c1o18*(-vvx + vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx - vx2)*(vvy + vy2) + c1o12*(-vvx + vvy + vx2 + vy2))*vz2); - //f_TE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvz + vz2) + c1o18*(vvx + vvz + vx2 + vz2) - vy2*(c1o36 + c1o4*(vvx + vx2)*(vvz + vz2) + c1o12*(vvx + vvz + vx2 + vz2))); - //f_BW -= c1over54*drho - (drho + one)*(-(c1o6*(vvx - vx2)*(vvz - vz2)) + c1o18*(vvx + vvz - vx2 - vz2) + vy2*(c1o36 + c1o4*(vvx - vx2)*(vvz - vz2) + c1o12*(-vvx - vvz + vx2 + vz2))); - //f_BE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvz - vz2)) + c1o18*(vvx - vvz + vx2 + vz2) - vy2*(c1o36 - c1o4*(vvx + vx2)*(vvz - vz2) + c1o12*(vvx - vvz + vx2 + vz2))); - //f_TW -= c1over54*drho - (drho + one)*(c1o18*(vvx - vvz - vx2 - vz2) + c1o6*(vvx - vx2)*(vvz + vz2) + vy2*(c1o36 - c1o4*(vvx - vx2)*(vvz + vz2) + c1o12*(-vvx + vvz + vx2 + vz2))); - //f_TN -= c1over54*drho + (drho + one)*(c1o6*(vvy + vy2)*(vvz + vz2) + c1o18*(vvy + vvz + vy2 + vz2) - vx2*(c1o36 + c1o4*(vvy + vy2)*(vvz + vz2) + c1o12*(vvy + vvz + vy2 + vz2))); - //f_BS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2))); - //f_BN -= c1over54*drho + (drho + one)*(-(c1o6*(vvy + vy2)*(vvz - vz2)) + c1o18*(vvy - vvz + vy2 + vz2) - vx2*(c1o36 - c1o4*(vvy + vy2)*(vvz - vz2) + c1o12*(vvy - vvz + vy2 + vz2))); - //f_TS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2))); - //f_ZERO -= c8over27*drho - (drho + one)*(vx2*vy2*vz2 + c4o9*(vx2 + vy2 + vz2) - c2o3*(vx2*vy2 + (vx2 + vy2)*vz2)); - //f_TNE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz + vz2) + c1o72*(vvx + vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) + vvx*(vvy + vvz + vy2 + vz2))); - //f_TSW -= c1over216*drho + (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz + vz2) + c1o72*(-vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + vvx*(vvy - vvz - vy2 - vz2) + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2))); - //f_TSE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz + vz2)) + c1o72*(vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2) + vvx*(-vvy + vvz + vy2 + vz2))); - //f_TNW -= c1over216*drho - (drho + one)*(c1o72*(vvx - vvy - vvz - vx2 - vy2 - vz2) + c1o8*(vvx - vx2)*(vvy + vy2)*(vvz + vz2) - c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) - vvx*(vvy + vvz + vy2 + vz2))); - //f_BNE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx + vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvy*vvz) + vvy*vx2 - vvz*vx2 - vvz*vy2 + vx2*vy2 + (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2))); - //f_BSW -= c1over216*drho - (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx + vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvz*vx2 + vvz*vy2 - vx2*vy2 - (vx2 + vy2)*vz2 + vvy*(-vvz + vx2 + vz2) + vvx*(-vvy - vvz + vy2 + vz2))); - //f_BSE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx - vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvx*vvy) - vvx*vvz + vvy*vvz - (vvy + vvz)*vx2 + (vvx - vvz + vx2)*vy2 + (vvx - vvy + vx2 + vy2)*vz2)); - //f_BNW -= c1over216*drho - (drho + one)*(-(c1o8*(vvx - vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx - vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvy*vvz - vvy*vx2 + vvz*vx2 + vvz*vy2 - vx2*vy2 - (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2))); - - //kxyFromfcNEQ_NET = -three*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (one + drho)); - //kyzFromfcNEQ_NET = -three*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (one + drho)); - //kxzFromfcNEQ_NET = -three*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (one + drho)); - //kxxMyyFromfcNEQ_NET = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (one + drho)); - //kxxMzzFromfcNEQ_NET = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (one + drho)); - //kyyMzzFromfcNEQ_NET = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (one + drho)); - - ////////////////////////////////////////////////////////////////////////// - //NEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - drho_NEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_NEB = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NEB); - vx2_NEB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NEB); - vx3_NEB = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NEB); - - //nicht konditioniert - //kxyFromfcNEQ_NEB = -three*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (one + drho_NEB) - ((vx1_NEB*vx2_NEB))); - //kyzFromfcNEQ_NEB = -three*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (one + drho_NEB) - ((vx2_NEB*vx3_NEB))); - //kxzFromfcNEQ_NEB = -three*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (one + drho_NEB) - ((vx1_NEB*vx3_NEB))); - //kxxMyyFromfcNEQ_NEB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE ) / (one + drho_NEB) - ((vx1_NEB*vx1_NEB-vx2_NEB*vx2_NEB))); - //kxxMzzFromfcNEQ_NEB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE ) / (one + drho_NEB) - ((vx1_NEB*vx1_NEB-vx3_NEB*vx3_NEB))); - - kxyFromfcNEQ_NEB = -c3o1*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (c1o1 + drho_NEB) - ((vx1_NEB*vx2_NEB))); - kyzFromfcNEQ_NEB = -c3o1*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (c1o1 + drho_NEB) - ((vx2_NEB*vx3_NEB))); - kxzFromfcNEQ_NEB = -c3o1*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (c1o1 + drho_NEB) - ((vx1_NEB*vx3_NEB))); - kxxMyyFromfcNEQ_NEB = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (c1o1 + drho_NEB) - ((vx1_NEB*vx1_NEB - vx2_NEB*vx2_NEB))); - kxxMzzFromfcNEQ_NEB = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (c1o1 + drho_NEB) - ((vx1_NEB*vx1_NEB - vx3_NEB*vx3_NEB))); - kyyMzzFromfcNEQ_NEB = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (c1o1 + drho_NEB) - ((vx2_NEB*vx2_NEB - vx3_NEB*vx3_NEB))); - - //konditioniert - //vvx = vx1_NEB; - //vvy = vx2_NEB; - //vvz = vx3_NEB; - //drho = drho_NEB; - //vx2 = vvx * vvx; - //vy2 = vvy * vvy; - //vz2 = vvz * vvz; - - - //f_E -= c2over27*drho + (drho + one)*(c2o9*(vvx + vx2) + (c1o6 + c1o2*(vvx + vx2))*vy2*vz2 - c1o9*(vy2 + vz2) - c1o3*(vvx + vx2)*(vy2 + vz2)); - //f_W -= c2over27*drho - (drho + one)*((vvx - vx2)*(c2o9 - c1o3*vy2) - (c1o6*vy2 + (vvx - vx2)*(c1o3 - c1o2*vy2))*vz2 + c1o9*(vy2 + vz2)); - //f_N -= c2over27*drho + (drho + one)*(c2o9*(vvy + vy2) + vx2*(c1o6 + c1o2*(vvy + vy2))*vz2 - c1o9*(vx2 + vz2) - c1o3*(vvy + vy2)*(vx2 + vz2)); - //f_S -= c2over27*drho - (drho + one)*((c2o9 - c1o3*vx2)*(vvy - vy2) - (c1o6*vx2 + (c1o3 - c1o2*vx2)*(vvy - vy2))*vz2 + c1o9*(vx2 + vz2)); - //f_T -= c2over27*drho + (drho + one)*(-(c1o9*(vx2 + vy2)) + c2o9*(vvz + vz2) - c1o3*(vx2 + vy2)*(vvz + vz2) + vx2*vy2*(c1o6 + c1o2*(vvz + vz2))); - //f_B -= c2over27*drho - (drho + one)*(c1o9*(vx2 + vy2) + c2o9*(vvz - vz2) - c1o3*(vx2 + vy2)*(vvz - vz2) - vx2*vy2*(c1o6 + c1o2*(-vvz + vz2))); - //f_NE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvy + vy2) + c1o18*(vvx + vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx + vx2)*(vvy + vy2) + c1o12*(vvx + vvy + vx2 + vy2))*vz2); - //f_SW -= c1over54*drho + (drho + one)*(c1o6*(vvx - vx2)*(vvy - vy2) + c1o18*(-vvx - vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx - vx2)*(vvy - vy2) + c1o12*(-vvx - vvy + vx2 + vy2))*vz2); - //f_SE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvy - vy2)) + c1o18*(vvx - vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx + vx2)*(vvy - vy2) + c1o12*(vvx - vvy + vx2 + vy2))*vz2); - //f_NW -= c1over54*drho + (drho + one)*(-(c1o6*(vvx - vx2)*(vvy + vy2)) + c1o18*(-vvx + vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx - vx2)*(vvy + vy2) + c1o12*(-vvx + vvy + vx2 + vy2))*vz2); - //f_TE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvz + vz2) + c1o18*(vvx + vvz + vx2 + vz2) - vy2*(c1o36 + c1o4*(vvx + vx2)*(vvz + vz2) + c1o12*(vvx + vvz + vx2 + vz2))); - //f_BW -= c1over54*drho - (drho + one)*(-(c1o6*(vvx - vx2)*(vvz - vz2)) + c1o18*(vvx + vvz - vx2 - vz2) + vy2*(c1o36 + c1o4*(vvx - vx2)*(vvz - vz2) + c1o12*(-vvx - vvz + vx2 + vz2))); - //f_BE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvz - vz2)) + c1o18*(vvx - vvz + vx2 + vz2) - vy2*(c1o36 - c1o4*(vvx + vx2)*(vvz - vz2) + c1o12*(vvx - vvz + vx2 + vz2))); - //f_TW -= c1over54*drho - (drho + one)*(c1o18*(vvx - vvz - vx2 - vz2) + c1o6*(vvx - vx2)*(vvz + vz2) + vy2*(c1o36 - c1o4*(vvx - vx2)*(vvz + vz2) + c1o12*(-vvx + vvz + vx2 + vz2))); - //f_TN -= c1over54*drho + (drho + one)*(c1o6*(vvy + vy2)*(vvz + vz2) + c1o18*(vvy + vvz + vy2 + vz2) - vx2*(c1o36 + c1o4*(vvy + vy2)*(vvz + vz2) + c1o12*(vvy + vvz + vy2 + vz2))); - //f_BS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2))); - //f_BN -= c1over54*drho + (drho + one)*(-(c1o6*(vvy + vy2)*(vvz - vz2)) + c1o18*(vvy - vvz + vy2 + vz2) - vx2*(c1o36 - c1o4*(vvy + vy2)*(vvz - vz2) + c1o12*(vvy - vvz + vy2 + vz2))); - //f_TS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2))); - //f_ZERO -= c8over27*drho - (drho + one)*(vx2*vy2*vz2 + c4o9*(vx2 + vy2 + vz2) - c2o3*(vx2*vy2 + (vx2 + vy2)*vz2)); - //f_TNE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz + vz2) + c1o72*(vvx + vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) + vvx*(vvy + vvz + vy2 + vz2))); - //f_TSW -= c1over216*drho + (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz + vz2) + c1o72*(-vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + vvx*(vvy - vvz - vy2 - vz2) + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2))); - //f_TSE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz + vz2)) + c1o72*(vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2) + vvx*(-vvy + vvz + vy2 + vz2))); - //f_TNW -= c1over216*drho - (drho + one)*(c1o72*(vvx - vvy - vvz - vx2 - vy2 - vz2) + c1o8*(vvx - vx2)*(vvy + vy2)*(vvz + vz2) - c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) - vvx*(vvy + vvz + vy2 + vz2))); - //f_BNE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx + vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvy*vvz) + vvy*vx2 - vvz*vx2 - vvz*vy2 + vx2*vy2 + (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2))); - //f_BSW -= c1over216*drho - (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx + vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvz*vx2 + vvz*vy2 - vx2*vy2 - (vx2 + vy2)*vz2 + vvy*(-vvz + vx2 + vz2) + vvx*(-vvy - vvz + vy2 + vz2))); - //f_BSE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx - vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvx*vvy) - vvx*vvz + vvy*vvz - (vvy + vvz)*vx2 + (vvx - vvz + vx2)*vy2 + (vvx - vvy + vx2 + vy2)*vz2)); - //f_BNW -= c1over216*drho - (drho + one)*(-(c1o8*(vvx - vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx - vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvy*vvz - vvy*vx2 + vvz*vx2 + vvz*vy2 - vx2*vy2 - (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2))); - - //kxyFromfcNEQ_NEB = -three*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW))) ) / (one + drho)); - //kyzFromfcNEQ_NEB = -three*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW))) ) / (one + drho)); - //kxzFromfcNEQ_NEB = -three*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW))) ) / (one + drho)); - //kxxMyyFromfcNEQ_NEB = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (one + drho)); - //kxxMzzFromfcNEQ_NEB = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (one + drho)); - //kyyMzzFromfcNEQ_NEB = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (one + drho)); - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //kxyFromfcNEQ_SWB = zero; - //kyzFromfcNEQ_SWB = zero; - //kxzFromfcNEQ_SWB = zero; - //kxxMyyFromfcNEQ_SWB = zero; - //kxxMzzFromfcNEQ_SWB = zero; - //kxyFromfcNEQ_SWT = zero; - //kyzFromfcNEQ_SWT = zero; - //kxzFromfcNEQ_SWT = zero; - //kxxMyyFromfcNEQ_SWT = zero; - //kxxMzzFromfcNEQ_SWT = zero; - //kxyFromfcNEQ_SET = zero; - //kyzFromfcNEQ_SET = zero; - //kxzFromfcNEQ_SET = zero; - //kxxMyyFromfcNEQ_SET = zero; - //kxxMzzFromfcNEQ_SET = zero; - //kxyFromfcNEQ_SEB = zero; - //kyzFromfcNEQ_SEB = zero; - //kxzFromfcNEQ_SEB = zero; - //kxxMyyFromfcNEQ_SEB = zero; - //kxxMzzFromfcNEQ_SEB = zero; - //kxyFromfcNEQ_NWB = zero; - //kyzFromfcNEQ_NWB = zero; - //kxzFromfcNEQ_NWB = zero; - //kxxMyyFromfcNEQ_NWB = zero; - //kxxMzzFromfcNEQ_NWB = zero; - //kxyFromfcNEQ_NWT = zero; - //kyzFromfcNEQ_NWT = zero; - //kxzFromfcNEQ_NWT = zero; - //kxxMyyFromfcNEQ_NWT = zero; - //kxxMzzFromfcNEQ_NWT = zero; - //kxyFromfcNEQ_NET = zero; - //kyzFromfcNEQ_NET = zero; - //kxzFromfcNEQ_NET = zero; - //kxxMyyFromfcNEQ_NET = zero; - //kxxMzzFromfcNEQ_NET = zero; - //kxyFromfcNEQ_NEB = zero; - //kyzFromfcNEQ_NEB = zero; - //kxzFromfcNEQ_NEB = zero; - //kxxMyyFromfcNEQ_NEB = zero; - //kxxMzzFromfcNEQ_NEB = zero; - ////////////////////////////////////////////////////////////////////////// - //3 - ////////////////////////////////////////////////////////////////////////// - a0 = c1o8*(((vx1_NEB + vx1_SWT) + (vx1_NWB + vx1_SET)) + ((vx1_SEB + vx1_NWT) + (vx1_SWB + vx1_NET))); - ax = c1o4*(((vx1_NEB - vx1_SWT) + (vx1_NET - vx1_SWB)) + ((vx1_SET - vx1_NWB) + (vx1_SEB - vx1_NWT))); - ay = c1o4*(((vx1_NEB - vx1_SWT) + (vx1_NET - vx1_SWB)) + ((vx1_NWB - vx1_SET) + (vx1_NWT - vx1_SEB))); - az = c1o4*(((vx1_SWT - vx1_NEB) + (vx1_NET - vx1_SWB)) + ((vx1_SET - vx1_NWB) + (vx1_NWT - vx1_SEB))); - axy = c1o2*(((vx1_NEB - vx1_SET) + (vx1_SWB - vx1_NWT)) + ((vx1_SWT - vx1_NWB) + (vx1_NET - vx1_SEB))); - axz = c1o2*(((vx1_SET - vx1_NEB) + (vx1_SWB - vx1_NWT)) + ((vx1_NWB - vx1_SWT) + (vx1_NET - vx1_SEB))); - ayz = c1o2*(((vx1_NET - vx1_NWB) + (vx1_SEB - vx1_SWT)) + ((vx1_NWT - vx1_NEB) + (vx1_SWB - vx1_SET))); - //axyz= ((vx1_SWT - vx1_NEB) + (vx1_NET - vx1_SWB)) + ((vx1_NWB - vx1_SET) + (vx1_SEB - vx1_NWT)) ; - b0 = c1o8*(((vx2_NEB + vx2_SWT) + (vx2_NWB + vx2_SET)) + ((vx2_SEB + vx2_NWT) + (vx2_SWB + vx2_NET))); - bx = c1o4*(((vx2_NEB - vx2_SWT) + (vx2_NET - vx2_SWB)) + ((vx2_SET - vx2_NWB) + (vx2_SEB - vx2_NWT))); - by = c1o4*(((vx2_NEB - vx2_SWT) + (vx2_NET - vx2_SWB)) + ((vx2_NWB - vx2_SET) + (vx2_NWT - vx2_SEB))); - bz = c1o4*(((vx2_SWT - vx2_NEB) + (vx2_NET - vx2_SWB)) + ((vx2_SET - vx2_NWB) + (vx2_NWT - vx2_SEB))); - bxy = c1o2*(((vx2_NEB - vx2_NWT) + (vx2_SWB - vx2_SET)) + ((vx2_SWT - vx2_SEB) + (vx2_NET - vx2_NWB))); - bxz = c1o2*(((vx2_SWB - vx2_NEB) + (vx2_SET - vx2_NWT)) + ((vx2_NWB - vx2_SEB) + (vx2_NET - vx2_SWT))); - byz = c1o2*(((vx2_NWT - vx2_NEB) + (vx2_SWB - vx2_SET)) + ((vx2_SEB - vx2_SWT) + (vx2_NET - vx2_NWB))); - //bxyz= ((vx2_SWT - vx2_NEB) + (vx2_NET - vx2_SWB)) + ((vx2_NWB - vx2_SET) + (vx2_SEB - vx2_NWT)) ; - c0 = c1o8*(((vx3_NEB + vx3_SWT) + (vx3_NWB + vx3_SET)) + ((vx3_SEB + vx3_NWT) + (vx3_SWB + vx3_NET))); - cx = c1o4*(((vx3_NEB - vx3_SWT) + (vx3_NET - vx3_SWB)) + ((vx3_SET - vx3_NWB) + (vx3_SEB - vx3_NWT))); - cy = c1o4*(((vx3_NEB - vx3_SWT) + (vx3_NET - vx3_SWB)) + ((vx3_NWB - vx3_SET) + (vx3_NWT - vx3_SEB))); - cz = c1o4*(((vx3_SWT - vx3_NEB) + (vx3_NET - vx3_SWB)) + ((vx3_SET - vx3_NWB) + (vx3_NWT - vx3_SEB))); - cxy = c1o2*(((vx3_NEB - vx3_SET) + (vx3_SWB - vx3_NWT)) + ((vx3_SWT - vx3_NWB) + (vx3_NET - vx3_SEB))); - cxz = c1o2*(((vx3_SWB - vx3_NEB) + (vx3_SET - vx3_NWT)) + ((vx3_NWB - vx3_SEB) + (vx3_NET - vx3_SWT))); - cyz = c1o2*(((vx3_SWB - vx3_NEB) + (vx3_NWT - vx3_SET)) + ((vx3_SEB - vx3_NWB) + (vx3_NET - vx3_SWT))); - //cxyz= ((vx3_SWT - vx3_NEB) + (vx3_NET - vx3_SWB)) + ((vx3_NWB - vx3_SET) + (vx3_SEB - vx3_NWT)) ; - - //bxx = zero; - //cxx = zero; - //ayy = zero; - //cyy = zero; - //azz = zero; - //bzz = zero; - //axx = zero; - //byy = zero; - //czz = zero; - - bxx = c1o8*(((kxyFromfcNEQ_NET - kxyFromfcNEQ_SWB) + (kxyFromfcNEQ_SEB - kxyFromfcNEQ_NWT)) + ((kxyFromfcNEQ_SET - kxyFromfcNEQ_NWB) + (kxyFromfcNEQ_NEB - kxyFromfcNEQ_SWT))) - c1o2*axy; - cxx = c1o8*(((kxzFromfcNEQ_NET - kxzFromfcNEQ_SWB) + (kxzFromfcNEQ_SEB - kxzFromfcNEQ_NWT)) + ((kxzFromfcNEQ_SET - kxzFromfcNEQ_NWB) + (kxzFromfcNEQ_NEB - kxzFromfcNEQ_SWT))) - c1o2*axz; - - ayy = c1o8*(((kxyFromfcNEQ_NET - kxyFromfcNEQ_SWB) + (kxyFromfcNEQ_NEB - kxyFromfcNEQ_SWT)) - ((kxyFromfcNEQ_SEB - kxyFromfcNEQ_NWT) + (kxyFromfcNEQ_SET - kxyFromfcNEQ_NWB))) - c1o2*bxy; - cyy = c1o8*(((kyzFromfcNEQ_NET - kyzFromfcNEQ_SWB) + (kyzFromfcNEQ_NEB - kyzFromfcNEQ_SWT)) - ((kyzFromfcNEQ_SEB - kyzFromfcNEQ_NWT) + (kyzFromfcNEQ_SET - kyzFromfcNEQ_NWB))) - c1o2*byz; - - azz = c1o8*(((kxzFromfcNEQ_NET - kxzFromfcNEQ_SWB) - (kxzFromfcNEQ_SEB - kxzFromfcNEQ_NWT)) + ((kxzFromfcNEQ_SET - kxzFromfcNEQ_NWB) - (kxzFromfcNEQ_NEB - kxzFromfcNEQ_SWT))) - c1o2*cxz; - bzz = c1o8*(((kyzFromfcNEQ_NET - kyzFromfcNEQ_SWB) - (kyzFromfcNEQ_SEB - kyzFromfcNEQ_NWT)) + ((kyzFromfcNEQ_SET - kyzFromfcNEQ_NWB) - (kyzFromfcNEQ_NEB - kyzFromfcNEQ_SWT))) - c1o2*cyz; - - axx = ( c1o16*(((kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_SWB) + (kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NWT)) + ((kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NWB) + (kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_SWT))) - c1o4*bxy) - + ( c1o16*(((kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_SWB) + (kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NWT)) + ((kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NWB) + (kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_SWT))) - c1o4*cxz); - - byy = (-c1o16*(((kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_SWB) - (kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NWT)) + ((kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_SWT) - (kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NWB))) - c1o4*axy) - + ( c1o16*(((kyyMzzFromfcNEQ_NET - kyyMzzFromfcNEQ_SWB) - (kyyMzzFromfcNEQ_SEB - kyyMzzFromfcNEQ_NWT)) + ((kyyMzzFromfcNEQ_NEB - kyyMzzFromfcNEQ_SWT) - (kyyMzzFromfcNEQ_SET - kyyMzzFromfcNEQ_NWB))) - c1o4*cyz); - - czz = (-c1o16*(((kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_SWB) - (kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NWT)) - ((kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_SWT) - (kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NWB))) - c1o4*axz) - + ( c1o16*(((kyyMzzFromfcNEQ_NET - kyyMzzFromfcNEQ_SWB) - (kyyMzzFromfcNEQ_SEB - kyyMzzFromfcNEQ_NWT)) - ((kyyMzzFromfcNEQ_NEB - kyyMzzFromfcNEQ_SWT) - (kyyMzzFromfcNEQ_SET - kyyMzzFromfcNEQ_NWB))) - c1o4*byz); - - a0 -= c1o4*(axx + ayy + azz); - b0 -= c1o4*(bxx + byy + bzz); - c0 -= c1o4*(cxx + cyy + czz); - - - - - ////////// - // a0 = (-kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - - //kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT - - //kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - - //kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - - //two*kxyFromfcNEQ_NEB - two*kxyFromfcNEQ_NET - two*kxyFromfcNEQ_NWB - two*kxyFromfcNEQ_NWT + - //two*kxyFromfcNEQ_SEB + two*kxyFromfcNEQ_SET + two*kxyFromfcNEQ_SWB + two*kxyFromfcNEQ_SWT + - //two*kxzFromfcNEQ_NEB - two*kxzFromfcNEQ_NET + two*kxzFromfcNEQ_NWB - two*kxzFromfcNEQ_NWT + - //two*kxzFromfcNEQ_SEB - two*kxzFromfcNEQ_SET + two*kxzFromfcNEQ_SWB - two*kxzFromfcNEQ_SWT + - //eight*vx1_NEB + eight*vx1_NET + eight*vx1_NWB + eight*vx1_NWT + eight*vx1_SEB + - //eight*vx1_SET + eight*vx1_SWB + eight*vx1_SWT + two*vx2_NEB + two*vx2_NET - - //two*vx2_NWB - two*vx2_NWT - two*vx2_SEB - two*vx2_SET + two*vx2_SWB + - //two*vx2_SWT - two*vx3_NEB + two*vx3_NET + two*vx3_NWB - two*vx3_NWT - - //two*vx3_SEB + two*vx3_SET + two*vx3_SWB - two*vx3_SWT)/sixtyfour; - // b0 = (two*kxxMyyFromfcNEQ_NEB + two*kxxMyyFromfcNEQ_NET + two*kxxMyyFromfcNEQ_NWB + two*kxxMyyFromfcNEQ_NWT - - //two*kxxMyyFromfcNEQ_SEB - two*kxxMyyFromfcNEQ_SET - two*kxxMyyFromfcNEQ_SWB - two*kxxMyyFromfcNEQ_SWT - - //kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + - //kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - - //two*kxyFromfcNEQ_NEB - two*kxyFromfcNEQ_NET + two*kxyFromfcNEQ_NWB + two*kxyFromfcNEQ_NWT - - //two*kxyFromfcNEQ_SEB - two*kxyFromfcNEQ_SET + two*kxyFromfcNEQ_SWB + two*kxyFromfcNEQ_SWT + - //two*kyzFromfcNEQ_NEB - two*kyzFromfcNEQ_NET + two*kyzFromfcNEQ_NWB - two*kyzFromfcNEQ_NWT + - //two*kyzFromfcNEQ_SEB - two*kyzFromfcNEQ_SET + two*kyzFromfcNEQ_SWB - two*kyzFromfcNEQ_SWT + - //two*vx1_NEB + two*vx1_NET - two*vx1_NWB - two*vx1_NWT - - //two*vx1_SEB - two*vx1_SET + two*vx1_SWB + two*vx1_SWT + - //eight*vx2_NEB + eight*vx2_NET + eight*vx2_NWB + eight*vx2_NWT + - //eight*vx2_SEB + eight*vx2_SET + eight*vx2_SWB + eight*vx2_SWT - - //two*vx3_NEB + two*vx3_NET - two*vx3_NWB + two*vx3_NWT + - //two*vx3_SEB - two*vx3_SET + two*vx3_SWB - two*vx3_SWT)/sixtyfour; - // c0 = (kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + - //kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT - - //two*kxxMzzFromfcNEQ_NEB + two*kxxMzzFromfcNEQ_NET - two*kxxMzzFromfcNEQ_NWB + two*kxxMzzFromfcNEQ_NWT - - //two*kxxMzzFromfcNEQ_SEB + two*kxxMzzFromfcNEQ_SET - two*kxxMzzFromfcNEQ_SWB + two*kxxMzzFromfcNEQ_SWT - - //two*kxzFromfcNEQ_NEB - two*kxzFromfcNEQ_NET + two*kxzFromfcNEQ_NWB + two*kxzFromfcNEQ_NWT - - //two*kxzFromfcNEQ_SEB - two*kxzFromfcNEQ_SET + two*kxzFromfcNEQ_SWB + two*kxzFromfcNEQ_SWT - - //two*kyzFromfcNEQ_NEB - two*kyzFromfcNEQ_NET - two*kyzFromfcNEQ_NWB - two*kyzFromfcNEQ_NWT + - //two*kyzFromfcNEQ_SEB + two*kyzFromfcNEQ_SET + two*kyzFromfcNEQ_SWB + two*kyzFromfcNEQ_SWT - - //two*vx1_NEB + two*vx1_NET + two*vx1_NWB - two*vx1_NWT - - //two*vx1_SEB + two*vx1_SET + two*vx1_SWB - two*vx1_SWT - - //two*vx2_NEB + two*vx2_NET - two*vx2_NWB + two*vx2_NWT + - //two*vx2_SEB - two*vx2_SET + two*vx2_SWB - two*vx2_SWT + - //eight*vx3_NEB + eight*vx3_NET + eight*vx3_NWB + eight*vx3_NWT + - //eight*vx3_SEB + eight*vx3_SET + eight*vx3_SWB + eight*vx3_SWT)/sixtyfour; - // ax = (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT + vx1_SEB + vx1_SET - vx1_SWB - vx1_SWT)/four; - // bx = (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT + vx2_SEB + vx2_SET - vx2_SWB - vx2_SWT)/four; - // cx = (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT + vx3_SEB + vx3_SET - vx3_SWB - vx3_SWT)/four; - // axx= (kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + - //kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT + - //kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + - //kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + - //two*vx2_NEB + two*vx2_NET - two*vx2_NWB - two*vx2_NWT - - //two*vx2_SEB - two*vx2_SET + two*vx2_SWB + two*vx2_SWT - - //two*vx3_NEB + two*vx3_NET + two*vx3_NWB - two*vx3_NWT - - //two*vx3_SEB + two*vx3_SET + two*vx3_SWB - two*vx3_SWT)/sixteen; - // bxx= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET - kxyFromfcNEQ_NWB - kxyFromfcNEQ_NWT + - //kxyFromfcNEQ_SEB + kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - - //two*vx1_NEB - two*vx1_NET + two*vx1_NWB + two*vx1_NWT + - //two*vx1_SEB + two*vx1_SET - two*vx1_SWB - two*vx1_SWT)/eight; - // cxx= (kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB - kxzFromfcNEQ_NWT + - //kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB - kxzFromfcNEQ_SWT + - //two*vx1_NEB - two*vx1_NET - two*vx1_NWB + two*vx1_NWT + - //two*vx1_SEB - two*vx1_SET - two*vx1_SWB + two*vx1_SWT)/eight; - // ay = (vx1_NEB + vx1_NET + vx1_NWB + vx1_NWT - vx1_SEB - vx1_SET - vx1_SWB - vx1_SWT)/four; - // by = (vx2_NEB + vx2_NET + vx2_NWB + vx2_NWT - vx2_SEB - vx2_SET - vx2_SWB - vx2_SWT)/four; - // cy = (vx3_NEB + vx3_NET + vx3_NWB + vx3_NWT - vx3_SEB - vx3_SET - vx3_SWB - vx3_SWT)/four; - // ayy= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET + kxyFromfcNEQ_NWB + kxyFromfcNEQ_NWT - - //kxyFromfcNEQ_SEB - kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - - //two*vx2_NEB - two*vx2_NET + two*vx2_NWB + two*vx2_NWT + - //two*vx2_SEB + two*vx2_SET - two*vx2_SWB - two*vx2_SWT)/eight; - // byy= (-two*kxxMyyFromfcNEQ_NEB - two*kxxMyyFromfcNEQ_NET - two*kxxMyyFromfcNEQ_NWB - two*kxxMyyFromfcNEQ_NWT + - //two*kxxMyyFromfcNEQ_SEB + two*kxxMyyFromfcNEQ_SET + two*kxxMyyFromfcNEQ_SWB + two*kxxMyyFromfcNEQ_SWT + - //kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - - //kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + - //two*vx1_NEB + two*vx1_NET - two*vx1_NWB - two*vx1_NWT - - //two*vx1_SEB - two*vx1_SET + two*vx1_SWB + two*vx1_SWT - - //two*vx3_NEB + two*vx3_NET - two*vx3_NWB + two*vx3_NWT + - //two*vx3_SEB - two*vx3_SET + two*vx3_SWB - two*vx3_SWT)/sixteen; - // cyy= (kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET + kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - - //kyzFromfcNEQ_SEB - kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB - kyzFromfcNEQ_SWT + - //two*vx2_NEB - two*vx2_NET + two*vx2_NWB - two*vx2_NWT - - //two*vx2_SEB + two*vx2_SET - two*vx2_SWB + two*vx2_SWT)/eight; - // az = (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT - vx1_SEB + vx1_SET - vx1_SWB + vx1_SWT)/four; - // bz = (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT - vx2_SEB + vx2_SET - vx2_SWB + vx2_SWT)/four; - // cz = (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT - vx3_SEB + vx3_SET - vx3_SWB + vx3_SWT)/four; - // azz= (-kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB + kxzFromfcNEQ_NWT - - //kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB + kxzFromfcNEQ_SWT + - //two*vx3_NEB - two*vx3_NET - two*vx3_NWB + two*vx3_NWT + - //two*vx3_SEB - two*vx3_SET - two*vx3_SWB + two*vx3_SWT)/eight; - // bzz= (-kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET - kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - - //kyzFromfcNEQ_SEB + kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB + kyzFromfcNEQ_SWT + - //two*vx3_NEB - two*vx3_NET + two*vx3_NWB - two*vx3_NWT - - //two*vx3_SEB + two*vx3_SET - two*vx3_SWB + two*vx3_SWT)/eight; - // czz= (-kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - - //kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT + - //two*kxxMzzFromfcNEQ_NEB - two*kxxMzzFromfcNEQ_NET + two*kxxMzzFromfcNEQ_NWB - two*kxxMzzFromfcNEQ_NWT + - //two*kxxMzzFromfcNEQ_SEB - two*kxxMzzFromfcNEQ_SET + two*kxxMzzFromfcNEQ_SWB - two*kxxMzzFromfcNEQ_SWT - - //two*vx1_NEB + two*vx1_NET + two*vx1_NWB - two*vx1_NWT - - //two*vx1_SEB + two*vx1_SET + two*vx1_SWB - two*vx1_SWT - - //two*vx2_NEB + two*vx2_NET - two*vx2_NWB + two*vx2_NWT + - //two*vx2_SEB - two*vx2_SET + two*vx2_SWB - two*vx2_SWT)/sixteen; - // axy= (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT - vx1_SEB - vx1_SET + vx1_SWB + vx1_SWT)/two; - // bxy= (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT - vx2_SEB - vx2_SET + vx2_SWB + vx2_SWT)/two; - // cxy= (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT - vx3_SEB - vx3_SET + vx3_SWB + vx3_SWT)/two; - // axz= (-vx1_NEB + vx1_NET + vx1_NWB - vx1_NWT - vx1_SEB + vx1_SET + vx1_SWB - vx1_SWT)/two; - // bxz= (-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT - vx2_SEB + vx2_SET + vx2_SWB - vx2_SWT)/two; - // cxz= (-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT - vx3_SEB + vx3_SET + vx3_SWB - vx3_SWT)/two; - // ayz= (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT + vx1_SEB - vx1_SET + vx1_SWB - vx1_SWT)/two; - // byz= (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT + vx2_SEB - vx2_SET + vx2_SWB - vx2_SWT)/two; - // cyz= (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT + vx3_SEB - vx3_SET + vx3_SWB - vx3_SWT)/two; - //axyz=-vx1_NEB + vx1_NET + vx1_NWB - vx1_NWT + vx1_SEB - vx1_SET - vx1_SWB + vx1_SWT; - //bxyz=-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT + vx2_SEB - vx2_SET - vx2_SWB + vx2_SWT; - //cxyz=-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT + vx3_SEB - vx3_SET - vx3_SWB + vx3_SWT; - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real kxyAverage = c0o1; - real kyzAverage = c0o1; - real kxzAverage = c0o1; - real kxxMyyAverage = c0o1; - real kxxMzzAverage = c0o1; - - - //real kxyAverage =(kxyFromfcNEQ_SWB+ - // kxyFromfcNEQ_SWT+ - // kxyFromfcNEQ_SET+ - // kxyFromfcNEQ_SEB+ - // kxyFromfcNEQ_NWB+ - // kxyFromfcNEQ_NWT+ - // kxyFromfcNEQ_NET+ - // kxyFromfcNEQ_NEB)*c1o8-(ay+bx); - //real kyzAverage =(kyzFromfcNEQ_SWB+ - // kyzFromfcNEQ_SWT+ - // kyzFromfcNEQ_SET+ - // kyzFromfcNEQ_SEB+ - // kyzFromfcNEQ_NWB+ - // kyzFromfcNEQ_NWT+ - // kyzFromfcNEQ_NET+ - // kyzFromfcNEQ_NEB)*c1o8-(bz+cy); - //real kxzAverage =(kxzFromfcNEQ_SWB+ - // kxzFromfcNEQ_SWT+ - // kxzFromfcNEQ_SET+ - // kxzFromfcNEQ_SEB+ - // kxzFromfcNEQ_NWB+ - // kxzFromfcNEQ_NWT+ - // kxzFromfcNEQ_NET+ - // kxzFromfcNEQ_NEB)*c1o8-(az+cx); - //real kxxMyyAverage =(kxxMyyFromfcNEQ_SWB+ - // kxxMyyFromfcNEQ_SWT+ - // kxxMyyFromfcNEQ_SET+ - // kxxMyyFromfcNEQ_SEB+ - // kxxMyyFromfcNEQ_NWB+ - // kxxMyyFromfcNEQ_NWT+ - // kxxMyyFromfcNEQ_NET+ - // kxxMyyFromfcNEQ_NEB)*c1o8-(ax-by); - //real kxxMzzAverage =(kxxMzzFromfcNEQ_SWB+ - // kxxMzzFromfcNEQ_SWT+ - // kxxMzzFromfcNEQ_SET+ - // kxxMzzFromfcNEQ_SEB+ - // kxxMzzFromfcNEQ_NWB+ - // kxxMzzFromfcNEQ_NWT+ - // kxxMzzFromfcNEQ_NET+ - // kxxMzzFromfcNEQ_NEB)*c1o8-(ax-cz); - - - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - ////Press - //d0 = ( press_NEB + press_NET + press_NWB + press_NWT + press_SEB + press_SET + press_SWB + press_SWT) * c1o8; - //dx = ( press_NEB + press_NET - press_NWB - press_NWT + press_SEB + press_SET - press_SWB - press_SWT) * c1o4; - //dy = ( press_NEB + press_NET + press_NWB + press_NWT - press_SEB - press_SET - press_SWB - press_SWT) * c1o4; - //dz = (-press_NEB + press_NET - press_NWB + press_NWT - press_SEB + press_SET - press_SWB + press_SWT) * c1o4; - //dxy = ( press_NEB + press_NET - press_NWB - press_NWT - press_SEB - press_SET + press_SWB + press_SWT) * c1o2; - //dxz = (-press_NEB + press_NET + press_NWB - press_NWT - press_SEB + press_SET + press_SWB - press_SWT) * c1o2; - //dyz = (-press_NEB + press_NET - press_NWB + press_NWT + press_SEB - press_SET + press_SWB - press_SWT) * c1o2; - //dxyz = -press_NEB + press_NET + press_NWB - press_NWT + press_SEB - press_SET - press_SWB + press_SWT; - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho - d0 = ( ((drho_NEB + drho_SWT) + (drho_NWB + drho_SET)) + ((drho_SEB + drho_NWT) + (drho_SWB + drho_NET))) * c1o8; - dx = ( ((drho_NEB - drho_SWT) + (drho_SEB - drho_NWT)) + ((drho_SET - drho_NWB) + (drho_NET - drho_SWB))) * c1o4; - dy = ( ((drho_NEB - drho_SWT) + (drho_NWT - drho_SEB)) + ((drho_NWB - drho_SET) + (drho_NET - drho_SWB))) * c1o4; - dz = ( ((drho_SWT - drho_NEB) + (drho_NET - drho_SWB)) + ((drho_SET - drho_NWB) + (drho_NWT - drho_SEB))) * c1o4; - dxy = ( ((drho_NEB - drho_SET) + (drho_NET - drho_SEB)) + ((drho_SWT - drho_NWB) + (drho_SWB - drho_NWT))) * c1o2; - dxz = ( ((drho_SWB - drho_NEB) + (drho_NET - drho_SWT)) + ((drho_NWB - drho_SEB) + (drho_SET - drho_NWT))) * c1o2; - dyz = ( ((drho_NWT - drho_NEB) + (drho_NET - drho_NWB)) + ((drho_SEB - drho_SWT) + (drho_SWB - drho_SET))) * c1o2; - //d0 = ( drho_NEB + drho_NET + drho_NWB + drho_NWT + drho_SEB + drho_SET + drho_SWB + drho_SWT) * c1o8; - //dx = ( drho_NEB + drho_NET - drho_NWB - drho_NWT + drho_SEB + drho_SET - drho_SWB - drho_SWT) * c1o4; - //dy = ( drho_NEB + drho_NET + drho_NWB + drho_NWT - drho_SEB - drho_SET - drho_SWB - drho_SWT) * c1o4; - //dz = (-drho_NEB + drho_NET - drho_NWB + drho_NWT - drho_SEB + drho_SET - drho_SWB + drho_SWT) * c1o4; - //dxy = ( drho_NEB + drho_NET - drho_NWB - drho_NWT - drho_SEB - drho_SET + drho_SWB + drho_SWT) * c1o2; - //dxz = (-drho_NEB + drho_NET + drho_NWB - drho_NWT - drho_SEB + drho_SET + drho_SWB - drho_SWT) * c1o2; - //dyz = (-drho_NEB + drho_NET - drho_NWB + drho_NWT + drho_SEB - drho_SET + drho_SWB - drho_SWT) * c1o2; - //dxyz = -drho_NEB + drho_NET + drho_NWB - drho_NWT + drho_SEB - drho_SET - drho_SWB + drho_SWT; - //d0 = zero; - //dx = zero; - //dy = zero; - //dz = zero; - //dxy = zero; - //dxz = zero; - //dyz = zero; - //dxyz = zero; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - // Bernd das Brot - // - // - // x------x - // | | - // | ---+--->X - // | | \ - // x------x \ - // off-vector - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - a0 = a0 + xoff * ax + yoff * ay + zoff * az + xoff_sq * axx + yoff_sq * ayy + zoff_sq * azz + xoff*yoff*axy + xoff*zoff*axz + yoff*zoff*ayz; - ax = ax + c2o1 * xoff * axx + yoff * axy + zoff * axz; - ay = ay + c2o1 * yoff * ayy + xoff * axy + zoff * ayz; - az = az + c2o1 * zoff * azz + xoff * axz + yoff * ayz; - b0 = b0 + xoff * bx + yoff * by + zoff * bz + xoff_sq * bxx + yoff_sq * byy + zoff_sq * bzz + xoff*yoff*bxy + xoff*zoff*bxz + yoff*zoff*byz; - bx = bx + c2o1 * xoff * bxx + yoff * bxy + zoff * bxz; - by = by + c2o1 * yoff * byy + xoff * bxy + zoff * byz; - bz = bz + c2o1 * zoff * bzz + xoff * bxz + yoff * byz; - c0 = c0 + xoff * cx + yoff * cy + zoff * cz + xoff_sq * cxx + yoff_sq * cyy + zoff_sq * czz + xoff*yoff*cxy + xoff*zoff*cxz + yoff*zoff*cyz; - cx = cx + c2o1 * xoff * cxx + yoff * cxy + zoff * cxz; - cy = cy + c2o1 * yoff * cyy + xoff * cxy + zoff * cyz; - cz = cz + c2o1 * zoff * czz + xoff * cxz + yoff * cyz; - d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // FIX /////////////////////////////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //AAAAAAAAAAAAHHHHHHHHHHHH!!!!! Mieser Test!!! - //b0= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz= c0= cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero; - //b0=zero; - //bx=zero; - //by=zero; - //bz=zero; - //bxx=zero; - //byy=zero; - //bzz=zero; - //bxy=zero; - //bxz=zero; - //byz=zero; - //c0=zero; - //cx=zero; - //cy=zero; - //cz=zero; - //cxx=zero; - //cyy=zero; - //czz=zero; - //cxy=zero; - //cxz=zero; - //cyz=zero; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = c0o1; - real mfabb = c0o1; - real mfbcb = c0o1; - real mfbab = c0o1; - real mfbbc = c0o1; - real mfbba = c0o1; - real mfccb = c0o1; - real mfaab = c0o1; - real mfcab = c0o1; - real mfacb = c0o1; - real mfcbc = c0o1; - real mfaba = c0o1; - real mfcba = c0o1; - real mfabc = c0o1; - real mfbcc = c0o1; - real mfbaa = c0o1; - real mfbca = c0o1; - real mfbac = c0o1; - real mfbbb = c0o1; - real mfccc = c0o1; - real mfaac = c0o1; - real mfcac = c0o1; - real mfacc = c0o1; - real mfcca = c0o1; - real mfaaa = c0o1; - real mfcaa = c0o1; - real mfaca = c0o1; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real m0, m1, m2, oMdrho; - real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz; - //real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein - //real O3 = c2o1 - o; - //real residu, residutmp; - //residutmp = c0o1;///*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new; - real NeqOn = c1o1;//zero;//one; //.... one = on ..... zero = off - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position C 0., 0., 0. - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //x = 0.; - //y = 0.; - //z = 0.; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //real mxoff = -xoff; - //real myoff = -yoff; - //real mzoff = -zoff; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //press = press_NET * (c1o8 - c1o4 * mxoff - c1o4 * myoff - c1o4 * mzoff) + - // press_NWT * (c1o8 + c1o4 * mxoff - c1o4 * myoff - c1o4 * mzoff) + - // press_SET * (c1o8 - c1o4 * mxoff + c1o4 * myoff - c1o4 * mzoff) + - // press_SWT * (c1o8 + c1o4 * mxoff + c1o4 * myoff - c1o4 * mzoff) + - // press_NEB * (c1o8 - c1o4 * mxoff - c1o4 * myoff + c1o4 * mzoff) + - // press_NWB * (c1o8 + c1o4 * mxoff - c1o4 * myoff + c1o4 * mzoff) + - // press_SEB * (c1o8 - c1o4 * mxoff + c1o4 * myoff + c1o4 * mzoff) + - // press_SWB * (c1o8 + c1o4 * mxoff + c1o4 * myoff + c1o4 * mzoff); - //drho = drho_NET * (c1o8 - c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + - // drho_NWT * (c1o8 + c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + - // drho_SET * (c1o8 - c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + - // drho_SWT * (c1o8 + c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + - // drho_NEB * (c1o8 - c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + - // drho_NWB * (c1o8 + c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + - // drho_SEB * (c1o8 - c1o4 * xoff + c1o4 * yoff + c1o4 * zoff) + - // drho_SWB * (c1o8 + c1o4 * xoff + c1o4 * yoff + c1o4 * zoff); - press = d0; - vvx = a0; - vvy = b0; - vvz = c0; - - //mfaaa = drho; - //mfaaa = press + (ax+by+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //two - // linear combinations - real oP = o;// :( - mxxPyyPzz = mfaaa -c2o3*(ax+by+cz)*eps_new/oP*(c1o1+press); - //mxxMyy = -c2o3*(ax - by)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy)*eps_new/o; - //mfbab = -c1o3 * (az + cx)*eps_new/o; - //mfbba = -c1o3 * (ay + bx)*eps_new/o; - mxxMyy = -c2o3*((ax - by)+kxxMyyAverage)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*((ax - cz)+kxxMzzAverage)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * ((bz + cy)+kyzAverage)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * ((az + cx)+kxzAverage)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * ((ay + bx)+kxyAverage)*eps_new/o * (c1o1 + press); - - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //3. - // linear combinations - //residu = residutmp * (ayz + bxz + cxy ); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0o1; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz ); - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz )); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0o1; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz ); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz ); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0o1; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy ); - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy )); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0o1; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy ); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy ); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0o1; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz ); - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz ); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0o1; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz ); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz ); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0o1; - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4. - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - //index 0 - kzero= posC[k]; - kw = neighborCX[kzero]; - ks = neighborCY[kzero]; - kb = neighborCZ[kzero]; - ksw = neighborCY[kw]; - kbw = neighborCZ[kw]; - kbs = neighborCZ[ks]; - kbsw = neighborCZ[ksw]; - //////////////////////////////////////////////////////////////////////////////////// - - - //////////////////////////////////////////////////////////////////////////////////// - feC[kzero] = mfcbb; - fwC[kw] = mfabb; - fnC[kzero] = mfbcb; - fsC[ks] = mfbab; - ftC[kzero] = mfbbc; - fbC[kb] = mfbba; - fneC[kzero] = mfccb; - fswC[ksw] = mfaab; - fseC[ks] = mfcab; - fnwC[kw] = mfacb; - fteC[kzero] = mfcbc; - fbwC[kbw] = mfaba; - fbeC[kb] = mfcba; - ftwC[kw] = mfabc; - ftnC[kzero] = mfbcc; - fbsC[kbs] = mfbaa; - fbnC[kb] = mfbca; - ftsC[ks] = mfbac; - fzeroC[kzero] = mfbbb; - ftneC[kzero] = mfccc; - ftseC[ks] = mfcac; - fbneC[kb] = mfcca; - fbseC[kbs] = mfcaa; - ftnwC[kw] = mfacc; - ftswC[ksw] = mfaac; - fbnwC[kbw] = mfaca; - fbswC[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - } -} -////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -////////////////////////////////////////////////////////////////////////// -__global__ void scaleFC_NSPress_27( real* DC, - real* DF, - unsigned int* neighborCX, - unsigned int* neighborCY, - unsigned int* neighborCZ, - unsigned int* neighborFX, - unsigned int* neighborFY, - unsigned int* neighborFZ, - unsigned long long numberOfLBnodesCoarse, - unsigned long long numberOfLBnodesFine, - bool isEvenTimestep, - unsigned int* posC, - unsigned int* posFSWB, - unsigned int kFC, - real omCoarse, - real omFine, - real nu, - unsigned int nxC, - unsigned int nyC, - unsigned int nxF, - unsigned int nyF, - ICellNeigh offFC) -{ - real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, - *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - - feF = &DF[dP00 * numberOfLBnodesFine]; - fwF = &DF[dM00 * numberOfLBnodesFine]; - fnF = &DF[d0P0 * numberOfLBnodesFine]; - fsF = &DF[d0M0 * numberOfLBnodesFine]; - ftF = &DF[d00P * numberOfLBnodesFine]; - fbF = &DF[d00M * numberOfLBnodesFine]; - fneF = &DF[dPP0 * numberOfLBnodesFine]; - fswF = &DF[dMM0 * numberOfLBnodesFine]; - fseF = &DF[dPM0 * numberOfLBnodesFine]; - fnwF = &DF[dMP0 * numberOfLBnodesFine]; - fteF = &DF[dP0P * numberOfLBnodesFine]; - fbwF = &DF[dM0M * numberOfLBnodesFine]; - fbeF = &DF[dP0M * numberOfLBnodesFine]; - ftwF = &DF[dM0P * numberOfLBnodesFine]; - ftnF = &DF[d0PP * numberOfLBnodesFine]; - fbsF = &DF[d0MM * numberOfLBnodesFine]; - fbnF = &DF[d0PM * numberOfLBnodesFine]; - ftsF = &DF[d0MP * numberOfLBnodesFine]; - fzeroF = &DF[d000 * numberOfLBnodesFine]; - ftneF = &DF[dPPP * numberOfLBnodesFine]; - ftswF = &DF[dMMP * numberOfLBnodesFine]; - ftseF = &DF[dPMP * numberOfLBnodesFine]; - ftnwF = &DF[dMPP * numberOfLBnodesFine]; - fbneF = &DF[dPPM * numberOfLBnodesFine]; - fbswF = &DF[dMMM * numberOfLBnodesFine]; - fbseF = &DF[dPMM * numberOfLBnodesFine]; - fbnwF = &DF[dMPM * numberOfLBnodesFine]; - - real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, *fzeroC, - *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; - - if (isEvenTimestep==true) - { - feC = &DC[dP00 * numberOfLBnodesCoarse]; - fwC = &DC[dM00 * numberOfLBnodesCoarse]; - fnC = &DC[d0P0 * numberOfLBnodesCoarse]; - fsC = &DC[d0M0 * numberOfLBnodesCoarse]; - ftC = &DC[d00P * numberOfLBnodesCoarse]; - fbC = &DC[d00M * numberOfLBnodesCoarse]; - fneC = &DC[dPP0 * numberOfLBnodesCoarse]; - fswC = &DC[dMM0 * numberOfLBnodesCoarse]; - fseC = &DC[dPM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dMP0 * numberOfLBnodesCoarse]; - fteC = &DC[dP0P * numberOfLBnodesCoarse]; - fbwC = &DC[dM0M * numberOfLBnodesCoarse]; - fbeC = &DC[dP0M * numberOfLBnodesCoarse]; - ftwC = &DC[dM0P * numberOfLBnodesCoarse]; - ftnC = &DC[d0PP * numberOfLBnodesCoarse]; - fbsC = &DC[d0MM * numberOfLBnodesCoarse]; - fbnC = &DC[d0PM * numberOfLBnodesCoarse]; - ftsC = &DC[d0MP * numberOfLBnodesCoarse]; - fzeroC = &DC[d000 * numberOfLBnodesCoarse]; - ftneC = &DC[dPPP * numberOfLBnodesCoarse]; - ftswC = &DC[dMMP * numberOfLBnodesCoarse]; - ftseC = &DC[dPMP * numberOfLBnodesCoarse]; - ftnwC = &DC[dMPP * numberOfLBnodesCoarse]; - fbneC = &DC[dPPM * numberOfLBnodesCoarse]; - fbswC = &DC[dMMM * numberOfLBnodesCoarse]; - fbseC = &DC[dPMM * numberOfLBnodesCoarse]; - fbnwC = &DC[dMPM * numberOfLBnodesCoarse]; - } - else - { - fwC = &DC[dP00 * numberOfLBnodesCoarse]; - feC = &DC[dM00 * numberOfLBnodesCoarse]; - fsC = &DC[d0P0 * numberOfLBnodesCoarse]; - fnC = &DC[d0M0 * numberOfLBnodesCoarse]; - fbC = &DC[d00P * numberOfLBnodesCoarse]; - ftC = &DC[d00M * numberOfLBnodesCoarse]; - fswC = &DC[dPP0 * numberOfLBnodesCoarse]; - fneC = &DC[dMM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dPM0 * numberOfLBnodesCoarse]; - fseC = &DC[dMP0 * numberOfLBnodesCoarse]; - fbwC = &DC[dP0P * numberOfLBnodesCoarse]; - fteC = &DC[dM0M * numberOfLBnodesCoarse]; - ftwC = &DC[dP0M * numberOfLBnodesCoarse]; - fbeC = &DC[dM0P * numberOfLBnodesCoarse]; - fbsC = &DC[d0PP * numberOfLBnodesCoarse]; - ftnC = &DC[d0MM * numberOfLBnodesCoarse]; - ftsC = &DC[d0PM * numberOfLBnodesCoarse]; - fbnC = &DC[d0MP * numberOfLBnodesCoarse]; - fzeroC = &DC[d000 * numberOfLBnodesCoarse]; - fbswC = &DC[dPPP * numberOfLBnodesCoarse]; - fbneC = &DC[dMMP * numberOfLBnodesCoarse]; - fbnwC = &DC[dPMP * numberOfLBnodesCoarse]; - fbseC = &DC[dMPP * numberOfLBnodesCoarse]; - ftswC = &DC[dPPM * numberOfLBnodesCoarse]; - ftneC = &DC[dMMM * numberOfLBnodesCoarse]; - ftnwC = &DC[dPMM * numberOfLBnodesCoarse]; - ftseC = &DC[dMPM * numberOfLBnodesCoarse]; - } - //////////////////////////////////////////////////////////////////////////////// - const unsigned ix = threadIdx.x; // Globaler x-Index - const unsigned iy = blockIdx.x; // Globaler y-Index - const unsigned iz = blockIdx.y; // Globaler z-Index - - const unsigned nx = blockDim.x; - const unsigned ny = gridDim.x; - - const unsigned k = nx*(ny*iz + iy) + ix; - ////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////// - real eps_new = c2o1; - real omegaS = omFine;//-omFine; - real o = omCoarse;//-omCoarse; - //real op = one; - //real cu_sq; - - real xoff, yoff, zoff; - real xoff_sq, yoff_sq, zoff_sq; - - real press;//,drho,vx1,vx2,vx3; - real press_SWT,drho_SWT,vx1_SWT,vx2_SWT,vx3_SWT; - real press_NWT,drho_NWT,vx1_NWT,vx2_NWT,vx3_NWT; - real press_NET,drho_NET,vx1_NET,vx2_NET,vx3_NET; - real press_SET,drho_SET,vx1_SET,vx2_SET,vx3_SET; - real press_SWB,drho_SWB,vx1_SWB,vx2_SWB,vx3_SWB; - real press_NWB,drho_NWB,vx1_NWB,vx2_NWB,vx3_NWB; - real press_NEB,drho_NEB,vx1_NEB,vx2_NEB,vx3_NEB; - real press_SEB,drho_SEB,vx1_SEB,vx2_SEB,vx3_SEB; - real f_E,f_W,f_N,f_S,f_T,f_B,f_NE,f_SW,f_SE,f_NW,f_TE,f_BW,f_BE,f_TW,f_TN,f_BS,f_BN,f_TS,f_ZERO,f_TNE, f_TSW, f_TSE, f_TNW, f_BNE, f_BSW, f_BSE, f_BNW; - //real feq_E,feq_W,feq_N,feq_S,feq_T,feq_B,feq_NE,feq_SW,feq_SE,feq_NW,feq_TE,feq_BW,feq_BE,feq_TW,feq_TN,feq_BS,feq_BN,feq_TS,feq_ZERO,feq_TNE, feq_TSW, feq_TSE, feq_TNW, feq_BNE, feq_BSW, feq_BSE, feq_BNW; - real kxyFromfcNEQ_SWT, kyzFromfcNEQ_SWT, kxzFromfcNEQ_SWT, kxxMyyFromfcNEQ_SWT, kxxMzzFromfcNEQ_SWT; - real kxyFromfcNEQ_NWT, kyzFromfcNEQ_NWT, kxzFromfcNEQ_NWT, kxxMyyFromfcNEQ_NWT, kxxMzzFromfcNEQ_NWT; - real kxyFromfcNEQ_NET, kyzFromfcNEQ_NET, kxzFromfcNEQ_NET, kxxMyyFromfcNEQ_NET, kxxMzzFromfcNEQ_NET; - real kxyFromfcNEQ_SET, kyzFromfcNEQ_SET, kxzFromfcNEQ_SET, kxxMyyFromfcNEQ_SET, kxxMzzFromfcNEQ_SET; - real kxyFromfcNEQ_SWB, kyzFromfcNEQ_SWB, kxzFromfcNEQ_SWB, kxxMyyFromfcNEQ_SWB, kxxMzzFromfcNEQ_SWB; - real kxyFromfcNEQ_NWB, kyzFromfcNEQ_NWB, kxzFromfcNEQ_NWB, kxxMyyFromfcNEQ_NWB, kxxMzzFromfcNEQ_NWB; - real kxyFromfcNEQ_NEB, kyzFromfcNEQ_NEB, kxzFromfcNEQ_NEB, kxxMyyFromfcNEQ_NEB, kxxMzzFromfcNEQ_NEB; - real kxyFromfcNEQ_SEB, kyzFromfcNEQ_SEB, kxzFromfcNEQ_SEB, kxxMyyFromfcNEQ_SEB, kxxMzzFromfcNEQ_SEB; - real a0, ax, ay, az, axx, ayy, azz, axy, axz, ayz, b0, bx, by, bz, bxx, byy, bzz, bxy, bxz, byz, c0, cx, cy, cz, cxx, cyy, czz, cxy, cxz, cyz/*, axyz, bxyz, cxyz*/; - - if(k<kFC) - { - ////////////////////////////////////////////////////////////////////////// - xoff = offFC.x[k]; - yoff = offFC.y[k]; - zoff = offFC.z[k]; - xoff_sq = xoff * xoff; - yoff_sq = yoff * yoff; - zoff_sq = zoff * zoff; - ////////////////////////////////////////////////////////////////////////// - //SWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - unsigned int k0zero= posFSWB[k]; - unsigned int k0w = neighborFX[k0zero]; - unsigned int k0s = neighborFY[k0zero]; - unsigned int k0b = neighborFZ[k0zero]; - unsigned int k0sw = neighborFY[k0w]; - unsigned int k0bw = neighborFZ[k0w]; - unsigned int k0bs = neighborFZ[k0s]; - unsigned int k0bsw = neighborFZ[k0sw]; - ////////////////////////////////////////////////////////////////////////// - //index - unsigned int kzero= k0zero; - unsigned int kw = k0w; - unsigned int ks = k0s; - unsigned int kb = k0b; - unsigned int ksw = k0sw; - unsigned int kbw = k0bw; - unsigned int kbs = k0bs; - unsigned int kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - //vx1_SWB = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_SWB = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_SWB = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_SWB = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_SWB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_SWB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_SWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - press_SWB = (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)- - drho_SWB-(vx1_SWB*vx1_SWB+vx2_SWB*vx2_SWB+vx3_SWB*vx3_SWB)* (c1o1+drho_SWB)) * c1o2+drho_SWB; - - kxyFromfcNEQ_SWB = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SWB*vx2_SWB)); - kyzFromfcNEQ_SWB = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_SWB*vx3_SWB)); - kxzFromfcNEQ_SWB = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_SWB*vx3_SWB)); - kxxMyyFromfcNEQ_SWB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_SWB*vx1_SWB-vx2_SWB*vx2_SWB)); - kxxMzzFromfcNEQ_SWB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_SWB*vx1_SWB-vx3_SWB*vx3_SWB)); - - ////////////////////////////////////////////////////////////////////////// - //SWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - //vx1_SWT = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_SWT = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_SWT = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_SWT = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_SWT = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_SWT = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_SWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - press_SWT= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)- - drho_SWT-(vx1_SWT*vx1_SWT+vx2_SWT*vx2_SWT+vx3_SWT*vx3_SWT)* (c1o1+drho_SWT)) * c1o2+drho_SWT; - - kxyFromfcNEQ_SWT = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SWT*vx2_SWT)); - kyzFromfcNEQ_SWT = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_SWT*vx3_SWT)); - kxzFromfcNEQ_SWT = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_SWT*vx3_SWT)); - kxxMyyFromfcNEQ_SWT = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_SWT*vx1_SWT-vx2_SWT*vx2_SWT)); - kxxMzzFromfcNEQ_SWT = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_SWT*vx1_SWT-vx3_SWT*vx3_SWT)); - - ////////////////////////////////////////////////////////////////////////// - //SET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - //vx1_SET = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_SET = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_SET = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_SET = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_SET = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_SET = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_SET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - press_SET= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)- - drho_SET-(vx1_SET*vx1_SET+vx2_SET*vx2_SET+vx3_SET*vx3_SET)* (c1o1+drho_SET)) * c1o2+drho_SET; - - kxyFromfcNEQ_SET = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SET*vx2_SET)); - kyzFromfcNEQ_SET = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_SET*vx3_SET)); - kxzFromfcNEQ_SET = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_SET*vx3_SET)); - kxxMyyFromfcNEQ_SET = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_SET*vx1_SET-vx2_SET*vx2_SET)); - kxxMzzFromfcNEQ_SET = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_SET*vx1_SET-vx3_SET*vx3_SET)); - - ////////////////////////////////////////////////////////////////////////// - //SEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - //vx1_SEB = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_SEB = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_SEB = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_SEB = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_SEB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_SEB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_SEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - press_SEB= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)- - drho_SEB-(vx1_SEB*vx1_SEB+vx2_SEB*vx2_SEB+vx3_SEB*vx3_SEB)* (c1o1+drho_SEB)) * c1o2+drho_SEB; - - kxyFromfcNEQ_SEB = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SEB*vx2_SEB)); - kyzFromfcNEQ_SEB = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_SEB*vx3_SEB)); - kxzFromfcNEQ_SEB = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_SEB*vx3_SEB)); - kxxMyyFromfcNEQ_SEB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_SEB*vx1_SEB-vx2_SEB*vx2_SEB)); - kxxMzzFromfcNEQ_SEB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_SEB*vx1_SEB-vx3_SEB*vx3_SEB)); - - ////////////////////////////////////////////////////////////////////////// - //NWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= k0s; - k0w = k0sw; - k0s = neighborFY[k0s]; - k0b = k0bs; - k0sw = neighborFY[k0sw]; - k0bw = k0bsw; - k0bs = neighborFY[k0bs]; - k0bsw = neighborFY[k0bsw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - //vx1_NWB = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_NWB = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_NWB = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_NWB = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_NWB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_NWB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_NWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - press_NWB= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)- - drho_NWB-(vx1_NWB*vx1_NWB+vx2_NWB*vx2_NWB+vx3_NWB*vx3_NWB)* (c1o1+drho_NWB)) * c1o2+drho_NWB; - - kxyFromfcNEQ_NWB = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NWB*vx2_NWB)); - kyzFromfcNEQ_NWB = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_NWB*vx3_NWB)); - kxzFromfcNEQ_NWB = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_NWB*vx3_NWB)); - kxxMyyFromfcNEQ_NWB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_NWB*vx1_NWB-vx2_NWB*vx2_NWB)); - kxxMzzFromfcNEQ_NWB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_NWB*vx1_NWB-vx3_NWB*vx3_NWB)); - - ////////////////////////////////////////////////////////////////////////// - //NWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - //vx1_NWT = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_NWT = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_NWT = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_NWT = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_NWT = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_NWT = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_NWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - press_NWT= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)- - drho_NWT-(vx1_NWT*vx1_NWT+vx2_NWT*vx2_NWT+vx3_NWT*vx3_NWT)* (c1o1+drho_NWT)) * c1o2+drho_NWT; - - kxyFromfcNEQ_NWT = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NWT*vx2_NWT)); - kyzFromfcNEQ_NWT = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_NWT*vx3_NWT)); - kxzFromfcNEQ_NWT = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_NWT*vx3_NWT)); - kxxMyyFromfcNEQ_NWT = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_NWT*vx1_NWT-vx2_NWT*vx2_NWT)); - kxxMzzFromfcNEQ_NWT = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_NWT*vx1_NWT-vx3_NWT*vx3_NWT)); - - ////////////////////////////////////////////////////////////////////////// - //NET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - //vx1_NET = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_NET = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_NET = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_NET = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_NET = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_NET = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_NET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - press_NET= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)- - drho_NET-(vx1_NET*vx1_NET+vx2_NET*vx2_NET+vx3_NET*vx3_NET)* (c1o1+drho_NET)) * c1o2+drho_NET; - - kxyFromfcNEQ_NET = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NET*vx2_NET)); - kyzFromfcNEQ_NET = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_NET*vx3_NET)); - kxzFromfcNEQ_NET = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_NET*vx3_NET)); - kxxMyyFromfcNEQ_NET = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_NET*vx1_NET-vx2_NET*vx2_NET)); - kxxMzzFromfcNEQ_NET = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_NET*vx1_NET-vx3_NET*vx3_NET)); - - ////////////////////////////////////////////////////////////////////////// - //NEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - //vx1_NEB = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_NEB = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_NEB = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_NEB = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_NEB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_NEB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_NEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - press_NEB= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)- - drho_NEB-(vx1_NEB*vx1_NEB+vx2_NEB*vx2_NEB+vx3_NEB*vx3_NEB)* (c1o1+drho_NEB)) * c1o2+drho_NEB; - - kxyFromfcNEQ_NEB = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NEB*vx2_NEB)); - kyzFromfcNEQ_NEB = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_NEB*vx3_NEB)); - kxzFromfcNEQ_NEB = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_NEB*vx3_NEB)); - kxxMyyFromfcNEQ_NEB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_NEB*vx1_NEB-vx2_NEB*vx2_NEB)); - kxxMzzFromfcNEQ_NEB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_NEB*vx1_NEB-vx3_NEB*vx3_NEB)); - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - ////////////////////////////////////////////////////////////////////////// - //3 - ////////////////////////////////////////////////////////////////////////// - a0 = (-kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT - - kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - - kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - - c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET - c2o1*kxyFromfcNEQ_NWB - c2o1*kxyFromfcNEQ_NWT + - c2o1*kxyFromfcNEQ_SEB + c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + - c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB - c2o1*kxzFromfcNEQ_NWT + - c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB - c2o1*kxzFromfcNEQ_SWT + - c8o1*vx1_NEB + c8o1*vx1_NET + c8o1*vx1_NWB + c8o1*vx1_NWT + c8o1*vx1_SEB + - c8o1*vx1_SET + c8o1*vx1_SWB + c8o1*vx1_SWT + c2o1*vx2_NEB + c2o1*vx2_NET - - c2o1*vx2_NWB - c2o1*vx2_NWT - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + - c2o1*vx2_SWT - c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - - c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1; - b0 = (c2o1*kxxMyyFromfcNEQ_NEB + c2o1*kxxMyyFromfcNEQ_NET + c2o1*kxxMyyFromfcNEQ_NWB + c2o1*kxxMyyFromfcNEQ_NWT - - c2o1*kxxMyyFromfcNEQ_SEB - c2o1*kxxMyyFromfcNEQ_SET - c2o1*kxxMyyFromfcNEQ_SWB - c2o1*kxxMyyFromfcNEQ_SWT - - kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - - c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET + c2o1*kxyFromfcNEQ_NWB + c2o1*kxyFromfcNEQ_NWT - - c2o1*kxyFromfcNEQ_SEB - c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + - c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET + c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + - c2o1*kyzFromfcNEQ_SEB - c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB - c2o1*kyzFromfcNEQ_SWT + - c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT + - c8o1*vx2_NEB + c8o1*vx2_NET + c8o1*vx2_NWB + c8o1*vx2_NWT + - c8o1*vx2_SEB + c8o1*vx2_SET + c8o1*vx2_SWB + c8o1*vx2_SWT - - c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + - c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1; - c0 = (kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT - - c2o1*kxxMzzFromfcNEQ_NEB + c2o1*kxxMzzFromfcNEQ_NET - c2o1*kxxMzzFromfcNEQ_NWB + c2o1*kxxMzzFromfcNEQ_NWT - - c2o1*kxxMzzFromfcNEQ_SEB + c2o1*kxxMzzFromfcNEQ_SET - c2o1*kxxMzzFromfcNEQ_SWB + c2o1*kxxMzzFromfcNEQ_SWT - - c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB + c2o1*kxzFromfcNEQ_NWT - - c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB + c2o1*kxzFromfcNEQ_SWT - - c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET - c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + - c2o1*kyzFromfcNEQ_SEB + c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB + c2o1*kyzFromfcNEQ_SWT - - c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - - c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT + - c8o1*vx3_NEB + c8o1*vx3_NET + c8o1*vx3_NWB + c8o1*vx3_NWT + - c8o1*vx3_SEB + c8o1*vx3_SET + c8o1*vx3_SWB + c8o1*vx3_SWT)/c64o1; - ax = (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT + vx1_SEB + vx1_SET - vx1_SWB - vx1_SWT)/c4o1; - bx = (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT + vx2_SEB + vx2_SET - vx2_SWB - vx2_SWT)/c4o1; - cx = (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT + vx3_SEB + vx3_SET - vx3_SWB - vx3_SWT)/c4o1; - axx= (kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT + - kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + - c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB - c2o1*vx2_NWT - - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + c2o1*vx2_SWT - - c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - - c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1; - bxx= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET - kxyFromfcNEQ_NWB - kxyFromfcNEQ_NWT + - kxyFromfcNEQ_SEB + kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - - c2o1*vx1_NEB - c2o1*vx1_NET + c2o1*vx1_NWB + c2o1*vx1_NWT + - c2o1*vx1_SEB + c2o1*vx1_SET - c2o1*vx1_SWB - c2o1*vx1_SWT)/c8o1; - cxx= (kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB - kxzFromfcNEQ_NWT + - kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB - kxzFromfcNEQ_SWT + - c2o1*vx1_NEB - c2o1*vx1_NET - c2o1*vx1_NWB + c2o1*vx1_NWT + - c2o1*vx1_SEB - c2o1*vx1_SET - c2o1*vx1_SWB + c2o1*vx1_SWT)/c8o1; - ay = (vx1_NEB + vx1_NET + vx1_NWB + vx1_NWT - vx1_SEB - vx1_SET - vx1_SWB - vx1_SWT)/c4o1; - by = (vx2_NEB + vx2_NET + vx2_NWB + vx2_NWT - vx2_SEB - vx2_SET - vx2_SWB - vx2_SWT)/c4o1; - cy = (vx3_NEB + vx3_NET + vx3_NWB + vx3_NWT - vx3_SEB - vx3_SET - vx3_SWB - vx3_SWT)/c4o1; - ayy= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET + kxyFromfcNEQ_NWB + kxyFromfcNEQ_NWT - - kxyFromfcNEQ_SEB - kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - - c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB + c2o1*vx2_NWT + - c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB - c2o1*vx2_SWT)/c8o1; - byy= (-c2o1*kxxMyyFromfcNEQ_NEB - c2o1*kxxMyyFromfcNEQ_NET - c2o1*kxxMyyFromfcNEQ_NWB - c2o1*kxxMyyFromfcNEQ_NWT + - c2o1*kxxMyyFromfcNEQ_SEB + c2o1*kxxMyyFromfcNEQ_SET + c2o1*kxxMyyFromfcNEQ_SWB + c2o1*kxxMyyFromfcNEQ_SWT + - kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - - kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + - c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT - - c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + - c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1; - cyy= (kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET + kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - - kyzFromfcNEQ_SEB - kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB - kyzFromfcNEQ_SWT + - c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB - c2o1*vx2_NWT - - c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB + c2o1*vx2_SWT)/c8o1; - az = (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT - vx1_SEB + vx1_SET - vx1_SWB + vx1_SWT)/c4o1; - bz = (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT - vx2_SEB + vx2_SET - vx2_SWB + vx2_SWT)/c4o1; - cz = (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT - vx3_SEB + vx3_SET - vx3_SWB + vx3_SWT)/c4o1; - azz= (-kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB + kxzFromfcNEQ_NWT - - kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB + kxzFromfcNEQ_SWT + - c2o1*vx3_NEB - c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + - c2o1*vx3_SEB - c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1; - bzz= (-kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET - kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - - kyzFromfcNEQ_SEB + kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB + kyzFromfcNEQ_SWT + - c2o1*vx3_NEB - c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - - c2o1*vx3_SEB + c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1; - czz= (-kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT + - c2o1*kxxMzzFromfcNEQ_NEB - c2o1*kxxMzzFromfcNEQ_NET + c2o1*kxxMzzFromfcNEQ_NWB - c2o1*kxxMzzFromfcNEQ_NWT + - c2o1*kxxMzzFromfcNEQ_SEB - c2o1*kxxMzzFromfcNEQ_SET + c2o1*kxxMzzFromfcNEQ_SWB - c2o1*kxxMzzFromfcNEQ_SWT - - c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - - c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT)/c16o1; - axy= (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT - vx1_SEB - vx1_SET + vx1_SWB + vx1_SWT)/c2o1; - bxy= (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT - vx2_SEB - vx2_SET + vx2_SWB + vx2_SWT)/c2o1; - cxy= (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT - vx3_SEB - vx3_SET + vx3_SWB + vx3_SWT)/c2o1; - axz= (-vx1_NEB + vx1_NET + vx1_NWB - vx1_NWT - vx1_SEB + vx1_SET + vx1_SWB - vx1_SWT)/c2o1; - bxz= (-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT - vx2_SEB + vx2_SET + vx2_SWB - vx2_SWT)/c2o1; - cxz= (-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT - vx3_SEB + vx3_SET + vx3_SWB - vx3_SWT)/c2o1; - ayz= (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT + vx1_SEB - vx1_SET + vx1_SWB - vx1_SWT)/c2o1; - byz= (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT + vx2_SEB - vx2_SET + vx2_SWB - vx2_SWT)/c2o1; - cyz= (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT + vx3_SEB - vx3_SET + vx3_SWB - vx3_SWT)/c2o1; - //axyz=-vx1_NEB + vx1_NET + vx1_NWB - vx1_NWT + vx1_SEB - vx1_SET - vx1_SWB + vx1_SWT; - //bxyz=-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT + vx2_SEB - vx2_SET - vx2_SWB + vx2_SWT; - //cxyz=-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT + vx3_SEB - vx3_SET - vx3_SWB + vx3_SWT; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - // Bernd das Brot - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - a0 = a0 + xoff * ax + yoff * ay + zoff * az + xoff_sq * axx + yoff_sq * ayy + zoff_sq * azz + xoff*yoff*axy + xoff*zoff*axz + yoff*zoff*ayz; - ax = ax + c2o1 * xoff * axx + yoff * axy + zoff * axz; - ay = ay + c2o1 * yoff * ayy + xoff * axy + zoff * ayz; - az = az + c2o1 * zoff * azz + xoff * axz + yoff * ayz; - b0 = b0 + xoff * bx + yoff * by + zoff * bz + xoff_sq * bxx + yoff_sq * byy + zoff_sq * bzz + xoff*yoff*bxy + xoff*zoff*bxz + yoff*zoff*byz; - bx = bx + c2o1 * xoff * bxx + yoff * bxy + zoff * bxz; - by = by + c2o1 * yoff * byy + xoff * bxy + zoff * byz; - bz = bz + c2o1 * zoff * bzz + xoff * bxz + yoff * byz; - c0 = c0 + xoff * cx + yoff * cy + zoff * cz + xoff_sq * cxx + yoff_sq * cyy + zoff_sq * czz + xoff*yoff*cxy + xoff*zoff*cxz + yoff*zoff*cyz; - cx = cx + c2o1 * xoff * cxx + yoff * cxy + zoff * cxz; - cy = cy + c2o1 * yoff * cyy + xoff * cxy + zoff * cyz; - cz = cz + c2o1 * zoff * czz + xoff * cxz + yoff * cyz; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // FIX /////////////////////////////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = c0o1; - real mfabb = c0o1; - real mfbcb = c0o1; - real mfbab = c0o1; - real mfbbc = c0o1; - real mfbba = c0o1; - real mfccb = c0o1; - real mfaab = c0o1; - real mfcab = c0o1; - real mfacb = c0o1; - real mfcbc = c0o1; - real mfaba = c0o1; - real mfcba = c0o1; - real mfabc = c0o1; - real mfbcc = c0o1; - real mfbaa = c0o1; - real mfbca = c0o1; - real mfbac = c0o1; - real mfbbb = c0o1; - real mfccc = c0o1; - real mfaac = c0o1; - real mfcac = c0o1; - real mfacc = c0o1; - real mfcca = c0o1; - real mfaaa = c0o1; - real mfcaa = c0o1; - real mfaca = c0o1; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real m0, m1, m2, vvx, vvy, vvz, vx2, vy2, vz2, oMdrho; - real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz; - real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein - real O3 = c2o1 - o; - real residu, residutmp; - residutmp = c0o1;///*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position C 0., 0., 0. - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //x = 0.; - //y = 0.; - //z = 0.; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - press = (press_NET + press_NWT + press_SET + press_SWT + press_NEB + press_NWB + press_SEB + press_SWB) * c1o8; - - if(xoff!=c0o1 || yoff!=c0o1 || zoff!=c0o1){ - real dx, dy, dz; - dx=c2o1*nu*(axx+ayy+azz); - dy=c2o1*nu*(bxx+byy+bzz); - dz=c2o1*nu*(cxx+cyy+czz); - press = press + xoff * dx + yoff * dy + zoff * dz; - } - //drho = drho_NET * (c1o8 - c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + - // drho_NWT * (c1o8 + c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + - // drho_SET * (c1o8 - c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + - // drho_SWT * (c1o8 + c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + - // drho_NEB * (c1o8 - c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + - // drho_NWB * (c1o8 + c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + - // drho_SEB * (c1o8 - c1o4 * xoff + c1o4 * yoff + c1o4 * zoff) + - // drho_SWB * (c1o8 + c1o4 * xoff + c1o4 * yoff + c1o4 * zoff); - vvx = a0; - vvy = b0; - vvz = c0; - - //mfaaa = drho; - mfaaa = press + (ax+by+cz)/c3o1; // 1/3 = 2/3*(1/op-1/2) - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1 - mfaaa; - - //two - // linear combinations - mxxPyyPzz = mfaaa; - mxxMyy = -c2o3*(ax - by)*eps_new/o; - mxxMzz = -c2o3*(ax - cz)*eps_new/o; - - mfabb = -c1o3 * (bz + cy)*eps_new/o; - mfbab = -c1o3 * (az + cx)*eps_new/o; - mfbba = -c1o3 * (ay + bx)*eps_new/o; - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz); - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz); - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz); - - //3. - // linear combinations - residu = residutmp * (ayz + bxz + cxy ); - mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (axy + c2o1*bxx + c2o1*bzz + cyz ); - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz )); - mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (axy + c2o1*bxx - c2o1*bzz - cyz ); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz ); - mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (axz + byz + c2o1*cxx + c2o1*cyy ); - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy )); - mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (axz - byz + c2o1*cxx - c2o1*cyy ); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy ); - mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (c2o1*ayy + c2o1*azz + bxy + cxz ); - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz ); - mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (c2o1*ayy - c2o1*azz + bxy - cxz ); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz ); - mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4. - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - //index 0 - kzero= posC[k]; - kw = neighborCX[kzero]; - ks = neighborCY[kzero]; - kb = neighborCZ[kzero]; - ksw = neighborCY[kw]; - kbw = neighborCZ[kw]; - kbs = neighborCZ[ks]; - kbsw = neighborCZ[ksw]; - //////////////////////////////////////////////////////////////////////////////////// - - - //////////////////////////////////////////////////////////////////////////////////// - feC[kzero] = mfcbb; - fwC[kw] = mfabb; - fnC[kzero] = mfbcb; - fsC[ks] = mfbab; - ftC[kzero] = mfbbc; - fbC[kb] = mfbba; - fneC[kzero] = mfccb; - fswC[ksw] = mfaab; - fseC[ks] = mfcab; - fnwC[kw] = mfacb; - fteC[kzero] = mfcbc; - fbwC[kbw] = mfaba; - fbeC[kb] = mfcba; - ftwC[kw] = mfabc; - ftnC[kzero] = mfbcc; - fbsC[kbs] = mfbaa; - fbnC[kb] = mfbca; - ftsC[ks] = mfbac; - fzeroC[kzero] = mfbbb; - ftneC[kzero] = mfccc; - ftseC[ks] = mfcac; - fbneC[kb] = mfcca; - fbseC[kbs] = mfcaa; - ftnwC[kw] = mfacc; - ftswC[ksw] = mfaac; - fbnwC[kbw] = mfaca; - fbswC[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - } -} -////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -////////////////////////////////////////////////////////////////////////// -__global__ void scaleFC_Fix_27( real* DC, - real* DF, - unsigned int* neighborCX, - unsigned int* neighborCY, - unsigned int* neighborCZ, - unsigned int* neighborFX, - unsigned int* neighborFY, - unsigned int* neighborFZ, - unsigned long long numberOfLBnodesCoarse, - unsigned long long numberOfLBnodesFine, - bool isEvenTimestep, - unsigned int* posC, - unsigned int* posFSWB, - unsigned int kFC, - real omCoarse, - real omFine, - real nu, - unsigned int nxC, - unsigned int nyC, - unsigned int nxF, - unsigned int nyF, - ICellNeigh offFC) -{ - real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, - *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - - feF = &DF[dP00 * numberOfLBnodesFine]; - fwF = &DF[dM00 * numberOfLBnodesFine]; - fnF = &DF[d0P0 * numberOfLBnodesFine]; - fsF = &DF[d0M0 * numberOfLBnodesFine]; - ftF = &DF[d00P * numberOfLBnodesFine]; - fbF = &DF[d00M * numberOfLBnodesFine]; - fneF = &DF[dPP0 * numberOfLBnodesFine]; - fswF = &DF[dMM0 * numberOfLBnodesFine]; - fseF = &DF[dPM0 * numberOfLBnodesFine]; - fnwF = &DF[dMP0 * numberOfLBnodesFine]; - fteF = &DF[dP0P * numberOfLBnodesFine]; - fbwF = &DF[dM0M * numberOfLBnodesFine]; - fbeF = &DF[dP0M * numberOfLBnodesFine]; - ftwF = &DF[dM0P * numberOfLBnodesFine]; - ftnF = &DF[d0PP * numberOfLBnodesFine]; - fbsF = &DF[d0MM * numberOfLBnodesFine]; - fbnF = &DF[d0PM * numberOfLBnodesFine]; - ftsF = &DF[d0MP * numberOfLBnodesFine]; - fzeroF = &DF[d000 * numberOfLBnodesFine]; - ftneF = &DF[dPPP * numberOfLBnodesFine]; - ftswF = &DF[dMMP * numberOfLBnodesFine]; - ftseF = &DF[dPMP * numberOfLBnodesFine]; - ftnwF = &DF[dMPP * numberOfLBnodesFine]; - fbneF = &DF[dPPM * numberOfLBnodesFine]; - fbswF = &DF[dMMM * numberOfLBnodesFine]; - fbseF = &DF[dPMM * numberOfLBnodesFine]; - fbnwF = &DF[dMPM * numberOfLBnodesFine]; - - real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, *fzeroC, - *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; - - if (isEvenTimestep==true) - { - feC = &DC[dP00 * numberOfLBnodesCoarse]; - fwC = &DC[dM00 * numberOfLBnodesCoarse]; - fnC = &DC[d0P0 * numberOfLBnodesCoarse]; - fsC = &DC[d0M0 * numberOfLBnodesCoarse]; - ftC = &DC[d00P * numberOfLBnodesCoarse]; - fbC = &DC[d00M * numberOfLBnodesCoarse]; - fneC = &DC[dPP0 * numberOfLBnodesCoarse]; - fswC = &DC[dMM0 * numberOfLBnodesCoarse]; - fseC = &DC[dPM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dMP0 * numberOfLBnodesCoarse]; - fteC = &DC[dP0P * numberOfLBnodesCoarse]; - fbwC = &DC[dM0M * numberOfLBnodesCoarse]; - fbeC = &DC[dP0M * numberOfLBnodesCoarse]; - ftwC = &DC[dM0P * numberOfLBnodesCoarse]; - ftnC = &DC[d0PP * numberOfLBnodesCoarse]; - fbsC = &DC[d0MM * numberOfLBnodesCoarse]; - fbnC = &DC[d0PM * numberOfLBnodesCoarse]; - ftsC = &DC[d0MP * numberOfLBnodesCoarse]; - fzeroC = &DC[d000 * numberOfLBnodesCoarse]; - ftneC = &DC[dPPP * numberOfLBnodesCoarse]; - ftswC = &DC[dMMP * numberOfLBnodesCoarse]; - ftseC = &DC[dPMP * numberOfLBnodesCoarse]; - ftnwC = &DC[dMPP * numberOfLBnodesCoarse]; - fbneC = &DC[dPPM * numberOfLBnodesCoarse]; - fbswC = &DC[dMMM * numberOfLBnodesCoarse]; - fbseC = &DC[dPMM * numberOfLBnodesCoarse]; - fbnwC = &DC[dMPM * numberOfLBnodesCoarse]; - } - else - { - fwC = &DC[dP00 * numberOfLBnodesCoarse]; - feC = &DC[dM00 * numberOfLBnodesCoarse]; - fsC = &DC[d0P0 * numberOfLBnodesCoarse]; - fnC = &DC[d0M0 * numberOfLBnodesCoarse]; - fbC = &DC[d00P * numberOfLBnodesCoarse]; - ftC = &DC[d00M * numberOfLBnodesCoarse]; - fswC = &DC[dPP0 * numberOfLBnodesCoarse]; - fneC = &DC[dMM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dPM0 * numberOfLBnodesCoarse]; - fseC = &DC[dMP0 * numberOfLBnodesCoarse]; - fbwC = &DC[dP0P * numberOfLBnodesCoarse]; - fteC = &DC[dM0M * numberOfLBnodesCoarse]; - ftwC = &DC[dP0M * numberOfLBnodesCoarse]; - fbeC = &DC[dM0P * numberOfLBnodesCoarse]; - fbsC = &DC[d0PP * numberOfLBnodesCoarse]; - ftnC = &DC[d0MM * numberOfLBnodesCoarse]; - ftsC = &DC[d0PM * numberOfLBnodesCoarse]; - fbnC = &DC[d0MP * numberOfLBnodesCoarse]; - fzeroC = &DC[d000 * numberOfLBnodesCoarse]; - fbswC = &DC[dPPP * numberOfLBnodesCoarse]; - fbneC = &DC[dMMP * numberOfLBnodesCoarse]; - fbnwC = &DC[dPMP * numberOfLBnodesCoarse]; - fbseC = &DC[dMPP * numberOfLBnodesCoarse]; - ftswC = &DC[dPPM * numberOfLBnodesCoarse]; - ftneC = &DC[dMMM * numberOfLBnodesCoarse]; - ftnwC = &DC[dPMM * numberOfLBnodesCoarse]; - ftseC = &DC[dMPM * numberOfLBnodesCoarse]; - } - //////////////////////////////////////////////////////////////////////////////// - const unsigned ix = threadIdx.x; // Globaler x-Index - const unsigned iy = blockIdx.x; // Globaler y-Index - const unsigned iz = blockIdx.y; // Globaler z-Index - - const unsigned nx = blockDim.x; - const unsigned ny = gridDim.x; - - const unsigned k = nx*(ny*iz + iy) + ix; - ////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////// - real eps_new = c2o1; - real omegaS = omFine;//-omFine; - real o = omCoarse;//-omCoarse; - //real op = one; - //real cu_sq; - - real xoff, yoff, zoff; - real xoff_sq, yoff_sq, zoff_sq; - - real press;//,drho,vx1,vx2,vx3; - real /*press_SWT,*/drho_SWT,vx1_SWT,vx2_SWT,vx3_SWT; - real /*press_NWT,*/drho_NWT,vx1_NWT,vx2_NWT,vx3_NWT; - real /*press_NET,*/drho_NET,vx1_NET,vx2_NET,vx3_NET; - real /*press_SET,*/drho_SET,vx1_SET,vx2_SET,vx3_SET; - real /*press_SWB,*/drho_SWB,vx1_SWB,vx2_SWB,vx3_SWB; - real /*press_NWB,*/drho_NWB,vx1_NWB,vx2_NWB,vx3_NWB; - real /*press_NEB,*/drho_NEB,vx1_NEB,vx2_NEB,vx3_NEB; - real /*press_SEB,*/drho_SEB,vx1_SEB,vx2_SEB,vx3_SEB; - real f_E,f_W,f_N,f_S,f_T,f_B,f_NE,f_SW,f_SE,f_NW,f_TE,f_BW,f_BE,f_TW,f_TN,f_BS,f_BN,f_TS,f_ZERO,f_TNE, f_TSW, f_TSE, f_TNW, f_BNE, f_BSW, f_BSE, f_BNW; - //real feq_E,feq_W,feq_N,feq_S,feq_T,feq_B,feq_NE,feq_SW,feq_SE,feq_NW,feq_TE,feq_BW,feq_BE,feq_TW,feq_TN,feq_BS,feq_BN,feq_TS,feq_ZERO,feq_TNE, feq_TSW, feq_TSE, feq_TNW, feq_BNE, feq_BSW, feq_BSE, feq_BNW; - real kxyFromfcNEQ_SWT, kyzFromfcNEQ_SWT, kxzFromfcNEQ_SWT, kxxMyyFromfcNEQ_SWT, kxxMzzFromfcNEQ_SWT; - real kxyFromfcNEQ_NWT, kyzFromfcNEQ_NWT, kxzFromfcNEQ_NWT, kxxMyyFromfcNEQ_NWT, kxxMzzFromfcNEQ_NWT; - real kxyFromfcNEQ_NET, kyzFromfcNEQ_NET, kxzFromfcNEQ_NET, kxxMyyFromfcNEQ_NET, kxxMzzFromfcNEQ_NET; - real kxyFromfcNEQ_SET, kyzFromfcNEQ_SET, kxzFromfcNEQ_SET, kxxMyyFromfcNEQ_SET, kxxMzzFromfcNEQ_SET; - real kxyFromfcNEQ_SWB, kyzFromfcNEQ_SWB, kxzFromfcNEQ_SWB, kxxMyyFromfcNEQ_SWB, kxxMzzFromfcNEQ_SWB; - real kxyFromfcNEQ_NWB, kyzFromfcNEQ_NWB, kxzFromfcNEQ_NWB, kxxMyyFromfcNEQ_NWB, kxxMzzFromfcNEQ_NWB; - real kxyFromfcNEQ_NEB, kyzFromfcNEQ_NEB, kxzFromfcNEQ_NEB, kxxMyyFromfcNEQ_NEB, kxxMzzFromfcNEQ_NEB; - real kxyFromfcNEQ_SEB, kyzFromfcNEQ_SEB, kxzFromfcNEQ_SEB, kxxMyyFromfcNEQ_SEB, kxxMzzFromfcNEQ_SEB; - real a0, ax, ay, az, axx, ayy, azz, axy, axz, ayz, b0, bx, by, bz, bxx, byy, bzz, bxy, bxz, byz, c0, cx, cy, cz, cxx, cyy, czz, cxy, cxz, cyz/*, axyz, bxyz, cxyz*/; - real d0, dx, dy, dz, dxy, dxz, dyz/*, dxyz*/; - - if(k<kFC) - { - ////////////////////////////////////////////////////////////////////////// - xoff = offFC.x[k]; - yoff = offFC.y[k]; - zoff = offFC.z[k]; - xoff_sq = xoff * xoff; - yoff_sq = yoff * yoff; - zoff_sq = zoff * zoff; - ////////////////////////////////////////////////////////////////////////// - //SWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - unsigned int k0zero= posFSWB[k]; - unsigned int k0w = neighborFX[k0zero]; - unsigned int k0s = neighborFY[k0zero]; - unsigned int k0b = neighborFZ[k0zero]; - unsigned int k0sw = neighborFY[k0w]; - unsigned int k0bw = neighborFZ[k0w]; - unsigned int k0bs = neighborFZ[k0s]; - unsigned int k0bsw = neighborFZ[k0sw]; - ////////////////////////////////////////////////////////////////////////// - //index - unsigned int kzero= k0zero; - unsigned int kw = k0w; - unsigned int ks = k0s; - unsigned int kb = k0b; - unsigned int ksw = k0sw; - unsigned int kbw = k0bw; - unsigned int kbs = k0bs; - unsigned int kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - //vx1_SWB = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_SWB = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_SWB = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_SWB = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_SWB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_SWB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_SWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - //press_SWB = (f_E+f_W+f_N+f_S+f_T+f_B+two*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+three*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)- - // drho_SWB-(vx1_SWB*vx1_SWB+vx2_SWB*vx2_SWB+vx3_SWB*vx3_SWB)* (one+drho_SWB)) * c1o2+drho_SWB; - - kxyFromfcNEQ_SWB = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SWB*vx2_SWB)); - kyzFromfcNEQ_SWB = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_SWB*vx3_SWB)); - kxzFromfcNEQ_SWB = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_SWB*vx3_SWB)); - kxxMyyFromfcNEQ_SWB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_SWB*vx1_SWB-vx2_SWB*vx2_SWB)); - kxxMzzFromfcNEQ_SWB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_SWB*vx1_SWB-vx3_SWB*vx3_SWB)); - - ////////////////////////////////////////////////////////////////////////// - //SWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - //vx1_SWT = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_SWT = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_SWT = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_SWT = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_SWT = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_SWT = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_SWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - //press_SWT= (f_E+f_W+f_N+f_S+f_T+f_B+two*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+three*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)- - // drho_SWT-(vx1_SWT*vx1_SWT+vx2_SWT*vx2_SWT+vx3_SWT*vx3_SWT)* (one+drho_SWT)) * c1o2+drho_SWT; - - kxyFromfcNEQ_SWT = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SWT*vx2_SWT)); - kyzFromfcNEQ_SWT = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_SWT*vx3_SWT)); - kxzFromfcNEQ_SWT = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_SWT*vx3_SWT)); - kxxMyyFromfcNEQ_SWT = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_SWT*vx1_SWT-vx2_SWT*vx2_SWT)); - kxxMzzFromfcNEQ_SWT = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_SWT*vx1_SWT-vx3_SWT*vx3_SWT)); - - ////////////////////////////////////////////////////////////////////////// - //SET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - //vx1_SET = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_SET = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_SET = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_SET = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_SET = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_SET = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_SET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - //press_SET= (f_E+f_W+f_N+f_S+f_T+f_B+two*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+three*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)- - // drho_SET-(vx1_SET*vx1_SET+vx2_SET*vx2_SET+vx3_SET*vx3_SET)* (one+drho_SET)) * c1o2+drho_SET; - - kxyFromfcNEQ_SET = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SET*vx2_SET)); - kyzFromfcNEQ_SET = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_SET*vx3_SET)); - kxzFromfcNEQ_SET = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_SET*vx3_SET)); - kxxMyyFromfcNEQ_SET = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_SET*vx1_SET-vx2_SET*vx2_SET)); - kxxMzzFromfcNEQ_SET = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_SET*vx1_SET-vx3_SET*vx3_SET)); - - ////////////////////////////////////////////////////////////////////////// - //SEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - //vx1_SEB = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_SEB = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_SEB = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_SEB = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_SEB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_SEB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_SEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - //press_SEB= (f_E+f_W+f_N+f_S+f_T+f_B+two*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+three*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)- - // drho_SEB-(vx1_SEB*vx1_SEB+vx2_SEB*vx2_SEB+vx3_SEB*vx3_SEB)* (one+drho_SEB)) * c1o2+drho_SEB; - - kxyFromfcNEQ_SEB = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SEB*vx2_SEB)); - kyzFromfcNEQ_SEB = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_SEB*vx3_SEB)); - kxzFromfcNEQ_SEB = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_SEB*vx3_SEB)); - kxxMyyFromfcNEQ_SEB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_SEB*vx1_SEB-vx2_SEB*vx2_SEB)); - kxxMzzFromfcNEQ_SEB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_SEB*vx1_SEB-vx3_SEB*vx3_SEB)); - - ////////////////////////////////////////////////////////////////////////// - //NWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= k0s; - k0w = k0sw; - k0s = neighborFY[k0s]; - k0b = k0bs; - k0sw = neighborFY[k0sw]; - k0bw = k0bsw; - k0bs = neighborFY[k0bs]; - k0bsw = neighborFY[k0bsw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - //vx1_NWB = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_NWB = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_NWB = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_NWB = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_NWB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_NWB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_NWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - //press_NWB= (f_E+f_W+f_N+f_S+f_T+f_B+two*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+three*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)- - // drho_NWB-(vx1_NWB*vx1_NWB+vx2_NWB*vx2_NWB+vx3_NWB*vx3_NWB)* (one+drho_NWB)) * c1o2+drho_NWB; - - kxyFromfcNEQ_NWB = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NWB*vx2_NWB)); - kyzFromfcNEQ_NWB = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_NWB*vx3_NWB)); - kxzFromfcNEQ_NWB = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_NWB*vx3_NWB)); - kxxMyyFromfcNEQ_NWB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_NWB*vx1_NWB-vx2_NWB*vx2_NWB)); - kxxMzzFromfcNEQ_NWB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_NWB*vx1_NWB-vx3_NWB*vx3_NWB)); - - ////////////////////////////////////////////////////////////////////////// - //NWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - //vx1_NWT = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_NWT = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_NWT = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_NWT = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_NWT = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_NWT = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_NWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - //press_NWT= (f_E+f_W+f_N+f_S+f_T+f_B+two*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+three*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)- - // drho_NWT-(vx1_NWT*vx1_NWT+vx2_NWT*vx2_NWT+vx3_NWT*vx3_NWT)* (one+drho_NWT)) * c1o2+drho_NWT; - - kxyFromfcNEQ_NWT = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NWT*vx2_NWT)); - kyzFromfcNEQ_NWT = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_NWT*vx3_NWT)); - kxzFromfcNEQ_NWT = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_NWT*vx3_NWT)); - kxxMyyFromfcNEQ_NWT = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_NWT*vx1_NWT-vx2_NWT*vx2_NWT)); - kxxMzzFromfcNEQ_NWT = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_NWT*vx1_NWT-vx3_NWT*vx3_NWT)); - - ////////////////////////////////////////////////////////////////////////// - //NET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - //vx1_NET = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_NET = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_NET = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_NET = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_NET = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_NET = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_NET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - //press_NET= (f_E+f_W+f_N+f_S+f_T+f_B+two*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+three*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)- - // drho_NET-(vx1_NET*vx1_NET+vx2_NET*vx2_NET+vx3_NET*vx3_NET)* (one+drho_NET)) * c1o2+drho_NET; - - kxyFromfcNEQ_NET = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NET*vx2_NET)); - kyzFromfcNEQ_NET = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_NET*vx3_NET)); - kxzFromfcNEQ_NET = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_NET*vx3_NET)); - kxxMyyFromfcNEQ_NET = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_NET*vx1_NET-vx2_NET*vx2_NET)); - kxxMzzFromfcNEQ_NET = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_NET*vx1_NET-vx3_NET*vx3_NET)); - - ////////////////////////////////////////////////////////////////////////// - //NEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - //vx1_NEB = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_NEB = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_NEB = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_NEB = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_NEB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_NEB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_NEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - //press_NEB= (f_E+f_W+f_N+f_S+f_T+f_B+two*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+three*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)- - // drho_NEB-(vx1_NEB*vx1_NEB+vx2_NEB*vx2_NEB+vx3_NEB*vx3_NEB)* (one+drho_NEB)) * c1o2+drho_NEB; - - kxyFromfcNEQ_NEB = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NEB*vx2_NEB)); - kyzFromfcNEQ_NEB = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_NEB*vx3_NEB)); - kxzFromfcNEQ_NEB = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_NEB*vx3_NEB)); - kxxMyyFromfcNEQ_NEB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_NEB*vx1_NEB-vx2_NEB*vx2_NEB)); - kxxMzzFromfcNEQ_NEB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_NEB*vx1_NEB-vx3_NEB*vx3_NEB)); - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //kxyFromfcNEQ_SWB = zero; - //kyzFromfcNEQ_SWB = zero; - //kxzFromfcNEQ_SWB = zero; - //kxxMyyFromfcNEQ_SWB = zero; - //kxxMzzFromfcNEQ_SWB = zero; - //kxyFromfcNEQ_SWT = zero; - //kyzFromfcNEQ_SWT = zero; - //kxzFromfcNEQ_SWT = zero; - //kxxMyyFromfcNEQ_SWT = zero; - //kxxMzzFromfcNEQ_SWT = zero; - //kxyFromfcNEQ_SET = zero; - //kyzFromfcNEQ_SET = zero; - //kxzFromfcNEQ_SET = zero; - //kxxMyyFromfcNEQ_SET = zero; - //kxxMzzFromfcNEQ_SET = zero; - //kxyFromfcNEQ_SEB = zero; - //kyzFromfcNEQ_SEB = zero; - //kxzFromfcNEQ_SEB = zero; - //kxxMyyFromfcNEQ_SEB = zero; - //kxxMzzFromfcNEQ_SEB = zero; - //kxyFromfcNEQ_NWB = zero; - //kyzFromfcNEQ_NWB = zero; - //kxzFromfcNEQ_NWB = zero; - //kxxMyyFromfcNEQ_NWB = zero; - //kxxMzzFromfcNEQ_NWB = zero; - //kxyFromfcNEQ_NWT = zero; - //kyzFromfcNEQ_NWT = zero; - //kxzFromfcNEQ_NWT = zero; - //kxxMyyFromfcNEQ_NWT = zero; - //kxxMzzFromfcNEQ_NWT = zero; - //kxyFromfcNEQ_NET = zero; - //kyzFromfcNEQ_NET = zero; - //kxzFromfcNEQ_NET = zero; - //kxxMyyFromfcNEQ_NET = zero; - //kxxMzzFromfcNEQ_NET = zero; - //kxyFromfcNEQ_NEB = zero; - //kyzFromfcNEQ_NEB = zero; - //kxzFromfcNEQ_NEB = zero; - //kxxMyyFromfcNEQ_NEB = zero; - //kxxMzzFromfcNEQ_NEB = zero; - ////////////////////////////////////////////////////////////////////////// - //3 - ////////////////////////////////////////////////////////////////////////// - a0 = (-kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT - - kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - - kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - - c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET - c2o1*kxyFromfcNEQ_NWB - c2o1*kxyFromfcNEQ_NWT + - c2o1*kxyFromfcNEQ_SEB + c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + - c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB - c2o1*kxzFromfcNEQ_NWT + - c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB - c2o1*kxzFromfcNEQ_SWT + - c8o1*vx1_NEB + c8o1*vx1_NET + c8o1*vx1_NWB + c8o1*vx1_NWT + c8o1*vx1_SEB + - c8o1*vx1_SET + c8o1*vx1_SWB + c8o1*vx1_SWT + c2o1*vx2_NEB + c2o1*vx2_NET - - c2o1*vx2_NWB - c2o1*vx2_NWT - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + - c2o1*vx2_SWT - c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - - c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1; - b0 = (c2o1*kxxMyyFromfcNEQ_NEB + c2o1*kxxMyyFromfcNEQ_NET + c2o1*kxxMyyFromfcNEQ_NWB + c2o1*kxxMyyFromfcNEQ_NWT - - c2o1*kxxMyyFromfcNEQ_SEB - c2o1*kxxMyyFromfcNEQ_SET - c2o1*kxxMyyFromfcNEQ_SWB - c2o1*kxxMyyFromfcNEQ_SWT - - kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - - c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET + c2o1*kxyFromfcNEQ_NWB + c2o1*kxyFromfcNEQ_NWT - - c2o1*kxyFromfcNEQ_SEB - c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + - c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET + c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + - c2o1*kyzFromfcNEQ_SEB - c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB - c2o1*kyzFromfcNEQ_SWT + - c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT + - c8o1*vx2_NEB + c8o1*vx2_NET + c8o1*vx2_NWB + c8o1*vx2_NWT + - c8o1*vx2_SEB + c8o1*vx2_SET + c8o1*vx2_SWB + c8o1*vx2_SWT - - c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + - c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1; - c0 = (kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT - - c2o1*kxxMzzFromfcNEQ_NEB + c2o1*kxxMzzFromfcNEQ_NET - c2o1*kxxMzzFromfcNEQ_NWB + c2o1*kxxMzzFromfcNEQ_NWT - - c2o1*kxxMzzFromfcNEQ_SEB + c2o1*kxxMzzFromfcNEQ_SET - c2o1*kxxMzzFromfcNEQ_SWB + c2o1*kxxMzzFromfcNEQ_SWT - - c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB + c2o1*kxzFromfcNEQ_NWT - - c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB + c2o1*kxzFromfcNEQ_SWT - - c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET - c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + - c2o1*kyzFromfcNEQ_SEB + c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB + c2o1*kyzFromfcNEQ_SWT - - c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - - c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT + - c8o1*vx3_NEB + c8o1*vx3_NET + c8o1*vx3_NWB + c8o1*vx3_NWT + - c8o1*vx3_SEB + c8o1*vx3_SET + c8o1*vx3_SWB + c8o1*vx3_SWT)/c64o1; - ax = (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT + vx1_SEB + vx1_SET - vx1_SWB - vx1_SWT)/c4o1; - bx = (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT + vx2_SEB + vx2_SET - vx2_SWB - vx2_SWT)/c4o1; - cx = (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT + vx3_SEB + vx3_SET - vx3_SWB - vx3_SWT)/c4o1; - axx= (kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT + - kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + - c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB - c2o1*vx2_NWT - - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + c2o1*vx2_SWT - - c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - - c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1; - bxx= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET - kxyFromfcNEQ_NWB - kxyFromfcNEQ_NWT + - kxyFromfcNEQ_SEB + kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - - c2o1*vx1_NEB - c2o1*vx1_NET + c2o1*vx1_NWB + c2o1*vx1_NWT + - c2o1*vx1_SEB + c2o1*vx1_SET - c2o1*vx1_SWB - c2o1*vx1_SWT)/c8o1; - cxx= (kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB - kxzFromfcNEQ_NWT + - kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB - kxzFromfcNEQ_SWT + - c2o1*vx1_NEB - c2o1*vx1_NET - c2o1*vx1_NWB + c2o1*vx1_NWT + - c2o1*vx1_SEB - c2o1*vx1_SET - c2o1*vx1_SWB + c2o1*vx1_SWT)/c8o1; - ay = (vx1_NEB + vx1_NET + vx1_NWB + vx1_NWT - vx1_SEB - vx1_SET - vx1_SWB - vx1_SWT)/c4o1; - by = (vx2_NEB + vx2_NET + vx2_NWB + vx2_NWT - vx2_SEB - vx2_SET - vx2_SWB - vx2_SWT)/c4o1; - cy = (vx3_NEB + vx3_NET + vx3_NWB + vx3_NWT - vx3_SEB - vx3_SET - vx3_SWB - vx3_SWT)/c4o1; - ayy= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET + kxyFromfcNEQ_NWB + kxyFromfcNEQ_NWT - - kxyFromfcNEQ_SEB - kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - - c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB + c2o1*vx2_NWT + - c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB - c2o1*vx2_SWT)/c8o1; - byy= (-c2o1*kxxMyyFromfcNEQ_NEB - c2o1*kxxMyyFromfcNEQ_NET - c2o1*kxxMyyFromfcNEQ_NWB - c2o1*kxxMyyFromfcNEQ_NWT + - c2o1*kxxMyyFromfcNEQ_SEB + c2o1*kxxMyyFromfcNEQ_SET + c2o1*kxxMyyFromfcNEQ_SWB + c2o1*kxxMyyFromfcNEQ_SWT + - kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - - kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + - c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT - - c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + - c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1; - cyy= (kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET + kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - - kyzFromfcNEQ_SEB - kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB - kyzFromfcNEQ_SWT + - c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB - c2o1*vx2_NWT - - c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB + c2o1*vx2_SWT)/c8o1; - az = (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT - vx1_SEB + vx1_SET - vx1_SWB + vx1_SWT)/c4o1; - bz = (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT - vx2_SEB + vx2_SET - vx2_SWB + vx2_SWT)/c4o1; - cz = (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT - vx3_SEB + vx3_SET - vx3_SWB + vx3_SWT)/c4o1; - azz= (-kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB + kxzFromfcNEQ_NWT - - kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB + kxzFromfcNEQ_SWT + - c2o1*vx3_NEB - c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + - c2o1*vx3_SEB - c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1; - bzz= (-kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET - kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - - kyzFromfcNEQ_SEB + kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB + kyzFromfcNEQ_SWT + - c2o1*vx3_NEB - c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - - c2o1*vx3_SEB + c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1; - czz= (-kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT + - c2o1*kxxMzzFromfcNEQ_NEB - c2o1*kxxMzzFromfcNEQ_NET + c2o1*kxxMzzFromfcNEQ_NWB - c2o1*kxxMzzFromfcNEQ_NWT + - c2o1*kxxMzzFromfcNEQ_SEB - c2o1*kxxMzzFromfcNEQ_SET + c2o1*kxxMzzFromfcNEQ_SWB - c2o1*kxxMzzFromfcNEQ_SWT - - c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - - c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT)/c16o1; - axy= (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT - vx1_SEB - vx1_SET + vx1_SWB + vx1_SWT)/c2o1; - bxy= (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT - vx2_SEB - vx2_SET + vx2_SWB + vx2_SWT)/c2o1; - cxy= (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT - vx3_SEB - vx3_SET + vx3_SWB + vx3_SWT)/c2o1; - axz= (-vx1_NEB + vx1_NET + vx1_NWB - vx1_NWT - vx1_SEB + vx1_SET + vx1_SWB - vx1_SWT)/c2o1; - bxz= (-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT - vx2_SEB + vx2_SET + vx2_SWB - vx2_SWT)/c2o1; - cxz= (-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT - vx3_SEB + vx3_SET + vx3_SWB - vx3_SWT)/c2o1; - ayz= (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT + vx1_SEB - vx1_SET + vx1_SWB - vx1_SWT)/c2o1; - byz= (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT + vx2_SEB - vx2_SET + vx2_SWB - vx2_SWT)/c2o1; - cyz= (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT + vx3_SEB - vx3_SET + vx3_SWB - vx3_SWT)/c2o1; - //axyz=-vx1_NEB + vx1_NET + vx1_NWB - vx1_NWT + vx1_SEB - vx1_SET - vx1_SWB + vx1_SWT; - //bxyz=-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT + vx2_SEB - vx2_SET - vx2_SWB + vx2_SWT; - //cxyz=-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT + vx3_SEB - vx3_SET - vx3_SWB + vx3_SWT; - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real kxyAverage =(kxyFromfcNEQ_SWB+ - kxyFromfcNEQ_SWT+ - kxyFromfcNEQ_SET+ - kxyFromfcNEQ_SEB+ - kxyFromfcNEQ_NWB+ - kxyFromfcNEQ_NWT+ - kxyFromfcNEQ_NET+ - kxyFromfcNEQ_NEB)*c1o8-(ay+bx); - real kyzAverage =(kyzFromfcNEQ_SWB+ - kyzFromfcNEQ_SWT+ - kyzFromfcNEQ_SET+ - kyzFromfcNEQ_SEB+ - kyzFromfcNEQ_NWB+ - kyzFromfcNEQ_NWT+ - kyzFromfcNEQ_NET+ - kyzFromfcNEQ_NEB)*c1o8-(bz+cy); - real kxzAverage =(kxzFromfcNEQ_SWB+ - kxzFromfcNEQ_SWT+ - kxzFromfcNEQ_SET+ - kxzFromfcNEQ_SEB+ - kxzFromfcNEQ_NWB+ - kxzFromfcNEQ_NWT+ - kxzFromfcNEQ_NET+ - kxzFromfcNEQ_NEB)*c1o8-(az+cx); - real kxxMyyAverage =(kxxMyyFromfcNEQ_SWB+ - kxxMyyFromfcNEQ_SWT+ - kxxMyyFromfcNEQ_SET+ - kxxMyyFromfcNEQ_SEB+ - kxxMyyFromfcNEQ_NWB+ - kxxMyyFromfcNEQ_NWT+ - kxxMyyFromfcNEQ_NET+ - kxxMyyFromfcNEQ_NEB)*c1o8-(ax-by); - real kxxMzzAverage =(kxxMzzFromfcNEQ_SWB+ - kxxMzzFromfcNEQ_SWT+ - kxxMzzFromfcNEQ_SET+ - kxxMzzFromfcNEQ_SEB+ - kxxMzzFromfcNEQ_NWB+ - kxxMzzFromfcNEQ_NWT+ - kxxMzzFromfcNEQ_NET+ - kxxMzzFromfcNEQ_NEB)*c1o8-(ax-cz); - - - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - ////Press - //d0 = ( press_NEB + press_NET + press_NWB + press_NWT + press_SEB + press_SET + press_SWB + press_SWT) * c1o8; - //dx = ( press_NEB + press_NET - press_NWB - press_NWT + press_SEB + press_SET - press_SWB - press_SWT) * c1o4; - //dy = ( press_NEB + press_NET + press_NWB + press_NWT - press_SEB - press_SET - press_SWB - press_SWT) * c1o4; - //dz = (-press_NEB + press_NET - press_NWB + press_NWT - press_SEB + press_SET - press_SWB + press_SWT) * c1o4; - //dxy = ( press_NEB + press_NET - press_NWB - press_NWT - press_SEB - press_SET + press_SWB + press_SWT) * c1o2; - //dxz = (-press_NEB + press_NET + press_NWB - press_NWT - press_SEB + press_SET + press_SWB - press_SWT) * c1o2; - //dyz = (-press_NEB + press_NET - press_NWB + press_NWT + press_SEB - press_SET + press_SWB - press_SWT) * c1o2; - //dxyz = -press_NEB + press_NET + press_NWB - press_NWT + press_SEB - press_SET - press_SWB + press_SWT; - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho - d0 = ( drho_NEB + drho_NET + drho_NWB + drho_NWT + drho_SEB + drho_SET + drho_SWB + drho_SWT) * c1o8; - dx = ( drho_NEB + drho_NET - drho_NWB - drho_NWT + drho_SEB + drho_SET - drho_SWB - drho_SWT) * c1o4; - dy = ( drho_NEB + drho_NET + drho_NWB + drho_NWT - drho_SEB - drho_SET - drho_SWB - drho_SWT) * c1o4; - dz = (-drho_NEB + drho_NET - drho_NWB + drho_NWT - drho_SEB + drho_SET - drho_SWB + drho_SWT) * c1o4; - dxy = ( drho_NEB + drho_NET - drho_NWB - drho_NWT - drho_SEB - drho_SET + drho_SWB + drho_SWT) * c1o2; - dxz = (-drho_NEB + drho_NET + drho_NWB - drho_NWT - drho_SEB + drho_SET + drho_SWB - drho_SWT) * c1o2; - dyz = (-drho_NEB + drho_NET - drho_NWB + drho_NWT + drho_SEB - drho_SET + drho_SWB - drho_SWT) * c1o2; - //dxyz = -drho_NEB + drho_NET + drho_NWB - drho_NWT + drho_SEB - drho_SET - drho_SWB + drho_SWT; - //d0 = zero; - //dx = zero; - //dy = zero; - //dz = zero; - //dxy = zero; - //dxz = zero; - //dyz = zero; - //dxyz = zero; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - // Bernd das Brot - // - // - // x------x - // | | - // | ---+--->X - // | | \ - // x------x \ - // off-vector - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - a0 = a0 + xoff * ax + yoff * ay + zoff * az + xoff_sq * axx + yoff_sq * ayy + zoff_sq * azz + xoff*yoff*axy + xoff*zoff*axz + yoff*zoff*ayz; - ax = ax + c2o1 * xoff * axx + yoff * axy + zoff * axz; - ay = ay + c2o1 * yoff * ayy + xoff * axy + zoff * ayz; - az = az + c2o1 * zoff * azz + xoff * axz + yoff * ayz; - b0 = b0 + xoff * bx + yoff * by + zoff * bz + xoff_sq * bxx + yoff_sq * byy + zoff_sq * bzz + xoff*yoff*bxy + xoff*zoff*bxz + yoff*zoff*byz; - bx = bx + c2o1 * xoff * bxx + yoff * bxy + zoff * bxz; - by = by + c2o1 * yoff * byy + xoff * bxy + zoff * byz; - bz = bz + c2o1 * zoff * bzz + xoff * bxz + yoff * byz; - c0 = c0 + xoff * cx + yoff * cy + zoff * cz + xoff_sq * cxx + yoff_sq * cyy + zoff_sq * czz + xoff*yoff*cxy + xoff*zoff*cxz + yoff*zoff*cyz; - cx = cx + c2o1 * xoff * cxx + yoff * cxy + zoff * cxz; - cy = cy + c2o1 * yoff * cyy + xoff * cxy + zoff * cyz; - cz = cz + c2o1 * zoff * czz + xoff * cxz + yoff * cyz; - d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // FIX /////////////////////////////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //AAAAAAAAAAAAHHHHHHHHHHHH!!!!! Mieser Test!!! - //b0= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz= c0= cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero; - //b0=zero; - //bx=zero; - //by=zero; - //bz=zero; - //bxx=zero; - //byy=zero; - //bzz=zero; - //bxy=zero; - //bxz=zero; - //byz=zero; - //c0=zero; - //cx=zero; - //cy=zero; - //cz=zero; - //cxx=zero; - //cyy=zero; - //czz=zero; - //cxy=zero; - //cxz=zero; - //cyz=zero; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = c0o1; - real mfabb = c0o1; - real mfbcb = c0o1; - real mfbab = c0o1; - real mfbbc = c0o1; - real mfbba = c0o1; - real mfccb = c0o1; - real mfaab = c0o1; - real mfcab = c0o1; - real mfacb = c0o1; - real mfcbc = c0o1; - real mfaba = c0o1; - real mfcba = c0o1; - real mfabc = c0o1; - real mfbcc = c0o1; - real mfbaa = c0o1; - real mfbca = c0o1; - real mfbac = c0o1; - real mfbbb = c0o1; - real mfccc = c0o1; - real mfaac = c0o1; - real mfcac = c0o1; - real mfacc = c0o1; - real mfcca = c0o1; - real mfaaa = c0o1; - real mfcaa = c0o1; - real mfaca = c0o1; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real m0, m1, m2, vvx, vvy, vvz, vx2, vy2, vz2, oMdrho; - real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz; - real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein - real O3 = c2o1 - o; - real residu, residutmp; - residutmp = c0o1;///*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new; - real NeqOn = c1o1;//zero;//one; //.... one = on ..... zero = off - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position C 0., 0., 0. - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //x = 0.; - //y = 0.; - //z = 0.; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //real mxoff = -xoff; - //real myoff = -yoff; - //real mzoff = -zoff; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //press = press_NET * (c1o8 - c1o4 * mxoff - c1o4 * myoff - c1o4 * mzoff) + - // press_NWT * (c1o8 + c1o4 * mxoff - c1o4 * myoff - c1o4 * mzoff) + - // press_SET * (c1o8 - c1o4 * mxoff + c1o4 * myoff - c1o4 * mzoff) + - // press_SWT * (c1o8 + c1o4 * mxoff + c1o4 * myoff - c1o4 * mzoff) + - // press_NEB * (c1o8 - c1o4 * mxoff - c1o4 * myoff + c1o4 * mzoff) + - // press_NWB * (c1o8 + c1o4 * mxoff - c1o4 * myoff + c1o4 * mzoff) + - // press_SEB * (c1o8 - c1o4 * mxoff + c1o4 * myoff + c1o4 * mzoff) + - // press_SWB * (c1o8 + c1o4 * mxoff + c1o4 * myoff + c1o4 * mzoff); - //drho = drho_NET * (c1o8 - c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + - // drho_NWT * (c1o8 + c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + - // drho_SET * (c1o8 - c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + - // drho_SWT * (c1o8 + c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + - // drho_NEB * (c1o8 - c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + - // drho_NWB * (c1o8 + c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + - // drho_SEB * (c1o8 - c1o4 * xoff + c1o4 * yoff + c1o4 * zoff) + - // drho_SWB * (c1o8 + c1o4 * xoff + c1o4 * yoff + c1o4 * zoff); - press = d0; - vvx = a0; - vvy = b0; - vvz = c0; - - //mfaaa = drho; - //mfaaa = press + (ax+by+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1 - mfaaa; - - //two - // linear combinations - mxxPyyPzz = mfaaa; - //mxxMyy = -c2o3*(ax - by)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy)*eps_new/o; - //mfbab = -c1o3 * (az + cx)*eps_new/o; - //mfbba = -c1o3 * (ay + bx)*eps_new/o; - mxxMyy = -c2o3*((ax - by)+kxxMyyAverage)*eps_new/o; - mxxMzz = -c2o3*((ax - cz)+kxxMzzAverage)*eps_new/o; - - mfabb = -c1o3 * ((bz + cy)+kyzAverage)*eps_new/o; - mfbab = -c1o3 * ((az + cx)+kxzAverage)*eps_new/o; - mfbba = -c1o3 * ((ay + bx)+kxyAverage)*eps_new/o; - - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //3. - // linear combinations - residu = residutmp * (ayz + bxz + cxy ); - mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (axy + c2o1*bxx + c2o1*bzz + cyz ); - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz )); - mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (axy + c2o1*bxx - c2o1*bzz - cyz ); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz ); - mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (axz + byz + c2o1*cxx + c2o1*cyy ); - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy )); - mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (axz - byz + c2o1*cxx - c2o1*cyy ); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy ); - mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (c2o1*ayy + c2o1*azz + bxy + cxz ); - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz ); - mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - residu = residutmp * (c2o1*ayy - c2o1*azz + bxy - cxz ); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz ); - mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4. - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - //index 0 - kzero= posC[k]; - kw = neighborCX[kzero]; - ks = neighborCY[kzero]; - kb = neighborCZ[kzero]; - ksw = neighborCY[kw]; - kbw = neighborCZ[kw]; - kbs = neighborCZ[ks]; - kbsw = neighborCZ[ksw]; - //////////////////////////////////////////////////////////////////////////////////// - - - //////////////////////////////////////////////////////////////////////////////////// - feC[kzero] = mfcbb; - fwC[kw] = mfabb; - fnC[kzero] = mfbcb; - fsC[ks] = mfbab; - ftC[kzero] = mfbbc; - fbC[kb] = mfbba; - fneC[kzero] = mfccb; - fswC[ksw] = mfaab; - fseC[ks] = mfcab; - fnwC[kw] = mfacb; - fteC[kzero] = mfcbc; - fbwC[kbw] = mfaba; - fbeC[kb] = mfcba; - ftwC[kw] = mfabc; - ftnC[kzero] = mfbcc; - fbsC[kbs] = mfbaa; - fbnC[kb] = mfbca; - ftsC[ks] = mfbac; - fzeroC[kzero] = mfbbb; - ftneC[kzero] = mfccc; - ftseC[ks] = mfcac; - fbneC[kb] = mfcca; - fbseC[kbs] = mfcaa; - ftnwC[kw] = mfacc; - ftswC[ksw] = mfaac; - fbnwC[kbw] = mfaca; - fbswC[kbsw] = mfaaa; - //////////////////////////////////////////////////////////////////////////////////// - } -} -////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -////////////////////////////////////////////////////////////////////////// -__global__ void scaleFCpress27(real* DC, - real* DF, - unsigned int* neighborCX, - unsigned int* neighborCY, - unsigned int* neighborCZ, - unsigned int* neighborFX, - unsigned int* neighborFY, - unsigned int* neighborFZ, - unsigned long long numberOfLBnodesCoarse, - unsigned long long numberOfLBnodesFine, - bool isEvenTimestep, - unsigned int* posC, - unsigned int* posFSWB, - unsigned int kFC, - real omCoarse, - real omFine, - real nu, - unsigned int nxC, - unsigned int nyC, - unsigned int nxF, - unsigned int nyF, - ICellNeigh offFC) -{ - real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, - *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - - feF = &DF[dP00 * numberOfLBnodesFine]; - fwF = &DF[dM00 * numberOfLBnodesFine]; - fnF = &DF[d0P0 * numberOfLBnodesFine]; - fsF = &DF[d0M0 * numberOfLBnodesFine]; - ftF = &DF[d00P * numberOfLBnodesFine]; - fbF = &DF[d00M * numberOfLBnodesFine]; - fneF = &DF[dPP0 * numberOfLBnodesFine]; - fswF = &DF[dMM0 * numberOfLBnodesFine]; - fseF = &DF[dPM0 * numberOfLBnodesFine]; - fnwF = &DF[dMP0 * numberOfLBnodesFine]; - fteF = &DF[dP0P * numberOfLBnodesFine]; - fbwF = &DF[dM0M * numberOfLBnodesFine]; - fbeF = &DF[dP0M * numberOfLBnodesFine]; - ftwF = &DF[dM0P * numberOfLBnodesFine]; - ftnF = &DF[d0PP * numberOfLBnodesFine]; - fbsF = &DF[d0MM * numberOfLBnodesFine]; - fbnF = &DF[d0PM * numberOfLBnodesFine]; - ftsF = &DF[d0MP * numberOfLBnodesFine]; - fzeroF = &DF[d000 * numberOfLBnodesFine]; - ftneF = &DF[dPPP * numberOfLBnodesFine]; - ftswF = &DF[dMMP * numberOfLBnodesFine]; - ftseF = &DF[dPMP * numberOfLBnodesFine]; - ftnwF = &DF[dMPP * numberOfLBnodesFine]; - fbneF = &DF[dPPM * numberOfLBnodesFine]; - fbswF = &DF[dMMM * numberOfLBnodesFine]; - fbseF = &DF[dPMM * numberOfLBnodesFine]; - fbnwF = &DF[dMPM * numberOfLBnodesFine]; - - real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, *fzeroC, - *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; - - if (isEvenTimestep==true) - { - feC = &DC[dP00 * numberOfLBnodesCoarse]; - fwC = &DC[dM00 * numberOfLBnodesCoarse]; - fnC = &DC[d0P0 * numberOfLBnodesCoarse]; - fsC = &DC[d0M0 * numberOfLBnodesCoarse]; - ftC = &DC[d00P * numberOfLBnodesCoarse]; - fbC = &DC[d00M * numberOfLBnodesCoarse]; - fneC = &DC[dPP0 * numberOfLBnodesCoarse]; - fswC = &DC[dMM0 * numberOfLBnodesCoarse]; - fseC = &DC[dPM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dMP0 * numberOfLBnodesCoarse]; - fteC = &DC[dP0P * numberOfLBnodesCoarse]; - fbwC = &DC[dM0M * numberOfLBnodesCoarse]; - fbeC = &DC[dP0M * numberOfLBnodesCoarse]; - ftwC = &DC[dM0P * numberOfLBnodesCoarse]; - ftnC = &DC[d0PP * numberOfLBnodesCoarse]; - fbsC = &DC[d0MM * numberOfLBnodesCoarse]; - fbnC = &DC[d0PM * numberOfLBnodesCoarse]; - ftsC = &DC[d0MP * numberOfLBnodesCoarse]; - fzeroC = &DC[d000 * numberOfLBnodesCoarse]; - ftneC = &DC[dPPP * numberOfLBnodesCoarse]; - ftswC = &DC[dMMP * numberOfLBnodesCoarse]; - ftseC = &DC[dPMP * numberOfLBnodesCoarse]; - ftnwC = &DC[dMPP * numberOfLBnodesCoarse]; - fbneC = &DC[dPPM * numberOfLBnodesCoarse]; - fbswC = &DC[dMMM * numberOfLBnodesCoarse]; - fbseC = &DC[dPMM * numberOfLBnodesCoarse]; - fbnwC = &DC[dMPM * numberOfLBnodesCoarse]; - } - else - { - fwC = &DC[dP00 * numberOfLBnodesCoarse]; - feC = &DC[dM00 * numberOfLBnodesCoarse]; - fsC = &DC[d0P0 * numberOfLBnodesCoarse]; - fnC = &DC[d0M0 * numberOfLBnodesCoarse]; - fbC = &DC[d00P * numberOfLBnodesCoarse]; - ftC = &DC[d00M * numberOfLBnodesCoarse]; - fswC = &DC[dPP0 * numberOfLBnodesCoarse]; - fneC = &DC[dMM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dPM0 * numberOfLBnodesCoarse]; - fseC = &DC[dMP0 * numberOfLBnodesCoarse]; - fbwC = &DC[dP0P * numberOfLBnodesCoarse]; - fteC = &DC[dM0M * numberOfLBnodesCoarse]; - ftwC = &DC[dP0M * numberOfLBnodesCoarse]; - fbeC = &DC[dM0P * numberOfLBnodesCoarse]; - fbsC = &DC[d0PP * numberOfLBnodesCoarse]; - ftnC = &DC[d0MM * numberOfLBnodesCoarse]; - ftsC = &DC[d0PM * numberOfLBnodesCoarse]; - fbnC = &DC[d0MP * numberOfLBnodesCoarse]; - fzeroC = &DC[d000 * numberOfLBnodesCoarse]; - fbswC = &DC[dPPP * numberOfLBnodesCoarse]; - fbneC = &DC[dMMP * numberOfLBnodesCoarse]; - fbnwC = &DC[dPMP * numberOfLBnodesCoarse]; - fbseC = &DC[dMPP * numberOfLBnodesCoarse]; - ftswC = &DC[dPPM * numberOfLBnodesCoarse]; - ftneC = &DC[dMMM * numberOfLBnodesCoarse]; - ftnwC = &DC[dPMM * numberOfLBnodesCoarse]; - ftseC = &DC[dMPM * numberOfLBnodesCoarse]; - } - //////////////////////////////////////////////////////////////////////////////// - const unsigned ix = threadIdx.x; // Globaler x-Index - const unsigned iy = blockIdx.x; // Globaler y-Index - const unsigned iz = blockIdx.y; // Globaler z-Index - - const unsigned nx = blockDim.x; - const unsigned ny = gridDim.x; - - const unsigned k = nx*(ny*iz + iy) + ix; - ////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////// - //real epsylon = one; - real eps_new = c2o1; - real omegaS = omFine;//-omFine; - real o = omCoarse;//-omCoarse; - real op = c1o1; - real cu_sq; - - real xoff, yoff, zoff; - real xoff_sq, yoff_sq, zoff_sq; - - real press,drho,vx1,vx2,vx3; - real press_SWT,drho_SWT,vx1_SWT,vx2_SWT,vx3_SWT; - real press_NWT,drho_NWT,vx1_NWT,vx2_NWT,vx3_NWT; - real press_NET,drho_NET,vx1_NET,vx2_NET,vx3_NET; - real press_SET,drho_SET,vx1_SET,vx2_SET,vx3_SET; - real press_SWB,drho_SWB,vx1_SWB,vx2_SWB,vx3_SWB; - real press_NWB,drho_NWB,vx1_NWB,vx2_NWB,vx3_NWB; - real press_NEB,drho_NEB,vx1_NEB,vx2_NEB,vx3_NEB; - real press_SEB,drho_SEB,vx1_SEB,vx2_SEB,vx3_SEB; - real f_E,f_W,f_N,f_S,f_T,f_B,f_NE,f_SW,f_SE,f_NW,f_TE,f_BW,f_BE,f_TW,f_TN,f_BS,f_BN,f_TS,f_ZERO,f_TNE, f_TSW, f_TSE, f_TNW, f_BNE, f_BSW, f_BSE, f_BNW; - real feq_E,feq_W,feq_N,feq_S,feq_T,feq_B,feq_NE,feq_SW,feq_SE,feq_NW,feq_TE,feq_BW,feq_BE,feq_TW,feq_TN,feq_BS,feq_BN,feq_TS,feq_ZERO,feq_TNE, feq_TSW, feq_TSE, feq_TNW, feq_BNE, feq_BSW, feq_BSE, feq_BNW; - real kxyFromfcNEQ_SWT, kyzFromfcNEQ_SWT, kxzFromfcNEQ_SWT, kxxMyyFromfcNEQ_SWT, kxxMzzFromfcNEQ_SWT; - real kxyFromfcNEQ_NWT, kyzFromfcNEQ_NWT, kxzFromfcNEQ_NWT, kxxMyyFromfcNEQ_NWT, kxxMzzFromfcNEQ_NWT; - real kxyFromfcNEQ_NET, kyzFromfcNEQ_NET, kxzFromfcNEQ_NET, kxxMyyFromfcNEQ_NET, kxxMzzFromfcNEQ_NET; - real kxyFromfcNEQ_SET, kyzFromfcNEQ_SET, kxzFromfcNEQ_SET, kxxMyyFromfcNEQ_SET, kxxMzzFromfcNEQ_SET; - real kxyFromfcNEQ_SWB, kyzFromfcNEQ_SWB, kxzFromfcNEQ_SWB, kxxMyyFromfcNEQ_SWB, kxxMzzFromfcNEQ_SWB; - real kxyFromfcNEQ_NWB, kyzFromfcNEQ_NWB, kxzFromfcNEQ_NWB, kxxMyyFromfcNEQ_NWB, kxxMzzFromfcNEQ_NWB; - real kxyFromfcNEQ_NEB, kyzFromfcNEQ_NEB, kxzFromfcNEQ_NEB, kxxMyyFromfcNEQ_NEB, kxxMzzFromfcNEQ_NEB; - real kxyFromfcNEQ_SEB, kyzFromfcNEQ_SEB, kxzFromfcNEQ_SEB, kxxMyyFromfcNEQ_SEB, kxxMzzFromfcNEQ_SEB; - real a0, ax, ay, az, axx, ayy, azz, axy, axz, ayz, b0, bx, by, bz, bxx, byy, bzz, bxy, bxz, byz, c0, cx, cy, cz, cxx, cyy, czz, cxy, cxz, cyz/*, axyz, bxyz, cxyz*/; - - //real x,y,z; - - if(k<kFC) - { - ////////////////////////////////////////////////////////////////////////// - xoff = offFC.x[k]; - yoff = offFC.y[k]; - zoff = offFC.z[k]; - xoff_sq = xoff * xoff; - yoff_sq = yoff * yoff; - zoff_sq = zoff * zoff; - ////////////////////////////////////////////////////////////////////////// - //SWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - unsigned int k0zero= posFSWB[k]; - unsigned int k0w = neighborFX[k0zero]; - unsigned int k0s = neighborFY[k0zero]; - unsigned int k0b = neighborFZ[k0zero]; - unsigned int k0sw = neighborFY[k0w]; - unsigned int k0bw = neighborFZ[k0w]; - unsigned int k0bs = neighborFZ[k0s]; - unsigned int k0bsw = neighborFZ[k0sw]; - ////////////////////////////////////////////////////////////////////////// - //index - unsigned int kzero= k0zero; - unsigned int kw = k0w; - unsigned int ks = k0s; - unsigned int kb = k0b; - unsigned int ksw = k0sw; - unsigned int kbw = k0bw; - unsigned int kbs = k0bs; - unsigned int kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - //vx1_SWB = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_SWB = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_SWB = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_SWB = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_SWB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_SWB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_SWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - press_SWB = (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)- - drho_SWB-(vx1_SWB*vx1_SWB+vx2_SWB*vx2_SWB+vx3_SWB*vx3_SWB)* (c1o1+drho_SWB)) * c1o2+drho_SWB; - - kxyFromfcNEQ_SWB = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SWB*vx2_SWB)); - kyzFromfcNEQ_SWB = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_SWB*vx3_SWB)); - kxzFromfcNEQ_SWB = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_SWB*vx3_SWB)); - kxxMyyFromfcNEQ_SWB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_SWB*vx1_SWB-vx2_SWB*vx2_SWB)); - kxxMzzFromfcNEQ_SWB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_SWB*vx1_SWB-vx3_SWB*vx3_SWB)); - - ////////////////////////////////////////////////////////////////////////// - //SWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - //vx1_SWT = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_SWT = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_SWT = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_SWT = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_SWT = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_SWT = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_SWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - press_SWT= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)- - drho_SWT-(vx1_SWT*vx1_SWT+vx2_SWT*vx2_SWT+vx3_SWT*vx3_SWT)* (c1o1+drho_SWT)) * c1o2+drho_SWT; - - kxyFromfcNEQ_SWT = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SWT*vx2_SWT)); - kyzFromfcNEQ_SWT = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_SWT*vx3_SWT)); - kxzFromfcNEQ_SWT = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_SWT*vx3_SWT)); - kxxMyyFromfcNEQ_SWT = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_SWT*vx1_SWT-vx2_SWT*vx2_SWT)); - kxxMzzFromfcNEQ_SWT = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_SWT*vx1_SWT-vx3_SWT*vx3_SWT)); - - ////////////////////////////////////////////////////////////////////////// - //SET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - //vx1_SET = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_SET = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_SET = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_SET = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_SET = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_SET = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_SET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - press_SET= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)- - drho_SET-(vx1_SET*vx1_SET+vx2_SET*vx2_SET+vx3_SET*vx3_SET)* (c1o1+drho_SET)) * c1o2+drho_SET; - - kxyFromfcNEQ_SET = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SET*vx2_SET)); - kyzFromfcNEQ_SET = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_SET*vx3_SET)); - kxzFromfcNEQ_SET = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_SET*vx3_SET)); - kxxMyyFromfcNEQ_SET = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_SET*vx1_SET-vx2_SET*vx2_SET)); - kxxMzzFromfcNEQ_SET = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_SET*vx1_SET-vx3_SET*vx3_SET)); - - ////////////////////////////////////////////////////////////////////////// - //SEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - //vx1_SEB = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_SEB = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_SEB = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_SEB = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_SEB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_SEB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_SEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - press_SEB= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)- - drho_SEB-(vx1_SEB*vx1_SEB+vx2_SEB*vx2_SEB+vx3_SEB*vx3_SEB)* (c1o1+drho_SEB)) * c1o2+drho_SEB; - - kxyFromfcNEQ_SEB = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SEB*vx2_SEB)); - kyzFromfcNEQ_SEB = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_SEB*vx3_SEB)); - kxzFromfcNEQ_SEB = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_SEB*vx3_SEB)); - kxxMyyFromfcNEQ_SEB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_SEB*vx1_SEB-vx2_SEB*vx2_SEB)); - kxxMzzFromfcNEQ_SEB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_SEB*vx1_SEB-vx3_SEB*vx3_SEB)); - - ////////////////////////////////////////////////////////////////////////// - //NWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= k0s; - k0w = k0sw; - k0s = neighborFY[k0s]; - k0b = k0bs; - k0sw = neighborFY[k0sw]; - k0bw = k0bsw; - k0bs = neighborFY[k0bs]; - k0bsw = neighborFY[k0bsw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - //vx1_NWB = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_NWB = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_NWB = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_NWB = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_NWB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_NWB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_NWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - press_NWB= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)- - drho_NWB-(vx1_NWB*vx1_NWB+vx2_NWB*vx2_NWB+vx3_NWB*vx3_NWB)* (c1o1+drho_NWB)) * c1o2+drho_NWB; - - kxyFromfcNEQ_NWB = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NWB*vx2_NWB)); - kyzFromfcNEQ_NWB = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_NWB*vx3_NWB)); - kxzFromfcNEQ_NWB = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_NWB*vx3_NWB)); - kxxMyyFromfcNEQ_NWB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_NWB*vx1_NWB-vx2_NWB*vx2_NWB)); - kxxMzzFromfcNEQ_NWB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_NWB*vx1_NWB-vx3_NWB*vx3_NWB)); - - ////////////////////////////////////////////////////////////////////////// - //NWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - //vx1_NWT = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_NWT = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_NWT = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_NWT = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_NWT = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_NWT = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_NWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - press_NWT= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)- - drho_NWT-(vx1_NWT*vx1_NWT+vx2_NWT*vx2_NWT+vx3_NWT*vx3_NWT)* (c1o1+drho_NWT)) * c1o2+drho_NWT; - - kxyFromfcNEQ_NWT = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NWT*vx2_NWT)); - kyzFromfcNEQ_NWT = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_NWT*vx3_NWT)); - kxzFromfcNEQ_NWT = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_NWT*vx3_NWT)); - kxxMyyFromfcNEQ_NWT = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_NWT*vx1_NWT-vx2_NWT*vx2_NWT)); - kxxMzzFromfcNEQ_NWT = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_NWT*vx1_NWT-vx3_NWT*vx3_NWT)); - - ////////////////////////////////////////////////////////////////////////// - //NET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - //vx1_NET = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_NET = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_NET = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_NET = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_NET = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_NET = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_NET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - press_NET= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)- - drho_NET-(vx1_NET*vx1_NET+vx2_NET*vx2_NET+vx3_NET*vx3_NET)* (c1o1+drho_NET)) * c1o2+drho_NET; - - kxyFromfcNEQ_NET = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NET*vx2_NET)); - kyzFromfcNEQ_NET = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_NET*vx3_NET)); - kxzFromfcNEQ_NET = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_NET*vx3_NET)); - kxxMyyFromfcNEQ_NET = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_NET*vx1_NET-vx2_NET*vx2_NET)); - kxxMzzFromfcNEQ_NET = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_NET*vx1_NET-vx3_NET*vx3_NET)); - - ////////////////////////////////////////////////////////////////////////// - //NEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - //vx1_NEB = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_NEB = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_NEB = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_NEB = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_NEB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_NEB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_NEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - press_NEB= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)- - drho_NEB-(vx1_NEB*vx1_NEB+vx2_NEB*vx2_NEB+vx3_NEB*vx3_NEB)* (c1o1+drho_NEB)) * c1o2+drho_NEB; - - kxyFromfcNEQ_NEB = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NEB*vx2_NEB)); - kyzFromfcNEQ_NEB = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_NEB*vx3_NEB)); - kxzFromfcNEQ_NEB = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_NEB*vx3_NEB)); - kxxMyyFromfcNEQ_NEB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_NEB*vx1_NEB-vx2_NEB*vx2_NEB)); - kxxMzzFromfcNEQ_NEB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_NEB*vx1_NEB-vx3_NEB*vx3_NEB)); - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - ////////////////////////////////////////////////////////////////////////// - //3 - ////////////////////////////////////////////////////////////////////////// - a0 = (-kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT - - kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - - kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - - c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET - c2o1*kxyFromfcNEQ_NWB - c2o1*kxyFromfcNEQ_NWT + - c2o1*kxyFromfcNEQ_SEB + c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + - c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB - c2o1*kxzFromfcNEQ_NWT + - c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB - c2o1*kxzFromfcNEQ_SWT + - c8o1*vx1_NEB + c8o1*vx1_NET + c8o1*vx1_NWB + c8o1*vx1_NWT + c8o1*vx1_SEB + - c8o1*vx1_SET + c8o1*vx1_SWB + c8o1*vx1_SWT + c2o1*vx2_NEB + c2o1*vx2_NET - - c2o1*vx2_NWB - c2o1*vx2_NWT - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + - c2o1*vx2_SWT - c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - - c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1; - b0 = (c2o1*kxxMyyFromfcNEQ_NEB + c2o1*kxxMyyFromfcNEQ_NET + c2o1*kxxMyyFromfcNEQ_NWB + c2o1*kxxMyyFromfcNEQ_NWT - - c2o1*kxxMyyFromfcNEQ_SEB - c2o1*kxxMyyFromfcNEQ_SET - c2o1*kxxMyyFromfcNEQ_SWB - c2o1*kxxMyyFromfcNEQ_SWT - - kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - - c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET + c2o1*kxyFromfcNEQ_NWB + c2o1*kxyFromfcNEQ_NWT - - c2o1*kxyFromfcNEQ_SEB - c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + - c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET + c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + - c2o1*kyzFromfcNEQ_SEB - c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB - c2o1*kyzFromfcNEQ_SWT + - c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT + - c8o1*vx2_NEB + c8o1*vx2_NET + c8o1*vx2_NWB + c8o1*vx2_NWT + - c8o1*vx2_SEB + c8o1*vx2_SET + c8o1*vx2_SWB + c8o1*vx2_SWT - - c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + - c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1; - c0 = (kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT - - c2o1*kxxMzzFromfcNEQ_NEB + c2o1*kxxMzzFromfcNEQ_NET - c2o1*kxxMzzFromfcNEQ_NWB + c2o1*kxxMzzFromfcNEQ_NWT - - c2o1*kxxMzzFromfcNEQ_SEB + c2o1*kxxMzzFromfcNEQ_SET - c2o1*kxxMzzFromfcNEQ_SWB + c2o1*kxxMzzFromfcNEQ_SWT - - c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB + c2o1*kxzFromfcNEQ_NWT - - c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB + c2o1*kxzFromfcNEQ_SWT - - c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET - c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + - c2o1*kyzFromfcNEQ_SEB + c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB + c2o1*kyzFromfcNEQ_SWT - - c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - - c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT + - c8o1*vx3_NEB + c8o1*vx3_NET + c8o1*vx3_NWB + c8o1*vx3_NWT + - c8o1*vx3_SEB + c8o1*vx3_SET + c8o1*vx3_SWB + c8o1*vx3_SWT)/c64o1; - ax = (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT + vx1_SEB + vx1_SET - vx1_SWB - vx1_SWT)/c4o1; - bx = (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT + vx2_SEB + vx2_SET - vx2_SWB - vx2_SWT)/c4o1; - cx = (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT + vx3_SEB + vx3_SET - vx3_SWB - vx3_SWT)/c4o1; - axx= (kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT + - kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + - c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB - c2o1*vx2_NWT - - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + c2o1*vx2_SWT - - c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - - c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1; - bxx= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET - kxyFromfcNEQ_NWB - kxyFromfcNEQ_NWT + - kxyFromfcNEQ_SEB + kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - - c2o1*vx1_NEB - c2o1*vx1_NET + c2o1*vx1_NWB + c2o1*vx1_NWT + - c2o1*vx1_SEB + c2o1*vx1_SET - c2o1*vx1_SWB - c2o1*vx1_SWT)/c8o1; - cxx= (kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB - kxzFromfcNEQ_NWT + - kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB - kxzFromfcNEQ_SWT + - c2o1*vx1_NEB - c2o1*vx1_NET - c2o1*vx1_NWB + c2o1*vx1_NWT + - c2o1*vx1_SEB - c2o1*vx1_SET - c2o1*vx1_SWB + c2o1*vx1_SWT)/c8o1; - ay = (vx1_NEB + vx1_NET + vx1_NWB + vx1_NWT - vx1_SEB - vx1_SET - vx1_SWB - vx1_SWT)/c4o1; - by = (vx2_NEB + vx2_NET + vx2_NWB + vx2_NWT - vx2_SEB - vx2_SET - vx2_SWB - vx2_SWT)/c4o1; - cy = (vx3_NEB + vx3_NET + vx3_NWB + vx3_NWT - vx3_SEB - vx3_SET - vx3_SWB - vx3_SWT)/c4o1; - ayy= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET + kxyFromfcNEQ_NWB + kxyFromfcNEQ_NWT - - kxyFromfcNEQ_SEB - kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - - c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB + c2o1*vx2_NWT + - c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB - c2o1*vx2_SWT)/c8o1; - byy= (-c2o1*kxxMyyFromfcNEQ_NEB - c2o1*kxxMyyFromfcNEQ_NET - c2o1*kxxMyyFromfcNEQ_NWB - c2o1*kxxMyyFromfcNEQ_NWT + - c2o1*kxxMyyFromfcNEQ_SEB + c2o1*kxxMyyFromfcNEQ_SET + c2o1*kxxMyyFromfcNEQ_SWB + c2o1*kxxMyyFromfcNEQ_SWT + - kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - - kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + - c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT - - c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + - c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1; - cyy= (kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET + kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - - kyzFromfcNEQ_SEB - kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB - kyzFromfcNEQ_SWT + - c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB - c2o1*vx2_NWT - - c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB + c2o1*vx2_SWT)/c8o1; - az = (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT - vx1_SEB + vx1_SET - vx1_SWB + vx1_SWT)/c4o1; - bz = (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT - vx2_SEB + vx2_SET - vx2_SWB + vx2_SWT)/c4o1; - cz = (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT - vx3_SEB + vx3_SET - vx3_SWB + vx3_SWT)/c4o1; - azz= (-kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB + kxzFromfcNEQ_NWT - - kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB + kxzFromfcNEQ_SWT + - c2o1*vx3_NEB - c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + - c2o1*vx3_SEB - c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1; - bzz= (-kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET - kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - - kyzFromfcNEQ_SEB + kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB + kyzFromfcNEQ_SWT + - c2o1*vx3_NEB - c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - - c2o1*vx3_SEB + c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1; - czz= (-kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT + - c2o1*kxxMzzFromfcNEQ_NEB - c2o1*kxxMzzFromfcNEQ_NET + c2o1*kxxMzzFromfcNEQ_NWB - c2o1*kxxMzzFromfcNEQ_NWT + - c2o1*kxxMzzFromfcNEQ_SEB - c2o1*kxxMzzFromfcNEQ_SET + c2o1*kxxMzzFromfcNEQ_SWB - c2o1*kxxMzzFromfcNEQ_SWT - - c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - - c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT)/c16o1; - axy= (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT - vx1_SEB - vx1_SET + vx1_SWB + vx1_SWT)/c2o1; - bxy= (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT - vx2_SEB - vx2_SET + vx2_SWB + vx2_SWT)/c2o1; - cxy= (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT - vx3_SEB - vx3_SET + vx3_SWB + vx3_SWT)/c2o1; - axz= (-vx1_NEB + vx1_NET + vx1_NWB - vx1_NWT - vx1_SEB + vx1_SET + vx1_SWB - vx1_SWT)/c2o1; - bxz= (-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT - vx2_SEB + vx2_SET + vx2_SWB - vx2_SWT)/c2o1; - cxz= (-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT - vx3_SEB + vx3_SET + vx3_SWB - vx3_SWT)/c2o1; - ayz= (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT + vx1_SEB - vx1_SET + vx1_SWB - vx1_SWT)/c2o1; - byz= (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT + vx2_SEB - vx2_SET + vx2_SWB - vx2_SWT)/c2o1; - cyz= (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT + vx3_SEB - vx3_SET + vx3_SWB - vx3_SWT)/c2o1; - //axyz=-vx1_NEB + vx1_NET + vx1_NWB - vx1_NWT + vx1_SEB - vx1_SET - vx1_SWB + vx1_SWT; - //bxyz=-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT + vx2_SEB - vx2_SET - vx2_SWB + vx2_SWT; - //cxyz=-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT + vx3_SEB - vx3_SET - vx3_SWB + vx3_SWT; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - // Bernd das Brot - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - a0 = a0 + xoff * ax + yoff * ay + zoff * az + xoff_sq * axx + yoff_sq * ayy + zoff_sq * azz + xoff*yoff*axy + xoff*zoff*axz + yoff*zoff*ayz; - ax = ax + c2o1 * xoff * axx + yoff * axy + zoff * axz; - ay = ay + c2o1 * yoff * ayy + xoff * axy + zoff * ayz; - az = az + c2o1 * zoff * azz + xoff * axz + yoff * ayz; - b0 = b0 + xoff * bx + yoff * by + zoff * bz + xoff_sq * bxx + yoff_sq * byy + zoff_sq * bzz + xoff*yoff*bxy + xoff*zoff*bxz + yoff*zoff*byz; - bx = bx + c2o1 * xoff * bxx + yoff * bxy + zoff * bxz; - by = by + c2o1 * yoff * byy + xoff * bxy + zoff * byz; - bz = bz + c2o1 * zoff * bzz + xoff * bxz + yoff * byz; - c0 = c0 + xoff * cx + yoff * cy + zoff * cz + xoff_sq * cxx + yoff_sq * cyy + zoff_sq * czz + xoff*yoff*cxy + xoff*zoff*cxz + yoff*zoff*cyz; - cx = cx + c2o1 * xoff * cxx + yoff * cxy + zoff * cxz; - cy = cy + c2o1 * yoff * cyy + xoff * cxy + zoff * cyz; - cz = cz + c2o1 * zoff * czz + xoff * cxz + yoff * cyz; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //Position C 0.5, 0.5, 0.5 - //x = zero; - //y = zero; - //z = zero; - - //drho = c1o8*(drho_SWB + drho_NWB + drho_NEB + drho_SEB + drho_SWT + drho_NWT + drho_NET + drho_SET); - press = press_NET * (c1o8 - c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + - press_NWT * (c1o8 + c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + - press_SET * (c1o8 - c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + - press_SWT * (c1o8 + c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + - press_NEB * (c1o8 - c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + - press_NWB * (c1o8 + c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + - press_SEB * (c1o8 - c1o4 * xoff + c1o4 * yoff + c1o4 * zoff) + - press_SWB * (c1o8 + c1o4 * xoff + c1o4 * yoff + c1o4 * zoff); - vx1 = a0; - vx2 = b0; - vx3 = c0; - - drho = press + (ax+by+cz)/c3o1; // 1/3 = 2/3*(1/op-1/2) - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - feq_ZERO = c8o27* (drho-cu_sq); - feq_E = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - feq_N = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - feq_T = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - feq_NE = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - feq_SE = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - feq_TE = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - feq_BE = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - feq_TN = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - feq_BN = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - feq_TNE = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - feq_BNE = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - feq_TSE = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - feq_BSE = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - feq_W = feq_E + c2o27* (c6o1*(-vx1 )); - feq_S = feq_N + c2o27* (c6o1*( -vx2 )); - feq_B = feq_T + c2o27* (c6o1*( -vx3)); - feq_SW = feq_NE + c1o54* (c6o1*(-vx1-vx2 )); - feq_NW = feq_SE + c1o54* (c6o1*(-vx1+vx2 )); - feq_BW = feq_TE + c1o54* (c6o1*(-vx1 -vx3)); - feq_TW = feq_BE + c1o54* (c6o1*(-vx1 +vx3)); - feq_BS = feq_TN + c1o54* (c6o1*( -vx2-vx3)); - feq_TS = feq_BN + c1o54* (c6o1*( -vx2+vx3)); - feq_BSW = feq_TNE + c1o216*(c6o1*(-vx1-vx2-vx3)); - feq_TSW = feq_BNE + c1o216*(c6o1*(-vx1-vx2+vx3)); - feq_BNW = feq_TSE + c1o216*(c6o1*(-vx1+vx2-vx3)); - feq_TNW = feq_BSE + c1o216*(c6o1*(-vx1+vx2+vx3)); - - f_E = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o - c8o1*ax*op + c4o1*by*op + c4o1*cz*op)/(c54o1*o*op)); - f_N = f_E + eps_new *((c2o1*(ax - by))/(c9o1*o)); - f_T = f_E + eps_new *((c2o1*(ax - cz))/(c9o1*o)); - f_NE = eps_new *(-(c5o1*cz*o + c3o1*(ay + bx)*op - c2o1*cz*op + ax*(c5o1*o + op) + by*(c5o1*o + op))/(c54o1*o*op)); - f_SE = f_NE + eps_new *(( ay + bx )/(c9o1*o)); - f_TE = eps_new *(-(c5o1*cz*o + by*(c5o1*o - c2o1*op) + c3o1*(az + cx)*op + cz*op + ax*(c5o1*o + op))/(c54o1*o*op)); - f_BE = f_TE + eps_new *(( az + cx )/(c9o1*o)); - f_TN = eps_new *(-(c5o1*ax*o + c5o1*by*o + c5o1*cz*o - c2o1*ax*op + by*op + c3o1*bz*op + c3o1*cy*op + cz*op)/(c54o1*o*op)); - f_BN = f_TN + eps_new *(( bz + cy )/(c9o1*o)); - f_ZERO = eps_new *((c5o1*(ax + by + cz))/(c9o1*op)); - f_TNE = eps_new *(-(ay + az + bx + bz + cx + cy)/(c72o1*o)); - f_TSW = - eps_new *((ay + bx)/(c36o1*o)) - f_TNE; - f_TSE = - eps_new *((az + cx)/(c36o1*o)) - f_TNE; - f_TNW = - eps_new *((bz + cy)/(c36o1*o)) - f_TNE; - - ////////////////////////////////////////////////////////////////////////// - //index 0 - kzero= posC[k]; - kw = neighborCX[kzero]; - ks = neighborCY[kzero]; - kb = neighborCZ[kzero]; - ksw = neighborCY[kw]; - kbw = neighborCZ[kw]; - kbs = neighborCZ[ks]; - kbsw = neighborCZ[ksw]; - //////////////////////////////////////////////////////////////////////////////// - feC[kzero] = f_E + feq_E; - fwC[kw] = f_E + feq_W; - fnC[kzero] = f_N + feq_N; - fsC[ks] = f_N + feq_S; - ftC[kzero] = f_T + feq_T; - fbC[kb] = f_T + feq_B; - fneC[kzero] = f_NE + feq_NE; - fswC[ksw] = f_NE + feq_SW; - fseC[ks] = f_SE + feq_SE; - fnwC[kw] = f_SE + feq_NW; - fteC[kzero] = f_TE + feq_TE; - fbwC[kbw] = f_TE + feq_BW; - fbeC[kb] = f_BE + feq_BE; - ftwC[kw] = f_BE + feq_TW; - ftnC[kzero] = f_TN + feq_TN; - fbsC[kbs] = f_TN + feq_BS; - fbnC[kb] = f_BN + feq_BN; - ftsC[ks] = f_BN + feq_TS; - fzeroC[kzero]= f_ZERO + feq_ZERO; - ftneC[kzero] = f_TNE + feq_TNE; - ftswC[ksw] = f_TSW + feq_TSW; - ftseC[ks] = f_TSE + feq_TSE; - ftnwC[kw] = f_TNW + feq_TNW; - fbneC[kb] = f_TSW + feq_BNE; - fbswC[kbsw] = f_TNE + feq_BSW; - fbseC[kbs] = f_TNW + feq_BSE; - fbnwC[kbw] = f_TSE + feq_BNW; - } -} -////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -////////////////////////////////////////////////////////////////////////// -__global__ void scaleFCLast27( real* DC, - real* DF, - unsigned int* neighborCX, - unsigned int* neighborCY, - unsigned int* neighborCZ, - unsigned int* neighborFX, - unsigned int* neighborFY, - unsigned int* neighborFZ, - unsigned long long numberOfLBnodesCoarse, - unsigned long long numberOfLBnodesFine, - bool isEvenTimestep, - unsigned int* posC, - unsigned int* posFSWB, - unsigned int kFC, - real omCoarse, - real omFine, - real nu, - unsigned int nxC, - unsigned int nyC, - unsigned int nxF, - unsigned int nyF, - ICellNeigh offFC) -{ - real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, - *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - - feF = &DF[dP00 * numberOfLBnodesFine]; - fwF = &DF[dM00 * numberOfLBnodesFine]; - fnF = &DF[d0P0 * numberOfLBnodesFine]; - fsF = &DF[d0M0 * numberOfLBnodesFine]; - ftF = &DF[d00P * numberOfLBnodesFine]; - fbF = &DF[d00M * numberOfLBnodesFine]; - fneF = &DF[dPP0 * numberOfLBnodesFine]; - fswF = &DF[dMM0 * numberOfLBnodesFine]; - fseF = &DF[dPM0 * numberOfLBnodesFine]; - fnwF = &DF[dMP0 * numberOfLBnodesFine]; - fteF = &DF[dP0P * numberOfLBnodesFine]; - fbwF = &DF[dM0M * numberOfLBnodesFine]; - fbeF = &DF[dP0M * numberOfLBnodesFine]; - ftwF = &DF[dM0P * numberOfLBnodesFine]; - ftnF = &DF[d0PP * numberOfLBnodesFine]; - fbsF = &DF[d0MM * numberOfLBnodesFine]; - fbnF = &DF[d0PM * numberOfLBnodesFine]; - ftsF = &DF[d0MP * numberOfLBnodesFine]; - fzeroF = &DF[d000 * numberOfLBnodesFine]; - ftneF = &DF[dPPP * numberOfLBnodesFine]; - ftswF = &DF[dMMP * numberOfLBnodesFine]; - ftseF = &DF[dPMP * numberOfLBnodesFine]; - ftnwF = &DF[dMPP * numberOfLBnodesFine]; - fbneF = &DF[dPPM * numberOfLBnodesFine]; - fbswF = &DF[dMMM * numberOfLBnodesFine]; - fbseF = &DF[dPMM * numberOfLBnodesFine]; - fbnwF = &DF[dMPM * numberOfLBnodesFine]; - - real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, *fzeroC, - *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; - - if (isEvenTimestep==true) - { - feC = &DC[dP00 * numberOfLBnodesCoarse]; - fwC = &DC[dM00 * numberOfLBnodesCoarse]; - fnC = &DC[d0P0 * numberOfLBnodesCoarse]; - fsC = &DC[d0M0 * numberOfLBnodesCoarse]; - ftC = &DC[d00P * numberOfLBnodesCoarse]; - fbC = &DC[d00M * numberOfLBnodesCoarse]; - fneC = &DC[dPP0 * numberOfLBnodesCoarse]; - fswC = &DC[dMM0 * numberOfLBnodesCoarse]; - fseC = &DC[dPM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dMP0 * numberOfLBnodesCoarse]; - fteC = &DC[dP0P * numberOfLBnodesCoarse]; - fbwC = &DC[dM0M * numberOfLBnodesCoarse]; - fbeC = &DC[dP0M * numberOfLBnodesCoarse]; - ftwC = &DC[dM0P * numberOfLBnodesCoarse]; - ftnC = &DC[d0PP * numberOfLBnodesCoarse]; - fbsC = &DC[d0MM * numberOfLBnodesCoarse]; - fbnC = &DC[d0PM * numberOfLBnodesCoarse]; - ftsC = &DC[d0MP * numberOfLBnodesCoarse]; - fzeroC = &DC[d000 * numberOfLBnodesCoarse]; - ftneC = &DC[dPPP * numberOfLBnodesCoarse]; - ftswC = &DC[dMMP * numberOfLBnodesCoarse]; - ftseC = &DC[dPMP * numberOfLBnodesCoarse]; - ftnwC = &DC[dMPP * numberOfLBnodesCoarse]; - fbneC = &DC[dPPM * numberOfLBnodesCoarse]; - fbswC = &DC[dMMM * numberOfLBnodesCoarse]; - fbseC = &DC[dPMM * numberOfLBnodesCoarse]; - fbnwC = &DC[dMPM * numberOfLBnodesCoarse]; - } - else - { - fwC = &DC[dP00 * numberOfLBnodesCoarse]; - feC = &DC[dM00 * numberOfLBnodesCoarse]; - fsC = &DC[d0P0 * numberOfLBnodesCoarse]; - fnC = &DC[d0M0 * numberOfLBnodesCoarse]; - fbC = &DC[d00P * numberOfLBnodesCoarse]; - ftC = &DC[d00M * numberOfLBnodesCoarse]; - fswC = &DC[dPP0 * numberOfLBnodesCoarse]; - fneC = &DC[dMM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dPM0 * numberOfLBnodesCoarse]; - fseC = &DC[dMP0 * numberOfLBnodesCoarse]; - fbwC = &DC[dP0P * numberOfLBnodesCoarse]; - fteC = &DC[dM0M * numberOfLBnodesCoarse]; - ftwC = &DC[dP0M * numberOfLBnodesCoarse]; - fbeC = &DC[dM0P * numberOfLBnodesCoarse]; - fbsC = &DC[d0PP * numberOfLBnodesCoarse]; - ftnC = &DC[d0MM * numberOfLBnodesCoarse]; - ftsC = &DC[d0PM * numberOfLBnodesCoarse]; - fbnC = &DC[d0MP * numberOfLBnodesCoarse]; - fzeroC = &DC[d000 * numberOfLBnodesCoarse]; - fbswC = &DC[dPPP * numberOfLBnodesCoarse]; - fbneC = &DC[dMMP * numberOfLBnodesCoarse]; - fbnwC = &DC[dPMP * numberOfLBnodesCoarse]; - fbseC = &DC[dMPP * numberOfLBnodesCoarse]; - ftswC = &DC[dPPM * numberOfLBnodesCoarse]; - ftneC = &DC[dMMM * numberOfLBnodesCoarse]; - ftnwC = &DC[dPMM * numberOfLBnodesCoarse]; - ftseC = &DC[dMPM * numberOfLBnodesCoarse]; - } - //////////////////////////////////////////////////////////////////////////////// - const unsigned ix = threadIdx.x; // Globaler x-Index - const unsigned iy = blockIdx.x; // Globaler y-Index - const unsigned iz = blockIdx.y; // Globaler z-Index - - const unsigned nx = blockDim.x; - const unsigned ny = gridDim.x; - - const unsigned k = nx*(ny*iz + iy) + ix; - ////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////// - //real epsylon = one; - real eps_new = c2o1; - real omegaS = omFine;//-omFine; - real o = omCoarse;//-omCoarse; - real op = c1o1; - real cu_sq; - - real xoff, yoff, zoff; - real xoff_sq, yoff_sq, zoff_sq; - - real drho,vx1,vx2,vx3; - real drho_SWT,vx1_SWT,vx2_SWT,vx3_SWT; - real drho_NWT,vx1_NWT,vx2_NWT,vx3_NWT; - real drho_NET,vx1_NET,vx2_NET,vx3_NET; - real drho_SET,vx1_SET,vx2_SET,vx3_SET; - real drho_SWB,vx1_SWB,vx2_SWB,vx3_SWB; - real drho_NWB,vx1_NWB,vx2_NWB,vx3_NWB; - real drho_NEB,vx1_NEB,vx2_NEB,vx3_NEB; - real drho_SEB,vx1_SEB,vx2_SEB,vx3_SEB; - real f_E,f_W,f_N,f_S,f_T,f_B,f_NE,f_SW,f_SE,f_NW,f_TE,f_BW,f_BE,f_TW,f_TN,f_BS,f_BN,f_TS,f_ZERO,f_TNE, f_TSW, f_TSE, f_TNW, f_BNE, f_BSW, f_BSE, f_BNW; - real feq_E,feq_W,feq_N,feq_S,feq_T,feq_B,feq_NE,feq_SW,feq_SE,feq_NW,feq_TE,feq_BW,feq_BE,feq_TW,feq_TN,feq_BS,feq_BN,feq_TS,feq_ZERO,feq_TNE, feq_TSW, feq_TSE, feq_TNW, feq_BNE, feq_BSW, feq_BSE, feq_BNW; - real kxyFromfcNEQ_SWT, kyzFromfcNEQ_SWT, kxzFromfcNEQ_SWT, kxxMyyFromfcNEQ_SWT, kxxMzzFromfcNEQ_SWT; - real kxyFromfcNEQ_NWT, kyzFromfcNEQ_NWT, kxzFromfcNEQ_NWT, kxxMyyFromfcNEQ_NWT, kxxMzzFromfcNEQ_NWT; - real kxyFromfcNEQ_NET, kyzFromfcNEQ_NET, kxzFromfcNEQ_NET, kxxMyyFromfcNEQ_NET, kxxMzzFromfcNEQ_NET; - real kxyFromfcNEQ_SET, kyzFromfcNEQ_SET, kxzFromfcNEQ_SET, kxxMyyFromfcNEQ_SET, kxxMzzFromfcNEQ_SET; - real kxyFromfcNEQ_SWB, kyzFromfcNEQ_SWB, kxzFromfcNEQ_SWB, kxxMyyFromfcNEQ_SWB, kxxMzzFromfcNEQ_SWB; - real kxyFromfcNEQ_NWB, kyzFromfcNEQ_NWB, kxzFromfcNEQ_NWB, kxxMyyFromfcNEQ_NWB, kxxMzzFromfcNEQ_NWB; - real kxyFromfcNEQ_NEB, kyzFromfcNEQ_NEB, kxzFromfcNEQ_NEB, kxxMyyFromfcNEQ_NEB, kxxMzzFromfcNEQ_NEB; - real kxyFromfcNEQ_SEB, kyzFromfcNEQ_SEB, kxzFromfcNEQ_SEB, kxxMyyFromfcNEQ_SEB, kxxMzzFromfcNEQ_SEB; - real a0, ax, ay, az, axx, ayy, azz, axy, axz, ayz, b0, bx, by, bz, bxx, byy, bzz, bxy, bxz, byz, c0, cx, cy, cz, cxx, cyy, czz, cxy, cxz, cyz/*, axyz, bxyz, cxyz*/; - - //real x,y,z; - - if(k<kFC) - { - ////////////////////////////////////////////////////////////////////////// - xoff = offFC.x[k]; - yoff = offFC.y[k]; - zoff = offFC.z[k]; - xoff_sq = xoff * xoff; - yoff_sq = yoff * yoff; - zoff_sq = zoff * zoff; - ////////////////////////////////////////////////////////////////////////// - //SWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - unsigned int k0zero= posFSWB[k]; - unsigned int k0w = neighborFX[k0zero]; - unsigned int k0s = neighborFY[k0zero]; - unsigned int k0b = neighborFZ[k0zero]; - unsigned int k0sw = neighborFY[k0w]; - unsigned int k0bw = neighborFZ[k0w]; - unsigned int k0bs = neighborFZ[k0s]; - unsigned int k0bsw = neighborFZ[k0sw]; - ////////////////////////////////////////////////////////////////////////// - //index - unsigned int kzero= k0zero; - unsigned int kw = k0w; - unsigned int ks = k0s; - unsigned int kb = k0b; - unsigned int ksw = k0sw; - unsigned int kbw = k0bw; - unsigned int kbs = k0bs; - unsigned int kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - //vx1_SWB = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_SWB = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_SWB = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_SWB = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_SWB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_SWB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_SWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - - kxyFromfcNEQ_SWB = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SWB*vx2_SWB)); - kyzFromfcNEQ_SWB = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_SWB*vx3_SWB)); - kxzFromfcNEQ_SWB = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_SWB*vx3_SWB)); - kxxMyyFromfcNEQ_SWB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_SWB*vx1_SWB-vx2_SWB*vx2_SWB)); - kxxMzzFromfcNEQ_SWB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_SWB*vx1_SWB-vx3_SWB*vx3_SWB)); - - ////////////////////////////////////////////////////////////////////////// - //SWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - //vx1_SWT = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_SWT = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_SWT = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_SWT = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_SWT = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_SWT = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_SWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - - kxyFromfcNEQ_SWT = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SWT*vx2_SWT)); - kyzFromfcNEQ_SWT = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_SWT*vx3_SWT)); - kxzFromfcNEQ_SWT = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_SWT*vx3_SWT)); - kxxMyyFromfcNEQ_SWT = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_SWT*vx1_SWT-vx2_SWT*vx2_SWT)); - kxxMzzFromfcNEQ_SWT = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_SWT*vx1_SWT-vx3_SWT*vx3_SWT)); - - ////////////////////////////////////////////////////////////////////////// - //SET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - //vx1_SET = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_SET = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_SET = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_SET = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_SET = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_SET = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_SET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - - kxyFromfcNEQ_SET = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SET*vx2_SET)); - kyzFromfcNEQ_SET = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_SET*vx3_SET)); - kxzFromfcNEQ_SET = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_SET*vx3_SET)); - kxxMyyFromfcNEQ_SET = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_SET*vx1_SET-vx2_SET*vx2_SET)); - kxxMzzFromfcNEQ_SET = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_SET*vx1_SET-vx3_SET*vx3_SET)); - - ////////////////////////////////////////////////////////////////////////// - //SEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - //vx1_SEB = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_SEB = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_SEB = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_SEB = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_SEB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_SEB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_SEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - - kxyFromfcNEQ_SEB = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SEB*vx2_SEB)); - kyzFromfcNEQ_SEB = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_SEB*vx3_SEB)); - kxzFromfcNEQ_SEB = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_SEB*vx3_SEB)); - kxxMyyFromfcNEQ_SEB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_SEB*vx1_SEB-vx2_SEB*vx2_SEB)); - kxxMzzFromfcNEQ_SEB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_SEB*vx1_SEB-vx3_SEB*vx3_SEB)); - - ////////////////////////////////////////////////////////////////////////// - //NWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= k0s; - k0w = k0sw; - k0s = neighborFY[k0s]; - k0b = k0bs; - k0sw = neighborFY[k0sw]; - k0bw = k0bsw; - k0bs = neighborFY[k0bs]; - k0bsw = neighborFY[k0bsw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - //vx1_NWB = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_NWB = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_NWB = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_NWB = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_NWB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_NWB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_NWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - - kxyFromfcNEQ_NWB = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NWB*vx2_NWB)); - kyzFromfcNEQ_NWB = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_NWB*vx3_NWB)); - kxzFromfcNEQ_NWB = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_NWB*vx3_NWB)); - kxxMyyFromfcNEQ_NWB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_NWB*vx1_NWB-vx2_NWB*vx2_NWB)); - kxxMzzFromfcNEQ_NWB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_NWB*vx1_NWB-vx3_NWB*vx3_NWB)); - - ////////////////////////////////////////////////////////////////////////// - //NWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - //vx1_NWT = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_NWT = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_NWT = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_NWT = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_NWT = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_NWT = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_NWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - - kxyFromfcNEQ_NWT = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NWT*vx2_NWT)); - kyzFromfcNEQ_NWT = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_NWT*vx3_NWT)); - kxzFromfcNEQ_NWT = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_NWT*vx3_NWT)); - kxxMyyFromfcNEQ_NWT = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_NWT*vx1_NWT-vx2_NWT*vx2_NWT)); - kxxMzzFromfcNEQ_NWT = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_NWT*vx1_NWT-vx3_NWT*vx3_NWT)); - - ////////////////////////////////////////////////////////////////////////// - //NET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - //vx1_NET = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_NET = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_NET = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_NET = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_NET = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_NET = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_NET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - - kxyFromfcNEQ_NET = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NET*vx2_NET)); - kyzFromfcNEQ_NET = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_NET*vx3_NET)); - kxzFromfcNEQ_NET = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_NET*vx3_NET)); - kxxMyyFromfcNEQ_NET = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_NET*vx1_NET-vx2_NET*vx2_NET)); - kxxMzzFromfcNEQ_NET = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_NET*vx1_NET-vx3_NET*vx3_NET)); - - ////////////////////////////////////////////////////////////////////////// - //NEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - //vx1_NEB = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_NEB = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_NEB = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_NEB = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_NEB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_NEB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_NEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - - kxyFromfcNEQ_NEB = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NEB*vx2_NEB)); - kyzFromfcNEQ_NEB = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_NEB*vx3_NEB)); - kxzFromfcNEQ_NEB = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_NEB*vx3_NEB)); - kxxMyyFromfcNEQ_NEB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_NEB*vx1_NEB-vx2_NEB*vx2_NEB)); - kxxMzzFromfcNEQ_NEB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_NEB*vx1_NEB-vx3_NEB*vx3_NEB)); - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - ////for all _SWB _SET _NWT _NEB - ////Version 1 fixed - //ayz= -kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB - kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT - kyzFromfcNEQ_SET - kyzFromfcNEQ_NEB; - //bxz= -kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB + kxzFromfcNEQ_SWB - kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET - kxzFromfcNEQ_NEB - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - //cxy= kxyFromfcNEQ_SWB - kxyFromfcNEQ_NWT - kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB - kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - //ax = ayz + four*( - vx1_SWB + vx1_SET - vx1_NWT + vx1_NEB); - //by = bxz + four*( - vx2_SWB - vx2_SET + vx2_NWT + vx2_NEB); - //cz = cxy + four*( - vx3_SWB + vx3_SET + vx3_NWT - vx3_NEB); - //axy= two*( vx1_SWB - vx1_NWT - vx1_SET + vx1_NEB + vx3_SWB + vx3_NWT - vx3_SET - vx3_NEB) - kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB; - //axz= two*( vx1_SWB - vx1_NWT + vx1_SET - vx1_NEB + vx2_SWB + vx2_NWT - vx2_SET - vx2_NEB) - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB + kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB; - //bxy= two*( vx2_SWB - vx2_NWT - vx2_SET + vx2_NEB + vx3_SWB - vx3_NWT + vx3_SET - vx3_NEB) + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - //ay = axz + four*( - vx1_SWB - vx1_SET + vx1_NWT + vx1_NEB); - //az = axy + four*( - vx1_SWB + vx1_SET + vx1_NWT - vx1_NEB); - //bz = bxy + four*( - vx2_SWB + vx2_SET + vx2_NWT - vx2_NEB); - //bx = two*(kxyFromfcNEQ_SWB + kxyFromfcNEQ_SET + kxyFromfcNEQ_NWT + kxyFromfcNEQ_NEB) - ay; - //cy = two*(kyzFromfcNEQ_SWB + kyzFromfcNEQ_SET + kyzFromfcNEQ_NWT + kyzFromfcNEQ_NEB) - bz; - //cx = two*(kxzFromfcNEQ_SWB + kxzFromfcNEQ_SET + kxzFromfcNEQ_NWT + kxzFromfcNEQ_NEB) - az; - //byz= bx + four*( vx2_SWB - vx2_SET + vx2_NWT - vx2_NEB); - //cyz= cx + four*( vx3_SWB - vx3_SET + vx3_NWT - vx3_NEB); - //cxz= cy + four*( vx3_SWB + vx3_SET - vx3_NWT - vx3_NEB); - //axx= bz + four*( vx2_SWB - vx2_SET - vx2_NWT + vx2_NEB) + two*(-kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_NEB); - //ayy= four*( -vx2_SWB + vx2_SET + vx2_NWT - vx2_NEB) + two*(-kxyFromfcNEQ_SWB - kxyFromfcNEQ_SET + kxyFromfcNEQ_NWT + kxyFromfcNEQ_NEB) - bz; - //azz= four*( -vx3_SWB - vx3_SET + vx3_NWT + vx3_NEB) + two*(-kxzFromfcNEQ_SWB + kxzFromfcNEQ_SET + kxzFromfcNEQ_NWT - kxzFromfcNEQ_NEB) - cy; - //bxx= four*( -vx1_SWB + vx1_SET + vx1_NWT - vx1_NEB) + two*(-kxyFromfcNEQ_SWB + kxyFromfcNEQ_SET - kxyFromfcNEQ_NWT + kxyFromfcNEQ_NEB) - az; - //byy= az + four*( vx1_SWB - vx1_SET - vx1_NWT + vx1_NEB) + two*(kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_NEB); - //bzz= four*( -vx3_SWB + vx3_SET - vx3_NWT + vx3_NEB) + two*(-kyzFromfcNEQ_SWB + kyzFromfcNEQ_SET + kyzFromfcNEQ_NWT - kyzFromfcNEQ_NEB) - cx; - //cxx= four*( -vx1_SWB - vx1_SET + vx1_NWT + vx1_NEB) + two*(-kxzFromfcNEQ_SWB + kxzFromfcNEQ_SET - kxzFromfcNEQ_NWT + kxzFromfcNEQ_NEB) - ay; - //cyy= four*( -vx2_SWB + vx2_SET - vx2_NWT + vx2_NEB) + two*(-kyzFromfcNEQ_SWB - kyzFromfcNEQ_SET + kyzFromfcNEQ_NWT + kyzFromfcNEQ_NEB) - bx; - //czz= ay + four*(vx1_SWB + vx1_SET - vx1_NWT - vx1_NEB) + two*(kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_NEB); - //a0 = eight*( vx1_SWB + vx1_NWT + vx1_SET + vx1_NEB) + two*( kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_NEB) + two*(kxzFromfcNEQ_SWB - kxzFromfcNEQ_SET - kxzFromfcNEQ_NWT + kxzFromfcNEQ_NEB) - ayy; - //b0 = eight*( vx2_SWB + vx2_NWT + vx2_SET + vx2_NEB) + two*(-kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_NEB) + two*( kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_NEB) + two*(kyzFromfcNEQ_SWB - kyzFromfcNEQ_SET - kyzFromfcNEQ_NWT + kyzFromfcNEQ_NEB) - bxx; - //c0 = eight*( vx3_SWB + vx3_NWT + vx3_SET + vx3_NEB) + two*(-kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_NEB) + two*(kxzFromfcNEQ_SWB - kxzFromfcNEQ_SET + kxzFromfcNEQ_NWT - kxzFromfcNEQ_NEB) - cyy; - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - ////ayz= -kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB - kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT - kyzFromfcNEQ_SET - kyzFromfcNEQ_NEB; - ////bxz= -kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB + kxzFromfcNEQ_SWB - kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET - kxzFromfcNEQ_NEB - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - ////cxy= kxyFromfcNEQ_SWB - kxyFromfcNEQ_NWT - kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB - kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - ////axy= two*( vx1_SWB - vx1_NWT - vx1_SET + vx1_NEB + vx3_SWB + vx3_NWT - vx3_SET - vx3_NEB) - kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB; - ////axz= two*( vx1_SWB - vx1_NWT + vx1_SET - vx1_NEB + vx2_SWB + vx2_NWT - vx2_SET - vx2_NEB) - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB + kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB; - ////bxy= two*( vx2_SWB - vx2_NWT - vx2_SET + vx2_NEB + vx3_SWB - vx3_NWT + vx3_SET - vx3_NEB) + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - ////a0 = eight*( vx1_SWB + vx1_NWT + vx1_SET + vx1_NEB) + two*(vx2_SWB - vx2_NWT - vx2_SET + vx2_NEB + vx3_SWB - vx3_NWT + vx3_SET - vx3_NEB) + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + 2.*(kxyFromfcNEQ_SWB - kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB + kxzFromfcNEQ_SWB - kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB) + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - ////ax = four*(-vx1_SWB - vx1_NWT + vx1_SET + vx1_NEB) - kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB - kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT - kyzFromfcNEQ_SET - kyzFromfcNEQ_NEB; - ////ay = two*(-vx1_SWB + vx1_NWT - vx1_SET + vx1_NEB + vx2_SWB + vx2_NWT - vx2_SET - vx2_NEB) - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB + kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB; - ////az = two*(-vx1_SWB + vx1_NWT + vx1_SET - vx1_NEB + vx3_SWB + vx3_NWT - vx3_SET - vx3_NEB) - kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB; - ////axx= two*( vx2_SWB - vx2_NWT - vx2_SET + vx2_NEB + vx3_SWB - vx3_NWT + vx3_SET - vx3_NEB) - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - ////ayy= two*(-vx2_SWB + vx2_NWT + vx2_SET - vx2_NEB - vx3_SWB + vx3_NWT - vx3_SET + vx3_NEB) - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + two*(-kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT - kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB) - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT - kyzFromfcNEQ_SET - kyzFromfcNEQ_NEB; - ////azz= two*(-vx2_SWB + vx2_NWT + vx2_SET - vx2_NEB - vx3_SWB + vx3_NWT - vx3_SET + vx3_NEB) + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + two*(-kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET - kxzFromfcNEQ_NEB) - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT - kyzFromfcNEQ_SET - kyzFromfcNEQ_NEB; - ////b0 = two*( vx1_SWB - vx1_NWT - vx1_SET + vx1_NEB + four*(vx2_SWB + vx2_NWT + vx2_SET + vx2_NEB) + vx3_SWB + vx3_NWT - vx3_SET - vx3_NEB - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB) + kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + two*(kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT - kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB) + kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB + two*(kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT - kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB); - ////bx = two*( vx1_SWB - vx1_NWT + vx1_SET - vx1_NEB - vx2_SWB - vx2_NWT + vx2_SET + vx2_NEB) + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB + kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB; - ////by = four*(-vx2_SWB + vx2_NWT - vx2_SET + vx2_NEB) - kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB + kxzFromfcNEQ_SWB - kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET - kxzFromfcNEQ_NEB - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - ////bz = two*(-vx2_SWB + vx2_NWT + vx2_SET - vx2_NEB + vx3_SWB - vx3_NWT + vx3_SET - vx3_NEB) + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - ////bxx= two*(-vx1_SWB + vx1_NWT + vx1_SET - vx1_NEB - vx3_SWB - vx3_NWT + vx3_SET + vx3_NEB) + kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + two*(-kxyFromfcNEQ_SWB - kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB) - kxzFromfcNEQ_SWB - kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET - kxzFromfcNEQ_NEB; - ////byy= two*( vx1_SWB - vx1_NWT - vx1_SET + vx1_NEB + vx3_SWB + vx3_NWT - vx3_SET - vx3_NEB + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB) - kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB; - ////bzz= two*(-vx1_SWB + vx1_NWT + vx1_SET - vx1_NEB - vx3_SWB - vx3_NWT + vx3_SET + vx3_NEB) - kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB - kxzFromfcNEQ_SWB - kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET - kxzFromfcNEQ_NEB + two*(-kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET - kyzFromfcNEQ_NEB); - ////byz= two*( vx1_SWB - vx1_NWT + vx1_SET - vx1_NEB + vx2_SWB + vx2_NWT - vx2_SET - vx2_NEB) + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB + kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB; - ////c0 = two*( vx1_SWB - vx1_NWT + vx1_SET - vx1_NEB + vx2_SWB + vx2_NWT - vx2_SET - vx2_NEB) + eight*(vx3_SWB + vx3_NWT + vx3_SET + vx3_NEB) + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB + two*(-kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB) + kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB + two*(kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET - kxzFromfcNEQ_NEB + kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET - kyzFromfcNEQ_NEB); - ////cx = two*( vx1_SWB - vx1_NWT - vx1_SET + vx1_NEB - vx3_SWB - vx3_NWT + vx3_SET + vx3_NEB) + kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB; - ////cy = two*( vx2_SWB - vx2_NWT - vx2_SET + vx2_NEB - vx3_SWB + vx3_NWT - vx3_SET + vx3_NEB) - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - ////cz = four*(-vx3_SWB + vx3_NWT + vx3_SET - vx3_NEB) + kxyFromfcNEQ_SWB - kxyFromfcNEQ_NWT - kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB - kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - ////cxx= two*(-vx1_SWB + vx1_NWT - vx1_SET + vx1_NEB - vx2_SWB - vx2_NWT + vx2_SET + vx2_NEB) + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB - kxyFromfcNEQ_SWB - kxyFromfcNEQ_NWT - kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB + two*(-kxzFromfcNEQ_SWB - kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB); - ////cyy= two*(-vx1_SWB + vx1_NWT - vx1_SET + vx1_NEB - vx2_SWB - vx2_NWT + vx2_SET + vx2_NEB) - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB - kxyFromfcNEQ_SWB - kxyFromfcNEQ_NWT - kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB + two*(-kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT - kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB); - ////czz= two*( vx1_SWB - vx1_NWT + vx1_SET - vx1_NEB + vx2_SWB + vx2_NWT - vx2_SET - vx2_NEB) - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB + two*(kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB) + kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB; - ////cxz= two*( vx2_SWB - vx2_NWT - vx2_SET + vx2_NEB + vx3_SWB - vx3_NWT + vx3_SET - vx3_NEB) - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - ////cyz= two*( vx1_SWB - vx1_NWT - vx1_SET + vx1_NEB + vx3_SWB + vx3_NWT - vx3_SET - vx3_NEB) + kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB; - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //// (_SWT _SEB _NWB _NET) - ////merged - //real tayz = kxyFromfcNEQ_SWT - kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET - kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB - kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB - kyzFromfcNEQ_SEB - kyzFromfcNEQ_NET; - //real tbxz = kxyFromfcNEQ_SWT - kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET + kxzFromfcNEQ_SWT - kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB - kxzFromfcNEQ_NET - kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET; - //real tcxy =-kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB - kxyFromfcNEQ_NET - kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB - kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET - kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET; - //real tax = four*(-vx1_SWT + vx1_SEB - vx1_NWB + vx1_NET) - tayz; - //real tby = four*(-vx2_SWT - vx2_SEB + vx2_NWB + vx2_NET) - tbxz; - //real tcz = four*( vx3_SWT - vx3_SEB - vx3_NWB + vx3_NET) - tcxy; - //real taxy = two*( vx1_SWT - vx1_NWB - vx1_SEB + vx1_NET - vx3_SWT - vx3_NWB + vx3_SEB + vx3_NET) - kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - kxzFromfcNEQ_SWT - kxzFromfcNEQ_NWB - kxzFromfcNEQ_SEB - kxzFromfcNEQ_NET; - //real taxz = two*(-vx1_SWT + vx1_NWB - vx1_SEB + vx1_NET - vx2_SWT - vx2_NWB + vx2_SEB + vx2_NET) + kxxMyyFromfcNEQ_SWT - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET - kxyFromfcNEQ_SWT - kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB - kxyFromfcNEQ_NET; - //real tbxy = two*( vx2_SWT - vx2_NWB - vx2_SEB + vx2_NET - vx3_SWT + vx3_NWB - vx3_SEB + vx3_NET) + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NET - kxxMzzFromfcNEQ_SWT - kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB - kyzFromfcNEQ_SEB - kyzFromfcNEQ_NET; - //real tay = four*(-vx1_SWT - vx1_SEB + vx1_NWB + vx1_NET) - taxz; - //real taz = four*( vx1_SWT - vx1_SEB - vx1_NWB + vx1_NET) - taxy; - //real tbz = four*( vx2_SWT - vx2_SEB - vx2_NWB + vx2_NET) - tbxy; - //real tbx = two*(kxyFromfcNEQ_SWT + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NWB + kxyFromfcNEQ_NET) - tay; - //real tcy = two*(kyzFromfcNEQ_SWT + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NWB + kyzFromfcNEQ_NET) - tbz; - //real tcx = two*(kxzFromfcNEQ_SWT + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NWB + kxzFromfcNEQ_NET) - taz; - //real tbyz = four*(-vx2_SWT + vx2_SEB - vx2_NWB + vx2_NET) - tbx; - //real tcyz = four*(-vx3_SWT + vx3_SEB - vx3_NWB + vx3_NET) - tcx; - //real tcxz = four*(-vx3_SWT - vx3_SEB + vx3_NWB + vx3_NET) - tcy; - //real taxx = four*( vx2_SWT - vx2_SEB - vx2_NWB + vx2_NET) + two*(-kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NET) - tbz; - //real tayy = four*(-vx2_SWT + vx2_SEB + vx2_NWB - vx2_NET) + two*(-kxyFromfcNEQ_SWT - kxyFromfcNEQ_SEB + kxyFromfcNEQ_NWB + kxyFromfcNEQ_NET ) + tbz; - //real tazz = four*( vx3_SWT + vx3_SEB - vx3_NWB - vx3_NET) + two*( kxzFromfcNEQ_SWT - kxzFromfcNEQ_SEB - kxzFromfcNEQ_NWB + kxzFromfcNEQ_NET ) + tcy; - //real tbxx = four*(-vx1_SWT + vx1_SEB + vx1_NWB - vx1_NET) + two*(-kxyFromfcNEQ_SWT + kxyFromfcNEQ_SEB - kxyFromfcNEQ_NWB + kxyFromfcNEQ_NET ) + taz; - //real tbyy = four*( vx1_SWT - vx1_SEB - vx1_NWB + vx1_NET) + two*( kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NET) - taz; - //real tbzz = four*( vx3_SWT - vx3_SEB + vx3_NWB - vx3_NET) + two*( kyzFromfcNEQ_SWT - kyzFromfcNEQ_SEB - kyzFromfcNEQ_NWB + kyzFromfcNEQ_NET ) + tcx; - //real tcxx = four*( vx1_SWT + vx1_SEB - vx1_NWB - vx1_NET) + two*(-kxzFromfcNEQ_SWT + kxzFromfcNEQ_SEB - kxzFromfcNEQ_NWB + kxzFromfcNEQ_NET ) + tay; - //real tcyy = four*( vx2_SWT - vx2_SEB + vx2_NWB - vx2_NET) + two*(-kyzFromfcNEQ_SWT - kyzFromfcNEQ_SEB + kyzFromfcNEQ_NWB + kyzFromfcNEQ_NET ) + tbx; - //real tczz = four*(-vx1_SWT - vx1_SEB + vx1_NWB + vx1_NET) + two*(-kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NET) - tay; - //real ta0 = eight*( vx1_SWT + vx1_NWB + vx1_SEB + vx1_NET) + two*( kxxMzzFromfcNEQ_SWT - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NET) + two*(-kxzFromfcNEQ_SWT + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NWB - kxzFromfcNEQ_NET ) - tayy; - //real tb0 = eight*( vx2_SWT + vx2_NWB + vx2_SEB + vx2_NET) + two*(-kxxMyyFromfcNEQ_SWT - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NET) + two*( kxyFromfcNEQ_SWT - kxyFromfcNEQ_SEB + kxyFromfcNEQ_NWB - kxyFromfcNEQ_NET ) - tbzz; - //real tc0 = eight*( vx3_SWT + vx3_NWB + vx3_SEB + vx3_NET) + two*(-kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NET) + two*( kxzFromfcNEQ_SWT - kxzFromfcNEQ_SEB + kxzFromfcNEQ_NWB - kxzFromfcNEQ_NET ) - tcyy; - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //a0 += ta0 ; - //ax += tax ; - //ay += tay ; - //az += taz ; - //axx += taxx ; - //ayy += tayy ; - //azz += tazz ; - //axy += taxy ; - //axz += taxz ; - //ayz += tayz ; - //b0 += tb0 ; - //bx += tbx ; - //by += tby ; - //bz += tbz ; - //bxx += tbxx ; - //byy += tbyy ; - //bzz += tbzz ; - //bxy += tbxy ; - //bxz += tbxz ; - //byz += tbyz ; - //c0 += tc0 ; - //cx += tcx ; - //cy += tcy ; - //cz += tcz ; - //cxx += tcxx ; - //cyy += tcyy ; - //czz += tczz ; - //cxy += tcxy ; - //cxz += tcxz ; - //cyz += tcyz ; - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - ////a0 += eight*( vx1_SWT + vx1_NWB + vx1_SEB + vx1_NET) + two*(vx2_SWT - vx2_NWB - vx2_SEB + vx2_NET - vx3_SWT + vx3_NWB - vx3_SEB + vx3_NET) + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NET + two*(kxyFromfcNEQ_SWT - kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB - kxyFromfcNEQ_NET - kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB - kxzFromfcNEQ_NET) - kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB - kyzFromfcNEQ_SEB - kyzFromfcNEQ_NET; - ////ax += four*(-vx1_SWT - vx1_NWB + vx1_SEB + vx1_NET) - kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB - kxyFromfcNEQ_NET + kxzFromfcNEQ_SWT - kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB - kxzFromfcNEQ_NET - kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET; - ////ay += two*(-vx1_SWT + vx1_NWB - vx1_SEB + vx1_NET + vx2_SWT + vx2_NWB - vx2_SEB - vx2_NET) - kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NET + kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET; - ////az += two*( vx1_SWT - vx1_NWB - vx1_SEB + vx1_NET + vx3_SWT + vx3_NWB - vx3_SEB - vx3_NET) + kxxMzzFromfcNEQ_SWT - kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NET + kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET; - ////axx += two*( vx2_SWT - vx2_NWB - vx2_SEB + vx2_NET - vx3_SWT + vx3_NWB - vx3_SEB + vx3_NET) - kxxMyyFromfcNEQ_SWT - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET - kxxMzzFromfcNEQ_SWT - kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB - kyzFromfcNEQ_SEB - kyzFromfcNEQ_NET; - ////ayy += two*(-vx2_SWT + vx2_NWB + vx2_SEB - vx2_NET + vx3_SWT - vx3_NWB + vx3_SEB - vx3_NET) - kxxMyyFromfcNEQ_SWT - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NET + two*(-kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET) + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET; - ////azz += two*(-vx2_SWT + vx2_NWB + vx2_SEB - vx2_NET + vx3_SWT - vx3_NWB + vx3_SEB - vx3_NET) + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NET - kxxMzzFromfcNEQ_SWT - kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET + two*( kxzFromfcNEQ_SWT - kxzFromfcNEQ_NWB - kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET) + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET; - ////axy += two*( vx1_SWT - vx1_NWB - vx1_SEB + vx1_NET - vx3_SWT - vx3_NWB + vx3_SEB + vx3_NET) - kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - kxzFromfcNEQ_SWT - kxzFromfcNEQ_NWB - kxzFromfcNEQ_SEB - kxzFromfcNEQ_NET; - ////axz += two*(-vx1_SWT + vx1_NWB - vx1_SEB + vx1_NET - vx2_SWT - vx2_NWB + vx2_SEB + vx2_NET) + kxxMyyFromfcNEQ_SWT - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET - kxyFromfcNEQ_SWT - kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB - kxyFromfcNEQ_NET; - ////ayz += kxyFromfcNEQ_SWT - kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET - kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB - kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB - kyzFromfcNEQ_SEB - kyzFromfcNEQ_NET; - ////b0 += two*( vx1_SWT - vx1_NWB - vx1_SEB + vx1_NET + four*(vx2_SWT + vx2_NWB + vx2_SEB + vx2_NET) - vx3_SWT - vx3_NWB + vx3_SEB + vx3_NET - kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET) + kxxMzzFromfcNEQ_SWT - kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NET + two*(kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB - kxyFromfcNEQ_NET) - kxzFromfcNEQ_SWT - kxzFromfcNEQ_NWB - kxzFromfcNEQ_SEB - kxzFromfcNEQ_NET + two*(-kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB - kyzFromfcNEQ_NET); - ////bx += two*( vx1_SWT - vx1_NWB + vx1_SEB - vx1_NET - vx2_SWT - vx2_NWB + vx2_SEB + vx2_NET) + kxxMyyFromfcNEQ_SWT - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET; - ////by += four*(-vx2_SWT + vx2_NWB - vx2_SEB + vx2_NET) - kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB - kxyFromfcNEQ_NET - kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB - kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB - kyzFromfcNEQ_SEB - kyzFromfcNEQ_NET; - ////bz += two*( vx2_SWT - vx2_NWB - vx2_SEB + vx2_NET + vx3_SWT - vx3_NWB + vx3_SEB - vx3_NET) - kxxMyyFromfcNEQ_SWT - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET; - ////bxx += two*(-vx1_SWT + vx1_NWB + vx1_SEB - vx1_NET + vx3_SWT + vx3_NWB - vx3_SEB - vx3_NET) + kxxMzzFromfcNEQ_SWT - kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NET + two*(-kxyFromfcNEQ_SWT - kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET) + kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET; - ////byy += two*( vx1_SWT - vx1_NWB - vx1_SEB + vx1_NET - vx3_SWT - vx3_NWB + vx3_SEB + vx3_NET + kxxMyyFromfcNEQ_SWT - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NET) - kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - kxzFromfcNEQ_SWT - kxzFromfcNEQ_NWB - kxzFromfcNEQ_SEB - kxzFromfcNEQ_NET; - ////bzz += two*(-vx1_SWT + vx1_NWB + vx1_SEB - vx1_NET + vx3_SWT + vx3_NWB - vx3_SEB - vx3_NET) - kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET + kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET + two*(kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB - kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET); - ////bxy += two*( vx2_SWT - vx2_NWB - vx2_SEB + vx2_NET - vx3_SWT + vx3_NWB - vx3_SEB + vx3_NET) + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NET - kxxMzzFromfcNEQ_SWT - kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB - kyzFromfcNEQ_SEB - kyzFromfcNEQ_NET; - ////bxz += kxyFromfcNEQ_SWT - kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET + kxzFromfcNEQ_SWT - kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB - kxzFromfcNEQ_NET - kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET; - ////byz += two*(-vx1_SWT + vx1_NWB - vx1_SEB + vx1_NET - vx2_SWT - vx2_NWB + vx2_SEB + vx2_NET) - kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NET - kxyFromfcNEQ_SWT - kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB - kxyFromfcNEQ_NET; - ////c0 += two*(-vx1_SWT + vx1_NWB - vx1_SEB + vx1_NET - vx2_SWT - vx2_NWB + vx2_SEB + vx2_NET) + eight*(vx3_SWT + vx3_NWB + vx3_SEB + vx3_NET) - kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NET + two*(kxxMzzFromfcNEQ_SWT - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET) - kxyFromfcNEQ_SWT - kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB - kxyFromfcNEQ_NET + two*(kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB - kxzFromfcNEQ_SEB - kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB - kyzFromfcNEQ_NET); - ////cx += two*(-vx1_SWT + vx1_NWB + vx1_SEB - vx1_NET - vx3_SWT - vx3_NWB + vx3_SEB + vx3_NET) - kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET + kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET; - ////cy += two*(-vx2_SWT + vx2_NWB + vx2_SEB - vx2_NET - vx3_SWT + vx3_NWB - vx3_SEB + vx3_NET) + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NET - kxxMzzFromfcNEQ_SWT - kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET; - ////cz += four*( vx3_SWT - vx3_NWB - vx3_SEB + vx3_NET) + kxyFromfcNEQ_SWT - kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET + kxzFromfcNEQ_SWT - kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB - kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB - kyzFromfcNEQ_SEB - kyzFromfcNEQ_NET; - ////cxx += two*( vx1_SWT - vx1_NWB + vx1_SEB - vx1_NET + vx2_SWT + vx2_NWB - vx2_SEB - vx2_NET) - kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NET + kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET + two*(-kxzFromfcNEQ_SWT - kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET); - ////cyy += two*( vx1_SWT - vx1_NWB + vx1_SEB - vx1_NET + vx2_SWT + vx2_NWB - vx2_SEB - vx2_NET) + kxxMyyFromfcNEQ_SWT - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET + two*(-kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB - kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET); - ////czz += two*(-vx1_SWT + vx1_NWB - vx1_SEB + vx1_NET - vx2_SWT - vx2_NWB + vx2_SEB + vx2_NET) + kxxMyyFromfcNEQ_SWT - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + two*(-kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NET) - kxyFromfcNEQ_SWT - kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB - kxyFromfcNEQ_NET; - ////cxy += -kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB - kxyFromfcNEQ_NET - kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB - kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET - kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET; - ////cxz += two*( vx2_SWT - vx2_NWB - vx2_SEB + vx2_NET - vx3_SWT + vx3_NWB - vx3_SEB + vx3_NET) - kxxMyyFromfcNEQ_SWT - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NET - kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB - kyzFromfcNEQ_SEB - kyzFromfcNEQ_NET; - ////cyz += two*( vx1_SWT - vx1_NWB - vx1_SEB + vx1_NET - vx3_SWT - vx3_NWB + vx3_SEB + vx3_NET) + kxxMzzFromfcNEQ_SWT - kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NET - kxzFromfcNEQ_SWT - kxzFromfcNEQ_NWB - kxzFromfcNEQ_SEB - kxzFromfcNEQ_NET; - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //a0 *= 0.015625f;// /=two; && /= thirtytwo; - //ax *= 0.0625f; // /=two; && /= eight; - //ay *= 0.0625f; // /=two; && /= eight; - //az *= 0.0625f; // /=two; && /= eight; - //axx *= 0.0625f; // /=two; && /= eight; - //ayy *= 0.0625f; // /=two; && /= eight; - //azz *= 0.0625f; // /=two; && /= eight; - //axy *= 0.125f; // /=two; && /= four; - //axz *= 0.125f; // /=two; && /= four; - //ayz *= 0.125f; // /=two; && /= four; - //b0 *= 0.015625f;// /=two; && /= thirtytwo; - //bx *= 0.0625f; // /=two; && /= eight; - //by *= 0.0625f; // /=two; && /= eight; - //bz *= 0.0625f; // /=two; && /= eight; - //bxx *= 0.0625f; // /=two; && /= eight; - //byy *= 0.0625f; // /=two; && /= eight; - //bzz *= 0.0625f; // /=two; && /= eight; - //bxy *= 0.125f; // /=two; && /= four; - //bxz *= 0.125f; // /=two; && /= four; - //byz *= 0.125f; // /=two; && /= four; - //c0 *= 0.015625f;// /=two; && /= thirtytwo; - //cx *= 0.0625f; // /=two; && /= eight; - //cy *= 0.0625f; // /=two; && /= eight; - //cz *= 0.0625f; // /=two; && /= eight; - //cxx *= 0.0625f; // /=two; && /= eight; - //cyy *= 0.0625f; // /=two; && /= eight; - //czz *= 0.0625f; // /=two; && /= eight; - //cxy *= 0.125f; // /=two; && /= four; - //cxz *= 0.125f; // /=two; && /= four; - //cyz *= 0.125f; // /=two; && /= four; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //1 - ////////////////////////////////////////////////////////////////////////// - //a0 = (-kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - - // kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT - - // kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - - // kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - - // two*kxyFromfcNEQ_NEB - two*kxyFromfcNEQ_NET - two*kxyFromfcNEQ_NWB - two*kxyFromfcNEQ_NWT - - // two*kxyFromfcNEQ_SEB - two*kxyFromfcNEQ_SET - two*kxyFromfcNEQ_SWB - two*kxyFromfcNEQ_SWT - - // two*kxzFromfcNEQ_NEB - two*kxzFromfcNEQ_NET - two*kxzFromfcNEQ_NWB - two*kxzFromfcNEQ_NWT - - // two*kxzFromfcNEQ_SEB - two*kxzFromfcNEQ_SET - two*kxzFromfcNEQ_SWB - two*kxzFromfcNEQ_SWT + - // eight*vx1_NEB + eight*vx1_NET + eight*vx1_NWB + eight*vx1_NWT + - // eight*vx1_SEB + eight*vx1_SET + eight*vx1_SWB + eight*vx1_SWT + - // two*vx2_NEB + two*vx2_NET - two*vx2_NWB - two*vx2_NWT - - // two*vx2_SEB - two*vx2_SET + two*vx2_SWB + two*vx2_SWT - - // two*vx3_NEB + two*vx3_NET + two*vx3_NWB - two*vx3_NWT - - // two*vx3_SEB + two*vx3_SET + two*vx3_SWB - two*vx3_SWT)/sixtyfour; - //b0 = (two*kxxMyyFromfcNEQ_NEB + two*kxxMyyFromfcNEQ_NET + two*kxxMyyFromfcNEQ_NWB + two*kxxMyyFromfcNEQ_NWT - - // two*kxxMyyFromfcNEQ_SEB - two*kxxMyyFromfcNEQ_SET - two*kxxMyyFromfcNEQ_SWB - two*kxxMyyFromfcNEQ_SWT - - // kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + - // kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - - // two*kxyFromfcNEQ_NEB - two*kxyFromfcNEQ_NET - two*kxyFromfcNEQ_NWB - two*kxyFromfcNEQ_NWT - - // two*kxyFromfcNEQ_SEB - two*kxyFromfcNEQ_SET - two*kxyFromfcNEQ_SWB - two*kxyFromfcNEQ_SWT - - // two*kyzFromfcNEQ_NEB - two*kyzFromfcNEQ_NET - two*kyzFromfcNEQ_NWB - two*kyzFromfcNEQ_NWT - - // two*kyzFromfcNEQ_SEB - two*kyzFromfcNEQ_SET - two*kyzFromfcNEQ_SWB - two*kyzFromfcNEQ_SWT + - // two*vx1_NEB + two*vx1_NET - two*vx1_NWB - two*vx1_NWT - - // two*vx1_SEB - two*vx1_SET + two*vx1_SWB + two*vx1_SWT + - // eight*vx2_NEB + eight*vx2_NET + eight*vx2_NWB + eight*vx2_NWT + - // eight*vx2_SEB + eight*vx2_SET + eight*vx2_SWB + eight*vx2_SWT - - // two*vx3_NEB + two*vx3_NET - two*vx3_NWB + two*vx3_NWT + - // two*vx3_SEB - two*vx3_SET + two*vx3_SWB - two*vx3_SWT)/sixtyfour; - //c0 = (kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + - // kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT - - // two*kxxMzzFromfcNEQ_NEB + two*kxxMzzFromfcNEQ_NET - two*kxxMzzFromfcNEQ_NWB + two*kxxMzzFromfcNEQ_NWT - - // two*kxxMzzFromfcNEQ_SEB + two*kxxMzzFromfcNEQ_SET - two*kxxMzzFromfcNEQ_SWB + two*kxxMzzFromfcNEQ_SWT - - // two*kxzFromfcNEQ_NEB - two*kxzFromfcNEQ_NET - two*kxzFromfcNEQ_NWB - two*kxzFromfcNEQ_NWT - - // two*kxzFromfcNEQ_SEB - two*kxzFromfcNEQ_SET - two*kxzFromfcNEQ_SWB - two*kxzFromfcNEQ_SWT - - // two*kyzFromfcNEQ_NEB - two*kyzFromfcNEQ_NET - two*kyzFromfcNEQ_NWB - two*kyzFromfcNEQ_NWT - - // two*kyzFromfcNEQ_SEB - two*kyzFromfcNEQ_SET - two*kyzFromfcNEQ_SWB - two*kyzFromfcNEQ_SWT - - // two*vx1_NEB + two*vx1_NET + two*vx1_NWB - two*vx1_NWT - - // two*vx1_SEB + two*vx1_SET + two*vx1_SWB - two*vx1_SWT - - // two*vx2_NEB + two*vx2_NET - two*vx2_NWB + two*vx2_NWT + - // two*vx2_SEB - two*vx2_SET + two*vx2_SWB - two*vx2_SWT + - // eight*vx3_NEB + eight*vx3_NET + eight*vx3_NWB + eight*vx3_NWT + - // eight*vx3_SEB + eight*vx3_SET + eight*vx3_SWB + eight*vx3_SWT)/sixtyfour; - //ax = (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT + vx1_SEB + vx1_SET - vx1_SWB - vx1_SWT)/four; - //bx = (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT + vx2_SEB + vx2_SET - vx2_SWB - vx2_SWT)/four; - //cx = (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT + vx3_SEB + vx3_SET - vx3_SWB - vx3_SWT)/four; - //axx= (kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + - // kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT + - // kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + - // kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + - // two*vx2_NEB + two*vx2_NET - two*vx2_NWB - two*vx2_NWT - - // two*vx2_SEB - two*vx2_SET + two*vx2_SWB + two*vx2_SWT - - // two*vx3_NEB + two*vx3_NET + two*vx3_NWB - two*vx3_NWT - - // two*vx3_SEB + two*vx3_SET + two*vx3_SWB - two*vx3_SWT)/sixteen; - //bxx= (-sixteen*kxxMzzFromfcNEQ_NEB - sixteen*kxxMzzFromfcNEQ_NET - sixteen*kxxMzzFromfcNEQ_NWB - sixteen*kxxMzzFromfcNEQ_NWT + - // sixteen*kxxMzzFromfcNEQ_SEB + sixteen*kxxMzzFromfcNEQ_SET + sixteen*kxxMzzFromfcNEQ_SWB + sixteen*kxxMzzFromfcNEQ_SWT + - // thirtythree*kxyFromfcNEQ_NEB + thirtythree*kxyFromfcNEQ_NET + thirtythree*kxyFromfcNEQ_NWB + thirtythree*kxyFromfcNEQ_NWT + - // thirtythree*kxyFromfcNEQ_SEB + thirtythree*kxyFromfcNEQ_SET + thirtythree*kxyFromfcNEQ_SWB + thirtythree*kxyFromfcNEQ_SWT - - // thirtyfour*vx1_NEB - thirtyfour*vx1_NET + thirtyfour*vx1_NWB + thirtyfour*vx1_NWT + - // thirtyfour*vx1_SEB + thirtyfour*vx1_SET - thirtyfour*vx1_SWB - thirtyfour*vx1_SWT + - // thirtytwo*vx3_NEB - thirtytwo*vx3_NET + thirtytwo*vx3_NWB - thirtytwo*vx3_NWT - - // thirtytwo*vx3_SEB + thirtytwo*vx3_SET - thirtytwo*vx3_SWB + thirtytwo*vx3_SWT)/264.f; - //cxx= (sixteen*kxxMyyFromfcNEQ_NEB - sixteen*kxxMyyFromfcNEQ_NET + sixteen*kxxMyyFromfcNEQ_NWB - sixteen*kxxMyyFromfcNEQ_NWT + - // sixteen*kxxMyyFromfcNEQ_SEB - sixteen*kxxMyyFromfcNEQ_SET + sixteen*kxxMyyFromfcNEQ_SWB - sixteen*kxxMyyFromfcNEQ_SWT + - // thirtythree*kxzFromfcNEQ_NEB + thirtythree*kxzFromfcNEQ_NET + thirtythree*kxzFromfcNEQ_NWB + thirtythree*kxzFromfcNEQ_NWT + - // thirtythree*kxzFromfcNEQ_SEB + thirtythree*kxzFromfcNEQ_SET + thirtythree*kxzFromfcNEQ_SWB + thirtythree*kxzFromfcNEQ_SWT + - // thirtyfour*vx1_NEB - thirtyfour*vx1_NET - thirtyfour*vx1_NWB + thirtyfour*vx1_NWT + - // thirtyfour*vx1_SEB - thirtyfour*vx1_SET - thirtyfour*vx1_SWB + thirtyfour*vx1_SWT + - // thirtytwo*vx2_NEB - thirtytwo*vx2_NET + thirtytwo*vx2_NWB - thirtytwo*vx2_NWT - - // thirtytwo*vx2_SEB + thirtytwo*vx2_SET - thirtytwo*vx2_SWB + thirtytwo*vx2_SWT)/264.f; - //ay = (vx1_NEB + vx1_NET + vx1_NWB + vx1_NWT - vx1_SEB - vx1_SET - vx1_SWB - vx1_SWT)/four; - //by = (vx2_NEB + vx2_NET + vx2_NWB + vx2_NWT - vx2_SEB - vx2_SET - vx2_SWB - vx2_SWT)/four; - //cy = (vx3_NEB + vx3_NET + vx3_NWB + vx3_NWT - vx3_SEB - vx3_SET - vx3_SWB - vx3_SWT)/four; - //ayy= (sixteen*kxxMyyFromfcNEQ_NEB + sixteen*kxxMyyFromfcNEQ_NET - sixteen*kxxMyyFromfcNEQ_NWB - sixteen*kxxMyyFromfcNEQ_NWT + - // sixteen*kxxMyyFromfcNEQ_SEB + sixteen*kxxMyyFromfcNEQ_SET - sixteen*kxxMyyFromfcNEQ_SWB - sixteen*kxxMyyFromfcNEQ_SWT - - // sixteen*kxxMzzFromfcNEQ_NEB - sixteen*kxxMzzFromfcNEQ_NET + sixteen*kxxMzzFromfcNEQ_NWB + sixteen*kxxMzzFromfcNEQ_NWT - - // sixteen*kxxMzzFromfcNEQ_SEB - sixteen*kxxMzzFromfcNEQ_SET + sixteen*kxxMzzFromfcNEQ_SWB + sixteen*kxxMzzFromfcNEQ_SWT + - // thirtythree*kxyFromfcNEQ_NEB + thirtythree*kxyFromfcNEQ_NET + thirtythree*kxyFromfcNEQ_NWB + thirtythree*kxyFromfcNEQ_NWT + - // thirtythree*kxyFromfcNEQ_SEB + thirtythree*kxyFromfcNEQ_SET + thirtythree*kxyFromfcNEQ_SWB + thirtythree*kxyFromfcNEQ_SWT - - // thirtyfour*vx2_NEB - thirtyfour*vx2_NET + thirtyfour*vx2_NWB + thirtyfour*vx2_NWT + - // thirtyfour*vx2_SEB + thirtyfour*vx2_SET - thirtyfour*vx2_SWB - thirtyfour*vx2_SWT + - // thirtytwo*vx3_NEB - thirtytwo*vx3_NET - thirtytwo*vx3_NWB + thirtytwo*vx3_NWT + - // thirtytwo*vx3_SEB - thirtytwo*vx3_SET - thirtytwo*vx3_SWB + thirtytwo*vx3_SWT)/264.f; - //byy= (-two*kxxMyyFromfcNEQ_NEB - two*kxxMyyFromfcNEQ_NET - two*kxxMyyFromfcNEQ_NWB - two*kxxMyyFromfcNEQ_NWT + - // two*kxxMyyFromfcNEQ_SEB + two*kxxMyyFromfcNEQ_SET + two*kxxMyyFromfcNEQ_SWB + two*kxxMyyFromfcNEQ_SWT + - // kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - - // kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + - // two*vx1_NEB + two*vx1_NET - two*vx1_NWB - two*vx1_NWT - - // two*vx1_SEB - two*vx1_SET + two*vx1_SWB + two*vx1_SWT - - // two*vx3_NEB + two*vx3_NET - two*vx3_NWB + two*vx3_NWT + - // two*vx3_SEB - two*vx3_SET + two*vx3_SWB - two*vx3_SWT)/sixteen; - //cyy= (-sixteen*kxxMyyFromfcNEQ_NEB + sixteen*kxxMyyFromfcNEQ_NET - sixteen*kxxMyyFromfcNEQ_NWB + sixteen*kxxMyyFromfcNEQ_NWT - - // sixteen*kxxMyyFromfcNEQ_SEB + sixteen*kxxMyyFromfcNEQ_SET - sixteen*kxxMyyFromfcNEQ_SWB + sixteen*kxxMyyFromfcNEQ_SWT + - // thirtythree*kyzFromfcNEQ_NEB + thirtythree*kyzFromfcNEQ_NET + thirtythree*kyzFromfcNEQ_NWB + thirtythree*kyzFromfcNEQ_NWT + - // thirtythree*kyzFromfcNEQ_SEB + thirtythree*kyzFromfcNEQ_SET + thirtythree*kyzFromfcNEQ_SWB + thirtythree*kyzFromfcNEQ_SWT + - // thirtytwo*vx1_NEB - thirtytwo*vx1_NET - thirtytwo*vx1_NWB + thirtytwo*vx1_NWT + - // thirtytwo*vx1_SEB - thirtytwo*vx1_SET - thirtytwo*vx1_SWB + thirtytwo*vx1_SWT + - // thirtyfour*vx2_NEB - thirtyfour*vx2_NET + thirtyfour*vx2_NWB - thirtyfour*vx2_NWT - - // thirtyfour*vx2_SEB + thirtyfour*vx2_SET - thirtyfour*vx2_SWB + thirtyfour*vx2_SWT)/264.f; - //az = (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT - vx1_SEB + vx1_SET - vx1_SWB + vx1_SWT)/four; - //bz = (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT - vx2_SEB + vx2_SET - vx2_SWB + vx2_SWT)/four; - //cz = (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT - vx3_SEB + vx3_SET - vx3_SWB + vx3_SWT)/four; - //azz= (-sixteen*kxxMyyFromfcNEQ_NEB - sixteen*kxxMyyFromfcNEQ_NET + sixteen*kxxMyyFromfcNEQ_NWB + sixteen*kxxMyyFromfcNEQ_NWT - - // sixteen*kxxMyyFromfcNEQ_SEB - sixteen*kxxMyyFromfcNEQ_SET + sixteen*kxxMyyFromfcNEQ_SWB + sixteen*kxxMyyFromfcNEQ_SWT + - // sixteen*kxxMzzFromfcNEQ_NEB + sixteen*kxxMzzFromfcNEQ_NET - sixteen*kxxMzzFromfcNEQ_NWB - sixteen*kxxMzzFromfcNEQ_NWT + - // sixteen*kxxMzzFromfcNEQ_SEB + sixteen*kxxMzzFromfcNEQ_SET - sixteen*kxxMzzFromfcNEQ_SWB - sixteen*kxxMzzFromfcNEQ_SWT + - // thirtythree*kxzFromfcNEQ_NEB + thirtythree*kxzFromfcNEQ_NET + thirtythree*kxzFromfcNEQ_NWB + thirtythree*kxzFromfcNEQ_NWT + - // thirtythree*kxzFromfcNEQ_SEB + thirtythree*kxzFromfcNEQ_SET + thirtythree*kxzFromfcNEQ_SWB + thirtythree*kxzFromfcNEQ_SWT - - // thirtytwo*vx2_NEB - thirtytwo*vx2_NET + thirtytwo*vx2_NWB + thirtytwo*vx2_NWT + - // thirtytwo*vx2_SEB + thirtytwo*vx2_SET - thirtytwo*vx2_SWB - thirtytwo*vx2_SWT + - // thirtyfour*vx3_NEB - thirtyfour*vx3_NET - thirtyfour*vx3_NWB + thirtyfour*vx3_NWT + - // thirtyfour*vx3_SEB - thirtyfour*vx3_SET - thirtyfour*vx3_SWB + thirtyfour*vx3_SWT)/264.f; - //bzz= (sixteen*kxxMzzFromfcNEQ_NEB + sixteen*kxxMzzFromfcNEQ_NET + sixteen*kxxMzzFromfcNEQ_NWB + sixteen*kxxMzzFromfcNEQ_NWT - - // sixteen*kxxMzzFromfcNEQ_SEB - sixteen*kxxMzzFromfcNEQ_SET - sixteen*kxxMzzFromfcNEQ_SWB - sixteen*kxxMzzFromfcNEQ_SWT + - // thirtythree*kyzFromfcNEQ_NEB + thirtythree*kyzFromfcNEQ_NET + thirtythree*kyzFromfcNEQ_NWB + thirtythree*kyzFromfcNEQ_NWT + - // thirtythree*kyzFromfcNEQ_SEB + thirtythree*kyzFromfcNEQ_SET + thirtythree*kyzFromfcNEQ_SWB + thirtythree*kyzFromfcNEQ_SWT - - // thirtytwo*vx1_NEB - thirtytwo*vx1_NET + thirtytwo*vx1_NWB + thirtytwo*vx1_NWT + - // thirtytwo*vx1_SEB + thirtytwo*vx1_SET - thirtytwo*vx1_SWB - thirtytwo*vx1_SWT + - // thirtyfour*vx3_NEB - thirtyfour*vx3_NET + thirtyfour*vx3_NWB - thirtyfour*vx3_NWT - - // thirtyfour*vx3_SEB + thirtyfour*vx3_SET - thirtyfour*vx3_SWB + thirtyfour*vx3_SWT)/264.f; - //czz= (-kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - - // kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT + - // two*kxxMzzFromfcNEQ_NEB - two*kxxMzzFromfcNEQ_NET + two*kxxMzzFromfcNEQ_NWB - two*kxxMzzFromfcNEQ_NWT + - // two*kxxMzzFromfcNEQ_SEB - two*kxxMzzFromfcNEQ_SET + two*kxxMzzFromfcNEQ_SWB - two*kxxMzzFromfcNEQ_SWT - - // two*vx1_NEB + two*vx1_NET + two*vx1_NWB - two*vx1_NWT - - // two*vx1_SEB + two*vx1_SET + two*vx1_SWB - two*vx1_SWT - - // two*vx2_NEB + two*vx2_NET - two*vx2_NWB + two*vx2_NWT + - // two*vx2_SEB - two*vx2_SET + two*vx2_SWB - two*vx2_SWT)/sixteen; - //axy= (eight*kxxMzzFromfcNEQ_NEB + eight*kxxMzzFromfcNEQ_NET + eight*kxxMzzFromfcNEQ_NWB + eight*kxxMzzFromfcNEQ_NWT - - // eight*kxxMzzFromfcNEQ_SEB - eight*kxxMzzFromfcNEQ_SET - eight*kxxMzzFromfcNEQ_SWB - eight*kxxMzzFromfcNEQ_SWT + - // seventeen*vx1_NEB + seventeen*vx1_NET - seventeen*vx1_NWB - seventeen*vx1_NWT - - // seventeen*vx1_SEB - seventeen*vx1_SET + seventeen*vx1_SWB + seventeen*vx1_SWT - - // sixteen*vx3_NEB + sixteen*vx3_NET - sixteen*vx3_NWB + sixteen*vx3_NWT + - // sixteen*vx3_SEB - sixteen*vx3_SET + sixteen*vx3_SWB - sixteen*vx3_SWT)/sixtysix; - //bxy= (-eight*kxxMyyFromfcNEQ_NEB - eight*kxxMyyFromfcNEQ_NET + eight*kxxMyyFromfcNEQ_NWB + eight*kxxMyyFromfcNEQ_NWT - - // eight*kxxMyyFromfcNEQ_SEB - eight*kxxMyyFromfcNEQ_SET + eight*kxxMyyFromfcNEQ_SWB + eight*kxxMyyFromfcNEQ_SWT + - // eight*kxxMzzFromfcNEQ_NEB + eight*kxxMzzFromfcNEQ_NET - eight*kxxMzzFromfcNEQ_NWB - eight*kxxMzzFromfcNEQ_NWT + - // eight*kxxMzzFromfcNEQ_SEB + eight*kxxMzzFromfcNEQ_SET - eight*kxxMzzFromfcNEQ_SWB - eight*kxxMzzFromfcNEQ_SWT + - // seventeen*vx2_NEB + seventeen*vx2_NET - seventeen*vx2_NWB - seventeen*vx2_NWT - - // seventeen*vx2_SEB - seventeen*vx2_SET + seventeen*vx2_SWB + seventeen*vx2_SWT - - // sixteen*vx3_NEB + sixteen*vx3_NET + sixteen*vx3_NWB - sixteen*vx3_NWT - - // sixteen*vx3_SEB + sixteen*vx3_SET + sixteen*vx3_SWB - sixteen*vx3_SWT)/sixtysix; - //cxy= (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT - vx3_SEB - vx3_SET + vx3_SWB + vx3_SWT)/two; - //axz= (-eight*kxxMyyFromfcNEQ_NEB + eight*kxxMyyFromfcNEQ_NET - eight*kxxMyyFromfcNEQ_NWB + eight*kxxMyyFromfcNEQ_NWT - - // eight*kxxMyyFromfcNEQ_SEB + eight*kxxMyyFromfcNEQ_SET - eight*kxxMyyFromfcNEQ_SWB + eight*kxxMyyFromfcNEQ_SWT - - // seventeen*vx1_NEB + seventeen*vx1_NET + seventeen*vx1_NWB - seventeen*vx1_NWT - - // seventeen*vx1_SEB + seventeen*vx1_SET + seventeen*vx1_SWB - seventeen*vx1_SWT - - // sixteen*vx2_NEB + sixteen*vx2_NET - sixteen*vx2_NWB + sixteen*vx2_NWT + - // sixteen*vx2_SEB - sixteen*vx2_SET + sixteen*vx2_SWB - sixteen*vx2_SWT)/sixtysix; - //bxz= (-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT - vx2_SEB + vx2_SET + vx2_SWB - vx2_SWT)/two; - //cxz= (eight*kxxMyyFromfcNEQ_NEB + eight*kxxMyyFromfcNEQ_NET - eight*kxxMyyFromfcNEQ_NWB - eight*kxxMyyFromfcNEQ_NWT + - // eight*kxxMyyFromfcNEQ_SEB + eight*kxxMyyFromfcNEQ_SET - eight*kxxMyyFromfcNEQ_SWB - eight*kxxMyyFromfcNEQ_SWT - - // eight*kxxMzzFromfcNEQ_NEB - eight*kxxMzzFromfcNEQ_NET + eight*kxxMzzFromfcNEQ_NWB + eight*kxxMzzFromfcNEQ_NWT - - // eight*kxxMzzFromfcNEQ_SEB - eight*kxxMzzFromfcNEQ_SET + eight*kxxMzzFromfcNEQ_SWB + eight*kxxMzzFromfcNEQ_SWT + - // sixteen*vx2_NEB + sixteen*vx2_NET - sixteen*vx2_NWB - sixteen*vx2_NWT - - // sixteen*vx2_SEB - sixteen*vx2_SET + sixteen*vx2_SWB + sixteen*vx2_SWT - - // seventeen*vx3_NEB + seventeen*vx3_NET + seventeen*vx3_NWB - seventeen*vx3_NWT - - // seventeen*vx3_SEB + seventeen*vx3_SET + seventeen*vx3_SWB - seventeen*vx3_SWT)/sixtysix; - //ayz= (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT + vx1_SEB - vx1_SET + vx1_SWB - vx1_SWT)/two; - //byz= (eight*kxxMyyFromfcNEQ_NEB - eight*kxxMyyFromfcNEQ_NET + eight*kxxMyyFromfcNEQ_NWB - eight*kxxMyyFromfcNEQ_NWT + - // eight*kxxMyyFromfcNEQ_SEB - eight*kxxMyyFromfcNEQ_SET + eight*kxxMyyFromfcNEQ_SWB - eight*kxxMyyFromfcNEQ_SWT - - // sixteen*vx1_NEB + sixteen*vx1_NET + sixteen*vx1_NWB - sixteen*vx1_NWT - - // sixteen*vx1_SEB + sixteen*vx1_SET + sixteen*vx1_SWB - sixteen*vx1_SWT - - // seventeen*vx2_NEB + seventeen*vx2_NET - seventeen*vx2_NWB + seventeen*vx2_NWT + - // seventeen*vx2_SEB - seventeen*vx2_SET + seventeen*vx2_SWB - seventeen*vx2_SWT)/sixtysix; - //cyz= (-eight*kxxMzzFromfcNEQ_NEB - eight*kxxMzzFromfcNEQ_NET - eight*kxxMzzFromfcNEQ_NWB - eight*kxxMzzFromfcNEQ_NWT + - // eight*kxxMzzFromfcNEQ_SEB + eight*kxxMzzFromfcNEQ_SET + eight*kxxMzzFromfcNEQ_SWB + eight*kxxMzzFromfcNEQ_SWT + - // sixteen*vx1_NEB + sixteen*vx1_NET - sixteen*vx1_NWB - sixteen*vx1_NWT - - // sixteen*vx1_SEB - sixteen*vx1_SET + sixteen*vx1_SWB + sixteen*vx1_SWT - - // seventeen*vx3_NEB + seventeen*vx3_NET - seventeen*vx3_NWB + seventeen*vx3_NWT + - // seventeen*vx3_SEB - seventeen*vx3_SET + seventeen*vx3_SWB - seventeen*vx3_SWT)/sixtysix; - - ////////////////////////////////////////////////////////////////////////// - //2 - ////////////////////////////////////////////////////////////////////////// - //a0 = (-kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - - // kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT - - // kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - - // kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - - // two*kxyFromfcNEQ_NEB - two*kxyFromfcNEQ_NET - two*kxyFromfcNEQ_NWB - two*kxyFromfcNEQ_NWT - - // two*kxyFromfcNEQ_SEB - two*kxyFromfcNEQ_SET - two*kxyFromfcNEQ_SWB - two*kxyFromfcNEQ_SWT - - // two*kxzFromfcNEQ_NEB - two*kxzFromfcNEQ_NET - two*kxzFromfcNEQ_NWB - two*kxzFromfcNEQ_NWT - - // two*kxzFromfcNEQ_SEB - two*kxzFromfcNEQ_SET - two*kxzFromfcNEQ_SWB - two*kxzFromfcNEQ_SWT + - // eight*vx1_NEB + eight*vx1_NET + eight*vx1_NWB + eight*vx1_NWT + - // eight*vx1_SEB + eight*vx1_SET + eight*vx1_SWB + eight*vx1_SWT + - // two*vx2_NEB + two*vx2_NET - two*vx2_NWB - two*vx2_NWT - - // two*vx2_SEB - two*vx2_SET + two*vx2_SWB + two*vx2_SWT - - // two*vx3_NEB + two*vx3_NET + two*vx3_NWB - two*vx3_NWT - - // two*vx3_SEB + two*vx3_SET + two*vx3_SWB - two*vx3_SWT)/sixtyfour; - //b0 = (two*kxxMyyFromfcNEQ_NEB + two*kxxMyyFromfcNEQ_NET + two*kxxMyyFromfcNEQ_NWB + two*kxxMyyFromfcNEQ_NWT - - // two*kxxMyyFromfcNEQ_SEB - two*kxxMyyFromfcNEQ_SET - two*kxxMyyFromfcNEQ_SWB - two*kxxMyyFromfcNEQ_SWT - - // kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + - // kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - - // two*kxyFromfcNEQ_NEB - two*kxyFromfcNEQ_NET - two*kxyFromfcNEQ_NWB - two*kxyFromfcNEQ_NWT - - // two*kxyFromfcNEQ_SEB - two*kxyFromfcNEQ_SET - two*kxyFromfcNEQ_SWB - two*kxyFromfcNEQ_SWT - - // two*kyzFromfcNEQ_NEB - two*kyzFromfcNEQ_NET - two*kyzFromfcNEQ_NWB - two*kyzFromfcNEQ_NWT - - // two*kyzFromfcNEQ_SEB - two*kyzFromfcNEQ_SET - two*kyzFromfcNEQ_SWB - two*kyzFromfcNEQ_SWT + - // two*vx1_NEB + two*vx1_NET - two*vx1_NWB - two*vx1_NWT - - // two*vx1_SEB - two*vx1_SET + two*vx1_SWB + two*vx1_SWT + - // eight*vx2_NEB + eight*vx2_NET + eight*vx2_NWB + eight*vx2_NWT + - // eight*vx2_SEB + eight*vx2_SET + eight*vx2_SWB + eight*vx2_SWT - - // two*vx3_NEB + two*vx3_NET - two*vx3_NWB + two*vx3_NWT + - // two*vx3_SEB - two*vx3_SET + two*vx3_SWB - two*vx3_SWT)/sixtyfour; - //c0 = (kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + - // kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT - - // two*kxxMzzFromfcNEQ_NEB + two*kxxMzzFromfcNEQ_NET - two*kxxMzzFromfcNEQ_NWB + two*kxxMzzFromfcNEQ_NWT - - // two*kxxMzzFromfcNEQ_SEB + two*kxxMzzFromfcNEQ_SET - two*kxxMzzFromfcNEQ_SWB + two*kxxMzzFromfcNEQ_SWT - - // two*kxzFromfcNEQ_NEB - two*kxzFromfcNEQ_NET - two*kxzFromfcNEQ_NWB - two*kxzFromfcNEQ_NWT - - // two*kxzFromfcNEQ_SEB - two*kxzFromfcNEQ_SET - two*kxzFromfcNEQ_SWB - two*kxzFromfcNEQ_SWT - - // two*kyzFromfcNEQ_NEB - two*kyzFromfcNEQ_NET - two*kyzFromfcNEQ_NWB - two*kyzFromfcNEQ_NWT - - // two*kyzFromfcNEQ_SEB - two*kyzFromfcNEQ_SET - two*kyzFromfcNEQ_SWB - two*kyzFromfcNEQ_SWT - - // two*vx1_NEB + two*vx1_NET + two*vx1_NWB - two*vx1_NWT - - // two*vx1_SEB + two*vx1_SET + two*vx1_SWB - two*vx1_SWT - - // two*vx2_NEB + two*vx2_NET - two*vx2_NWB + two*vx2_NWT + - // two*vx2_SEB - two*vx2_SET + two*vx2_SWB - two*vx2_SWT + - // eight*vx3_NEB + eight*vx3_NET + eight*vx3_NWB + eight*vx3_NWT + - // eight*vx3_SEB + eight*vx3_SET + eight*vx3_SWB + eight*vx3_SWT)/sixtyfour; - //ax = (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT + vx1_SEB + vx1_SET - vx1_SWB - vx1_SWT)/four; - //bx = (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT + vx2_SEB + vx2_SET - vx2_SWB - vx2_SWT)/four; - //cx = (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT + vx3_SEB + vx3_SET - vx3_SWB - vx3_SWT)/four; - //axx= (kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + - // kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT + - // kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + - // kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + - // two*vx2_NEB + two*vx2_NET - two*vx2_NWB - two*vx2_NWT - - // two*vx2_SEB - two*vx2_SET + two*vx2_SWB + two*vx2_SWT - - // two*vx3_NEB + two*vx3_NET + two*vx3_NWB - two*vx3_NWT - - // two*vx3_SEB + two*vx3_SET + two*vx3_SWB - two*vx3_SWT)/sixteen; - //bxx= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET + kxyFromfcNEQ_NWB + kxyFromfcNEQ_NWT + - // kxyFromfcNEQ_SEB + kxyFromfcNEQ_SET + kxyFromfcNEQ_SWB + kxyFromfcNEQ_SWT - - // two*vx1_NEB - two*vx1_NET + two*vx1_NWB + two*vx1_NWT + - // two*vx1_SEB + two*vx1_SET - two*vx1_SWB - two*vx1_SWT)/eight; - //cxx= (kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET + kxzFromfcNEQ_NWB + kxzFromfcNEQ_NWT + - // kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET + kxzFromfcNEQ_SWB + kxzFromfcNEQ_SWT + - // two*vx1_NEB - two*vx1_NET - two*vx1_NWB + two*vx1_NWT + - // two*vx1_SEB - two*vx1_SET - two*vx1_SWB + two*vx1_SWT)/eight; - //ay = (vx1_NEB + vx1_NET + vx1_NWB + vx1_NWT - vx1_SEB - vx1_SET - vx1_SWB - vx1_SWT)/four; - //by = (vx2_NEB + vx2_NET + vx2_NWB + vx2_NWT - vx2_SEB - vx2_SET - vx2_SWB - vx2_SWT)/four; - //cy = (vx3_NEB + vx3_NET + vx3_NWB + vx3_NWT - vx3_SEB - vx3_SET - vx3_SWB - vx3_SWT)/four; - //ayy= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET + kxyFromfcNEQ_NWB + kxyFromfcNEQ_NWT + - // kxyFromfcNEQ_SEB + kxyFromfcNEQ_SET + kxyFromfcNEQ_SWB + kxyFromfcNEQ_SWT - - // two*vx2_NEB - two*vx2_NET + two*vx2_NWB + two*vx2_NWT + - // two*vx2_SEB + two*vx2_SET - two*vx2_SWB - two*vx2_SWT)/eight; - //byy= (-two*kxxMyyFromfcNEQ_NEB - two*kxxMyyFromfcNEQ_NET - two*kxxMyyFromfcNEQ_NWB - two*kxxMyyFromfcNEQ_NWT + - // two*kxxMyyFromfcNEQ_SEB + two*kxxMyyFromfcNEQ_SET + two*kxxMyyFromfcNEQ_SWB + two*kxxMyyFromfcNEQ_SWT + - // kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - - // kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + - // two*vx1_NEB + two*vx1_NET - two*vx1_NWB - two*vx1_NWT - - // two*vx1_SEB - two*vx1_SET + two*vx1_SWB + two*vx1_SWT - - // two*vx3_NEB + two*vx3_NET - two*vx3_NWB + two*vx3_NWT + - // two*vx3_SEB - two*vx3_SET + two*vx3_SWB - two*vx3_SWT)/sixteen; - //cyy= (kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET + kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT + - // kyzFromfcNEQ_SEB + kyzFromfcNEQ_SET + kyzFromfcNEQ_SWB + kyzFromfcNEQ_SWT + - // two*vx2_NEB - two*vx2_NET + two*vx2_NWB - two*vx2_NWT - - // two*vx2_SEB + two*vx2_SET - two*vx2_SWB + two*vx2_SWT)/eight; - //az = (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT - vx1_SEB + vx1_SET - vx1_SWB + vx1_SWT)/four; - //bz = (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT - vx2_SEB + vx2_SET - vx2_SWB + vx2_SWT)/four; - //cz = (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT - vx3_SEB + vx3_SET - vx3_SWB + vx3_SWT)/four; - //azz= (kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET + kxzFromfcNEQ_NWB + kxzFromfcNEQ_NWT + - // kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET + kxzFromfcNEQ_SWB + kxzFromfcNEQ_SWT + - // two*vx3_NEB - two*vx3_NET - two*vx3_NWB + two*vx3_NWT + - // two*vx3_SEB - two*vx3_SET - two*vx3_SWB + two*vx3_SWT)/eight; - //bzz= (kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET + kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT + - // kyzFromfcNEQ_SEB + kyzFromfcNEQ_SET + kyzFromfcNEQ_SWB + kyzFromfcNEQ_SWT + - // two*vx3_NEB - two*vx3_NET + two*vx3_NWB - two*vx3_NWT - - // two*vx3_SEB + two*vx3_SET - two*vx3_SWB + two*vx3_SWT)/eight; - //czz= (-kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - - // kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT + - // two*kxxMzzFromfcNEQ_NEB - two*kxxMzzFromfcNEQ_NET + two*kxxMzzFromfcNEQ_NWB - two*kxxMzzFromfcNEQ_NWT + - // two*kxxMzzFromfcNEQ_SEB - two*kxxMzzFromfcNEQ_SET + two*kxxMzzFromfcNEQ_SWB - two*kxxMzzFromfcNEQ_SWT - - // two*vx1_NEB + two*vx1_NET + two*vx1_NWB - two*vx1_NWT - - // two*vx1_SEB + two*vx1_SET + two*vx1_SWB - two*vx1_SWT - - // two*vx2_NEB + two*vx2_NET - two*vx2_NWB + two*vx2_NWT + - // two*vx2_SEB - two*vx2_SET + two*vx2_SWB - two*vx2_SWT)/sixteen; - //axy= (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT - - // vx1_SEB - vx1_SET + vx1_SWB + vx1_SWT)/two; - //bxy= (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT - - // vx2_SEB - vx2_SET + vx2_SWB + vx2_SWT)/two; - //cxy= (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT - - // vx3_SEB - vx3_SET + vx3_SWB + vx3_SWT)/two; - //axz= (-vx1_NEB + vx1_NET + vx1_NWB - vx1_NWT - - // vx1_SEB + vx1_SET + vx1_SWB - vx1_SWT)/two; - //bxz= (-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT - - // vx2_SEB + vx2_SET + vx2_SWB - vx2_SWT)/two; - //cxz= (-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT - - // vx3_SEB + vx3_SET + vx3_SWB - vx3_SWT)/two; - //ayz= (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT + - // vx1_SEB - vx1_SET + vx1_SWB - vx1_SWT)/two; - //byz= (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT + - // vx2_SEB - vx2_SET + vx2_SWB - vx2_SWT)/two; - //cyz= (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT + - // vx3_SEB - vx3_SET + vx3_SWB - vx3_SWT)/two; - //axyz=-vx1_NEB + vx1_NET + vx1_NWB - vx1_NWT + - // vx1_SEB - vx1_SET - vx1_SWB + vx1_SWT; - //bxyz=-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT + - // vx2_SEB - vx2_SET - vx2_SWB + vx2_SWT; - //cxyz=-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT + - // vx3_SEB - vx3_SET - vx3_SWB + vx3_SWT; - - ////////////////////////////////////////////////////////////////////////// - //3 - ////////////////////////////////////////////////////////////////////////// - a0 = (-kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT - - kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - - kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - - c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET - c2o1*kxyFromfcNEQ_NWB - c2o1*kxyFromfcNEQ_NWT + - c2o1*kxyFromfcNEQ_SEB + c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + - c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB - c2o1*kxzFromfcNEQ_NWT + - c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB - c2o1*kxzFromfcNEQ_SWT + - c8o1*vx1_NEB + c8o1*vx1_NET + c8o1*vx1_NWB + c8o1*vx1_NWT + c8o1*vx1_SEB + - c8o1*vx1_SET + c8o1*vx1_SWB + c8o1*vx1_SWT + c2o1*vx2_NEB + c2o1*vx2_NET - - c2o1*vx2_NWB - c2o1*vx2_NWT - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + - c2o1*vx2_SWT - c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - - c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1; - b0 = (c2o1*kxxMyyFromfcNEQ_NEB + c2o1*kxxMyyFromfcNEQ_NET + c2o1*kxxMyyFromfcNEQ_NWB + c2o1*kxxMyyFromfcNEQ_NWT - - c2o1*kxxMyyFromfcNEQ_SEB - c2o1*kxxMyyFromfcNEQ_SET - c2o1*kxxMyyFromfcNEQ_SWB - c2o1*kxxMyyFromfcNEQ_SWT - - kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - - c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET + c2o1*kxyFromfcNEQ_NWB + c2o1*kxyFromfcNEQ_NWT - - c2o1*kxyFromfcNEQ_SEB - c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + - c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET + c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + - c2o1*kyzFromfcNEQ_SEB - c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB - c2o1*kyzFromfcNEQ_SWT + - c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT + - c8o1*vx2_NEB + c8o1*vx2_NET + c8o1*vx2_NWB + c8o1*vx2_NWT + - c8o1*vx2_SEB + c8o1*vx2_SET + c8o1*vx2_SWB + c8o1*vx2_SWT - - c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + - c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1; - c0 = (kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT - - c2o1*kxxMzzFromfcNEQ_NEB + c2o1*kxxMzzFromfcNEQ_NET - c2o1*kxxMzzFromfcNEQ_NWB + c2o1*kxxMzzFromfcNEQ_NWT - - c2o1*kxxMzzFromfcNEQ_SEB + c2o1*kxxMzzFromfcNEQ_SET - c2o1*kxxMzzFromfcNEQ_SWB + c2o1*kxxMzzFromfcNEQ_SWT - - c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB + c2o1*kxzFromfcNEQ_NWT - - c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB + c2o1*kxzFromfcNEQ_SWT - - c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET - c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + - c2o1*kyzFromfcNEQ_SEB + c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB + c2o1*kyzFromfcNEQ_SWT - - c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - - c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT + - c8o1*vx3_NEB + c8o1*vx3_NET + c8o1*vx3_NWB + c8o1*vx3_NWT + - c8o1*vx3_SEB + c8o1*vx3_SET + c8o1*vx3_SWB + c8o1*vx3_SWT)/c64o1; - ax = (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT + vx1_SEB + vx1_SET - vx1_SWB - vx1_SWT)/c4o1; - bx = (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT + vx2_SEB + vx2_SET - vx2_SWB - vx2_SWT)/c4o1; - cx = (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT + vx3_SEB + vx3_SET - vx3_SWB - vx3_SWT)/c4o1; - axx= (kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT + - kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + - c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB - c2o1*vx2_NWT - - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + c2o1*vx2_SWT - - c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - - c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1; - bxx= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET - kxyFromfcNEQ_NWB - kxyFromfcNEQ_NWT + - kxyFromfcNEQ_SEB + kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - - c2o1*vx1_NEB - c2o1*vx1_NET + c2o1*vx1_NWB + c2o1*vx1_NWT + - c2o1*vx1_SEB + c2o1*vx1_SET - c2o1*vx1_SWB - c2o1*vx1_SWT)/c8o1; - cxx= (kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB - kxzFromfcNEQ_NWT + - kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB - kxzFromfcNEQ_SWT + - c2o1*vx1_NEB - c2o1*vx1_NET - c2o1*vx1_NWB + c2o1*vx1_NWT + - c2o1*vx1_SEB - c2o1*vx1_SET - c2o1*vx1_SWB + c2o1*vx1_SWT)/c8o1; - ay = (vx1_NEB + vx1_NET + vx1_NWB + vx1_NWT - vx1_SEB - vx1_SET - vx1_SWB - vx1_SWT)/c4o1; - by = (vx2_NEB + vx2_NET + vx2_NWB + vx2_NWT - vx2_SEB - vx2_SET - vx2_SWB - vx2_SWT)/c4o1; - cy = (vx3_NEB + vx3_NET + vx3_NWB + vx3_NWT - vx3_SEB - vx3_SET - vx3_SWB - vx3_SWT)/c4o1; - ayy= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET + kxyFromfcNEQ_NWB + kxyFromfcNEQ_NWT - - kxyFromfcNEQ_SEB - kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - - c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB + c2o1*vx2_NWT + - c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB - c2o1*vx2_SWT)/c8o1; - byy= (-c2o1*kxxMyyFromfcNEQ_NEB - c2o1*kxxMyyFromfcNEQ_NET - c2o1*kxxMyyFromfcNEQ_NWB - c2o1*kxxMyyFromfcNEQ_NWT + - c2o1*kxxMyyFromfcNEQ_SEB + c2o1*kxxMyyFromfcNEQ_SET + c2o1*kxxMyyFromfcNEQ_SWB + c2o1*kxxMyyFromfcNEQ_SWT + - kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - - kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + - c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT - - c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + - c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1; - cyy= (kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET + kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - - kyzFromfcNEQ_SEB - kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB - kyzFromfcNEQ_SWT + - c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB - c2o1*vx2_NWT - - c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB + c2o1*vx2_SWT)/c8o1; - az = (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT - vx1_SEB + vx1_SET - vx1_SWB + vx1_SWT)/c4o1; - bz = (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT - vx2_SEB + vx2_SET - vx2_SWB + vx2_SWT)/c4o1; - cz = (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT - vx3_SEB + vx3_SET - vx3_SWB + vx3_SWT)/c4o1; - azz= (-kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB + kxzFromfcNEQ_NWT - - kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB + kxzFromfcNEQ_SWT + - c2o1*vx3_NEB - c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + - c2o1*vx3_SEB - c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1; - bzz= (-kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET - kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - - kyzFromfcNEQ_SEB + kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB + kyzFromfcNEQ_SWT + - c2o1*vx3_NEB - c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - - c2o1*vx3_SEB + c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1; - czz= (-kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT + - c2o1*kxxMzzFromfcNEQ_NEB - c2o1*kxxMzzFromfcNEQ_NET + c2o1*kxxMzzFromfcNEQ_NWB - c2o1*kxxMzzFromfcNEQ_NWT + - c2o1*kxxMzzFromfcNEQ_SEB - c2o1*kxxMzzFromfcNEQ_SET + c2o1*kxxMzzFromfcNEQ_SWB - c2o1*kxxMzzFromfcNEQ_SWT - - c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - - c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - - c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT)/c16o1; - axy= (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT - vx1_SEB - vx1_SET + vx1_SWB + vx1_SWT)/c2o1; - bxy= (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT - vx2_SEB - vx2_SET + vx2_SWB + vx2_SWT)/c2o1; - cxy= (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT - vx3_SEB - vx3_SET + vx3_SWB + vx3_SWT)/c2o1; - axz= (-vx1_NEB + vx1_NET + vx1_NWB - vx1_NWT - vx1_SEB + vx1_SET + vx1_SWB - vx1_SWT)/c2o1; - bxz= (-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT - vx2_SEB + vx2_SET + vx2_SWB - vx2_SWT)/c2o1; - cxz= (-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT - vx3_SEB + vx3_SET + vx3_SWB - vx3_SWT)/c2o1; - ayz= (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT + vx1_SEB - vx1_SET + vx1_SWB - vx1_SWT)/c2o1; - byz= (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT + vx2_SEB - vx2_SET + vx2_SWB - vx2_SWT)/c2o1; - cyz= (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT + vx3_SEB - vx3_SET + vx3_SWB - vx3_SWT)/c2o1; - //axyz=-vx1_NEB + vx1_NET + vx1_NWB - vx1_NWT + vx1_SEB - vx1_SET - vx1_SWB + vx1_SWT; - //bxyz=-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT + vx2_SEB - vx2_SET - vx2_SWB + vx2_SWT; - //cxyz=-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT + vx3_SEB - vx3_SET - vx3_SWB + vx3_SWT; - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - // Bernd das Brot - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - a0 = a0 + xoff * ax + yoff * ay + zoff * az + xoff_sq * axx + yoff_sq * ayy + zoff_sq * azz; - ax = ax + c2o1 * xoff * axx + yoff * axy + zoff * axz; - ay = ay + c2o1 * yoff * ayy + xoff * axy + zoff * ayz; - az = az + c2o1 * zoff * azz + xoff * axz + yoff * ayz; - b0 = b0 + xoff * bx + yoff * by + zoff * bz + xoff_sq * bxx + yoff_sq * byy + zoff_sq * bzz; - bx = bx + c2o1 * xoff * bxx + yoff * bxy + zoff * bxz; - by = by + c2o1 * yoff * byy + xoff * bxy + zoff * byz; - bz = bz + c2o1 * zoff * bzz + xoff * bxz + yoff * byz; - c0 = c0 + xoff * cx + yoff * cy + zoff * cz + xoff_sq * cxx + yoff_sq * cyy + zoff_sq * czz; - cx = cx + c2o1 * xoff * cxx + yoff * cxy + zoff * cxz; - cy = cy + c2o1 * yoff * cyy + xoff * cxy + zoff * cyz; - cz = cz + c2o1 * zoff * czz + xoff * cxz + yoff * cyz; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //Position C 0.5, 0.5, 0.5 - //x = zero; - //y = zero; - //z = zero; - - //drho = c1o8*(drho_SWB + drho_NWB + drho_NEB + drho_SEB + drho_SWT + drho_NWT + drho_NET + drho_SET); - drho = drho_NET * (c1o8 - c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + - drho_NWT * (c1o8 + c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + - drho_SET * (c1o8 - c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + - drho_SWT * (c1o8 + c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + - drho_NEB * (c1o8 - c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + - drho_NWB * (c1o8 + c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + - drho_SEB * (c1o8 - c1o4 * xoff + c1o4 * yoff + c1o4 * zoff) + - drho_SWB * (c1o8 + c1o4 * xoff + c1o4 * yoff + c1o4 * zoff); - vx1 = a0; - vx2 = b0; - vx3 = c0; - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - feq_ZERO = c8o27* (drho-cu_sq); - feq_E = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - feq_N = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - feq_T = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - feq_NE = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - feq_SE = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - feq_TE = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - feq_BE = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - feq_TN = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - feq_BN = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - feq_TNE = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - feq_BNE = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - feq_TSE = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - feq_BSE = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - feq_W = feq_E + c2o27* (c6o1*(-vx1 )); - feq_S = feq_N + c2o27* (c6o1*( -vx2 )); - feq_B = feq_T + c2o27* (c6o1*( -vx3)); - feq_SW = feq_NE + c1o54* (c6o1*(-vx1-vx2 )); - feq_NW = feq_SE + c1o54* (c6o1*(-vx1+vx2 )); - feq_BW = feq_TE + c1o54* (c6o1*(-vx1 -vx3)); - feq_TW = feq_BE + c1o54* (c6o1*(-vx1 +vx3)); - feq_BS = feq_TN + c1o54* (c6o1*( -vx2-vx3)); - feq_TS = feq_BN + c1o54* (c6o1*( -vx2+vx3)); - feq_BSW = feq_TNE + c1o216*(c6o1*(-vx1-vx2-vx3)); - feq_TSW = feq_BNE + c1o216*(c6o1*(-vx1-vx2+vx3)); - feq_BNW = feq_TSE + c1o216*(c6o1*(-vx1+vx2-vx3)); - feq_TNW = feq_BSE + c1o216*(c6o1*(-vx1+vx2+vx3)); - - f_E = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o - c8o1*ax*op + c4o1*by*op + c4o1*cz*op)/(c54o1*o*op)); - f_N = f_E + eps_new *((c2o1*(ax - by))/(c9o1*o)); - f_T = f_E + eps_new *((c2o1*(ax - cz))/(c9o1*o)); - f_NE = eps_new *(-(c5o1*cz*o + c3o1*(ay + bx)*op - c2o1*cz*op + ax*(c5o1*o + op) + by*(c5o1*o + op))/(c54o1*o*op)); - f_SE = f_NE + eps_new *(( ay + bx )/(c9o1*o)); - f_TE = eps_new *(-(c5o1*cz*o + by*(c5o1*o - c2o1*op) + c3o1*(az + cx)*op + cz*op + ax*(c5o1*o + op))/(c54o1*o*op)); - f_BE = f_TE + eps_new *(( az + cx )/(c9o1*o)); - f_TN = eps_new *(-(c5o1*ax*o + c5o1*by*o + c5o1*cz*o - c2o1*ax*op + by*op + c3o1*bz*op + c3o1*cy*op + cz*op)/(c54o1*o*op)); - f_BN = f_TN + eps_new *(( bz + cy )/(c9o1*o)); - f_ZERO = eps_new *((c5o1*(ax + by + cz))/(c9o1*op)); - f_TNE = eps_new *(-(ay + az + bx + bz + cx + cy)/(c72o1*o)); - f_TSW = - eps_new *((ay + bx)/(c36o1*o)) - f_TNE; - f_TSE = - eps_new *((az + cx)/(c36o1*o)) - f_TNE; - f_TNW = - eps_new *((bz + cy)/(c36o1*o)) - f_TNE; - - ////////////////////////////////////////////////////////////////////////// - //index 0 - kzero= posC[k]; - kw = neighborCX[kzero]; - ks = neighborCY[kzero]; - kb = neighborCZ[kzero]; - ksw = neighborCY[kw]; - kbw = neighborCZ[kw]; - kbs = neighborCZ[ks]; - kbsw = neighborCZ[ksw]; - //////////////////////////////////////////////////////////////////////////////// - feC[kzero] = f_E + feq_E; - fwC[kw] = f_E + feq_W; - fnC[kzero] = f_N + feq_N; - fsC[ks] = f_N + feq_S; - ftC[kzero] = f_T + feq_T; - fbC[kb] = f_T + feq_B; - fneC[kzero] = f_NE + feq_NE; - fswC[ksw] = f_NE + feq_SW; - fseC[ks] = f_SE + feq_SE; - fnwC[kw] = f_SE + feq_NW; - fteC[kzero] = f_TE + feq_TE; - fbwC[kbw] = f_TE + feq_BW; - fbeC[kb] = f_BE + feq_BE; - ftwC[kw] = f_BE + feq_TW; - ftnC[kzero] = f_TN + feq_TN; - fbsC[kbs] = f_TN + feq_BS; - fbnC[kb] = f_BN + feq_BN; - ftsC[ks] = f_BN + feq_TS; - fzeroC[kzero]= f_ZERO + feq_ZERO; - ftneC[kzero] = f_TNE + feq_TNE; - ftswC[ksw] = f_TSW + feq_TSW; - ftseC[ks] = f_TSE + feq_TSE; - ftnwC[kw] = f_TNW + feq_TNW; - fbneC[kb] = f_TSW + feq_BNE; - fbswC[kbsw] = f_TNE + feq_BSW; - fbseC[kbs] = f_TNW + feq_BSE; - fbnwC[kbw] = f_TSE + feq_BNW; - } -} -////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -////////////////////////////////////////////////////////////////////////// -__global__ void scaleFCThSMG7( real* DC, - real* DF, - real* DD7C, - real* DD7F, - unsigned int* neighborCX, - unsigned int* neighborCY, - unsigned int* neighborCZ, - unsigned int* neighborFX, - unsigned int* neighborFY, - unsigned int* neighborFZ, - unsigned long long numberOfLBnodesCoarse, - unsigned long long numberOfLBnodesFine, - bool isEvenTimestep, - unsigned int* posC, - unsigned int* posFSWB, - unsigned int kFC, - real nu, - real diffusivity_coarse, - ICellNeigh offFC) -{ - real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, //*fzeroF, - *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - - feF = &DF[dP00 * numberOfLBnodesFine]; - fwF = &DF[dM00 * numberOfLBnodesFine]; - fnF = &DF[d0P0 * numberOfLBnodesFine]; - fsF = &DF[d0M0 * numberOfLBnodesFine]; - ftF = &DF[d00P * numberOfLBnodesFine]; - fbF = &DF[d00M * numberOfLBnodesFine]; - fneF = &DF[dPP0 * numberOfLBnodesFine]; - fswF = &DF[dMM0 * numberOfLBnodesFine]; - fseF = &DF[dPM0 * numberOfLBnodesFine]; - fnwF = &DF[dMP0 * numberOfLBnodesFine]; - fteF = &DF[dP0P * numberOfLBnodesFine]; - fbwF = &DF[dM0M * numberOfLBnodesFine]; - fbeF = &DF[dP0M * numberOfLBnodesFine]; - ftwF = &DF[dM0P * numberOfLBnodesFine]; - ftnF = &DF[d0PP * numberOfLBnodesFine]; - fbsF = &DF[d0MM * numberOfLBnodesFine]; - fbnF = &DF[d0PM * numberOfLBnodesFine]; - ftsF = &DF[d0MP * numberOfLBnodesFine]; - ftneF = &DF[dPPP * numberOfLBnodesFine]; - ftswF = &DF[dMMP * numberOfLBnodesFine]; - ftseF = &DF[dPMP * numberOfLBnodesFine]; - ftnwF = &DF[dMPP * numberOfLBnodesFine]; - fbneF = &DF[dPPM * numberOfLBnodesFine]; - fbswF = &DF[dMMM * numberOfLBnodesFine]; - fbseF = &DF[dPMM * numberOfLBnodesFine]; - fbnwF = &DF[dMPM * numberOfLBnodesFine]; - - real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, //*fzeroC, - *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; - - if (isEvenTimestep==true) - { - feC = &DC[dP00 * numberOfLBnodesCoarse]; - fwC = &DC[dM00 * numberOfLBnodesCoarse]; - fnC = &DC[d0P0 * numberOfLBnodesCoarse]; - fsC = &DC[d0M0 * numberOfLBnodesCoarse]; - ftC = &DC[d00P * numberOfLBnodesCoarse]; - fbC = &DC[d00M * numberOfLBnodesCoarse]; - fneC = &DC[dPP0 * numberOfLBnodesCoarse]; - fswC = &DC[dMM0 * numberOfLBnodesCoarse]; - fseC = &DC[dPM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dMP0 * numberOfLBnodesCoarse]; - fteC = &DC[dP0P * numberOfLBnodesCoarse]; - fbwC = &DC[dM0M * numberOfLBnodesCoarse]; - fbeC = &DC[dP0M * numberOfLBnodesCoarse]; - ftwC = &DC[dM0P * numberOfLBnodesCoarse]; - ftnC = &DC[d0PP * numberOfLBnodesCoarse]; - fbsC = &DC[d0MM * numberOfLBnodesCoarse]; - fbnC = &DC[d0PM * numberOfLBnodesCoarse]; - ftsC = &DC[d0MP * numberOfLBnodesCoarse]; - ftneC = &DC[dPPP * numberOfLBnodesCoarse]; - ftswC = &DC[dMMP * numberOfLBnodesCoarse]; - ftseC = &DC[dPMP * numberOfLBnodesCoarse]; - ftnwC = &DC[dMPP * numberOfLBnodesCoarse]; - fbneC = &DC[dPPM * numberOfLBnodesCoarse]; - fbswC = &DC[dMMM * numberOfLBnodesCoarse]; - fbseC = &DC[dPMM * numberOfLBnodesCoarse]; - fbnwC = &DC[dMPM * numberOfLBnodesCoarse]; - } - else - { - fwC = &DC[dP00 * numberOfLBnodesCoarse]; - feC = &DC[dM00 * numberOfLBnodesCoarse]; - fsC = &DC[d0P0 * numberOfLBnodesCoarse]; - fnC = &DC[d0M0 * numberOfLBnodesCoarse]; - fbC = &DC[d00P * numberOfLBnodesCoarse]; - ftC = &DC[d00M * numberOfLBnodesCoarse]; - fswC = &DC[dPP0 * numberOfLBnodesCoarse]; - fneC = &DC[dMM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dPM0 * numberOfLBnodesCoarse]; - fseC = &DC[dMP0 * numberOfLBnodesCoarse]; - fbwC = &DC[dP0P * numberOfLBnodesCoarse]; - fteC = &DC[dM0M * numberOfLBnodesCoarse]; - ftwC = &DC[dP0M * numberOfLBnodesCoarse]; - fbeC = &DC[dM0P * numberOfLBnodesCoarse]; - fbsC = &DC[d0PP * numberOfLBnodesCoarse]; - ftnC = &DC[d0MM * numberOfLBnodesCoarse]; - ftsC = &DC[d0PM * numberOfLBnodesCoarse]; - fbnC = &DC[d0MP * numberOfLBnodesCoarse]; - fbswC = &DC[dPPP * numberOfLBnodesCoarse]; - fbneC = &DC[dMMP * numberOfLBnodesCoarse]; - fbnwC = &DC[dPMP * numberOfLBnodesCoarse]; - fbseC = &DC[dMPP * numberOfLBnodesCoarse]; - ftswC = &DC[dPPM * numberOfLBnodesCoarse]; - ftneC = &DC[dMMM * numberOfLBnodesCoarse]; - ftnwC = &DC[dPMM * numberOfLBnodesCoarse]; - ftseC = &DC[dMPM * numberOfLBnodesCoarse]; - } - - Distributions7 D7F; - D7F.f[0] = &DD7F[0*numberOfLBnodesFine]; - D7F.f[1] = &DD7F[1*numberOfLBnodesFine]; - D7F.f[2] = &DD7F[2*numberOfLBnodesFine]; - D7F.f[3] = &DD7F[3*numberOfLBnodesFine]; - D7F.f[4] = &DD7F[4*numberOfLBnodesFine]; - D7F.f[5] = &DD7F[5*numberOfLBnodesFine]; - D7F.f[6] = &DD7F[6*numberOfLBnodesFine]; - - Distributions7 D7C; - if (isEvenTimestep==true) - { - D7C.f[0] = &DD7C[0*numberOfLBnodesCoarse]; - D7C.f[1] = &DD7C[1*numberOfLBnodesCoarse]; - D7C.f[2] = &DD7C[2*numberOfLBnodesCoarse]; - D7C.f[3] = &DD7C[3*numberOfLBnodesCoarse]; - D7C.f[4] = &DD7C[4*numberOfLBnodesCoarse]; - D7C.f[5] = &DD7C[5*numberOfLBnodesCoarse]; - D7C.f[6] = &DD7C[6*numberOfLBnodesCoarse]; - } - else - { - D7C.f[0] = &DD7C[0*numberOfLBnodesCoarse]; - D7C.f[2] = &DD7C[1*numberOfLBnodesCoarse]; - D7C.f[1] = &DD7C[2*numberOfLBnodesCoarse]; - D7C.f[4] = &DD7C[3*numberOfLBnodesCoarse]; - D7C.f[3] = &DD7C[4*numberOfLBnodesCoarse]; - D7C.f[6] = &DD7C[5*numberOfLBnodesCoarse]; - D7C.f[5] = &DD7C[6*numberOfLBnodesCoarse]; - } - - //////////////////////////////////////////////////////////////////////////////// - const unsigned ix = threadIdx.x; // Globaler x-Index - const unsigned iy = blockIdx.x; // Globaler y-Index - const unsigned iz = blockIdx.y; // Globaler z-Index - - const unsigned nx = blockDim.x; - const unsigned ny = gridDim.x; - - const unsigned k = nx*(ny*iz + iy) + ix; - ////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////// - real /* drho,*/vx1,vx2,vx3; - real f_E,f_W,f_N,f_S,f_T,f_B,f_NE,f_SW,f_SE,f_NW,f_TE,f_BW,f_BE,f_TW,f_TN,f_BS,f_BN,f_TS,/*f_ZERO,*/f_TNE, f_TSW, f_TSE, f_TNW, f_BNE, f_BSW, f_BSE, f_BNW; - - real /*f7_ZERO,*/f7_E,f7_W,f7_N,f7_S,f7_T,f7_B; - real Conc_C_C; - real Conc_F_SWB, Conc_F_SWT, Conc_F_SET, Conc_F_SEB, Conc_F_NWB, Conc_F_NWT, Conc_F_NET, Conc_F_NEB; - real a0, ax, ay, az, axx, ayy, azz, axy, axz, ayz/*, axyz*/; - - //real omegaD_C = two / (six * diffusivity_coarse + one); - //real omegaD_F = two / (six * diffusivity_coarse*two + one); - real omegaD_C = c3o1 - sqrt(c3o1); //Quick and D�rrrty - real omegaD_F = c3o1 - sqrt(c3o1); //Quick and D�rrrty - real Lam = -(c1o2-c1o1/omegaD_C); - real nue_d = Lam/c3o1; - //real ae = zero; - //real ae_F = zero; - real ae = diffusivity_coarse/nue_d - c1o1; - real ae_F = (diffusivity_coarse*c2o1)/nue_d - c1o1; - - real Mx,My,Mz,Mxx,Myy,Mzz,M0; - - - if(k<kFC){ - ////////////////////////////////////////////////////////////////////////// - real xoff = offFC.x[k]; - real yoff = offFC.y[k]; - real zoff = offFC.z[k]; - real xoff_sq = xoff * xoff; - real yoff_sq = yoff * yoff; - real zoff_sq = zoff * zoff; - ////////////////////////////////////////////////////////////////////////// - //SWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - unsigned int k0zero= posFSWB[k]; - unsigned int k0w = neighborFX[k0zero]; - unsigned int k0s = neighborFY[k0zero]; - unsigned int k0b = neighborFZ[k0zero]; - unsigned int k0sw = neighborFY[k0w]; - unsigned int k0bw = neighborFZ[k0w]; - unsigned int k0bs = neighborFZ[k0s]; - unsigned int k0bsw = neighborFZ[k0sw]; - ////////////////////////////////////////////////////////////////////////// - //index - unsigned int kzero= k0zero; - unsigned int kw = k0w; - unsigned int ks = k0s; - unsigned int kb = k0b; - unsigned int ksw = k0sw; - unsigned int kbw = k0bw; - unsigned int kbs = k0bs; - unsigned int kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - //f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - ////////////////////////////////////////////////////////////////////////////////// - //f7_ZERO = (D7F.f[0])[kzero]; - f7_E = (D7F.f[1])[kzero]; - f7_W = (D7F.f[2])[kw]; - f7_N = (D7F.f[3])[kzero]; - f7_S = (D7F.f[4])[ks]; - f7_T = (D7F.f[5])[kzero]; - f7_B = (D7F.f[6])[kb]; - - Conc_F_SWB = (D7F.f[0])[kzero]+(D7F.f[1])[kzero]+(D7F.f[2])[kw]+(D7F.f[3])[kzero]+(D7F.f[4])[ks]+(D7F.f[5])[kzero]+(D7F.f[6])[kb]; - - vx1 = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2 = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3 = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - Mx = f7_E-f7_W; - My = f7_N-f7_S; - Mz = f7_T-f7_B; - - real Diff_Conc_X_FSWB = (Conc_F_SWB * vx1 - Mx) * (c3o1*omegaD_F) / (c1o1 + ae_F); - real Diff_Conc_Y_FSWB = (Conc_F_SWB * vx2 - My) * (c3o1*omegaD_F) / (c1o1 + ae_F); - real Diff_Conc_Z_FSWB = (Conc_F_SWB * vx3 - Mz) * (c3o1*omegaD_F) / (c1o1 + ae_F); - - - - - ////////////////////////////////////////////////////////////////////////// - //SWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - //f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - ////////////////////////////////////////////////////////////////////////////////// - //f7_ZERO = (D7F.f[0])[kzero]; - f7_E = (D7F.f[1])[kzero]; - f7_W = (D7F.f[2])[kw]; - f7_N = (D7F.f[3])[kzero]; - f7_S = (D7F.f[4])[ks]; - f7_T = (D7F.f[5])[kzero]; - f7_B = (D7F.f[6])[kb]; - - Conc_F_SWT = (D7F.f[0])[kzero]+(D7F.f[1])[kzero]+(D7F.f[2])[kw]+(D7F.f[3])[kzero]+(D7F.f[4])[ks]+(D7F.f[5])[kzero]+(D7F.f[6])[kb]; - - vx1 = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2 = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3 = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - Mx = f7_E-f7_W; - My = f7_N-f7_S; - Mz = f7_T-f7_B; - - real Diff_Conc_X_FSWT = (Conc_F_SWT * vx1 - Mx) * (c3o1*omegaD_F) / (c1o1 + ae_F); - real Diff_Conc_Y_FSWT = (Conc_F_SWT * vx2 - My) * (c3o1*omegaD_F) / (c1o1 + ae_F); - real Diff_Conc_Z_FSWT = (Conc_F_SWT * vx3 - Mz) * (c3o1*omegaD_F) / (c1o1 + ae_F); - - - - - ////////////////////////////////////////////////////////////////////////// - //SET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - //f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - ////////////////////////////////////////////////////////////////////////////////// - //f7_ZERO = (D7F.f[0])[kzero]; - f7_E = (D7F.f[1])[kzero]; - f7_W = (D7F.f[2])[kw]; - f7_N = (D7F.f[3])[kzero]; - f7_S = (D7F.f[4])[ks]; - f7_T = (D7F.f[5])[kzero]; - f7_B = (D7F.f[6])[kb]; - - Conc_F_SET = (D7F.f[0])[kzero]+(D7F.f[1])[kzero]+(D7F.f[2])[kw]+(D7F.f[3])[kzero]+(D7F.f[4])[ks]+(D7F.f[5])[kzero]+(D7F.f[6])[kb]; - - vx1 = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2 = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3 = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - Mx = f7_E-f7_W; - My = f7_N-f7_S; - Mz = f7_T-f7_B; - - real Diff_Conc_X_FSET = (Conc_F_SET * vx1 - Mx) * (c3o1*omegaD_F) / (c1o1 + ae_F); - real Diff_Conc_Y_FSET = (Conc_F_SET * vx2 - My) * (c3o1*omegaD_F) / (c1o1 + ae_F); - real Diff_Conc_Z_FSET = (Conc_F_SET * vx3 - Mz) * (c3o1*omegaD_F) / (c1o1 + ae_F); - - - - - ////////////////////////////////////////////////////////////////////////// - //SEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - //f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - ////////////////////////////////////////////////////////////////////////////////// - //f7_ZERO = (D7F.f[0])[kzero]; - f7_E = (D7F.f[1])[kzero]; - f7_W = (D7F.f[2])[kw]; - f7_N = (D7F.f[3])[kzero]; - f7_S = (D7F.f[4])[ks]; - f7_T = (D7F.f[5])[kzero]; - f7_B = (D7F.f[6])[kb]; - - Conc_F_SEB = (D7F.f[0])[kzero]+(D7F.f[1])[kzero]+(D7F.f[2])[kw]+(D7F.f[3])[kzero]+(D7F.f[4])[ks]+(D7F.f[5])[kzero]+(D7F.f[6])[kb]; - - vx1 = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2 = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3 = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - Mx = f7_E-f7_W; - My = f7_N-f7_S; - Mz = f7_T-f7_B; - - real Diff_Conc_X_FSEB = (Conc_F_SEB * vx1 - Mx) * (c3o1*omegaD_F) / (c1o1 + ae_F); - real Diff_Conc_Y_FSEB = (Conc_F_SEB * vx2 - My) * (c3o1*omegaD_F) / (c1o1 + ae_F); - real Diff_Conc_Z_FSEB = (Conc_F_SEB * vx3 - Mz) * (c3o1*omegaD_F) / (c1o1 + ae_F); - - - - - ////////////////////////////////////////////////////////////////////////// - //NWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= k0s; - k0w = k0sw; - k0s = neighborFY[k0s]; - k0b = k0bs; - k0sw = neighborFY[k0sw]; - k0bw = k0bsw; - k0bs = neighborFY[k0bs]; - k0bsw = neighborFY[k0bsw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - //f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - ////////////////////////////////////////////////////////////////////////////////// - //f7_ZERO = (D7F.f[0])[kzero]; - f7_E = (D7F.f[1])[kzero]; - f7_W = (D7F.f[2])[kw]; - f7_N = (D7F.f[3])[kzero]; - f7_S = (D7F.f[4])[ks]; - f7_T = (D7F.f[5])[kzero]; - f7_B = (D7F.f[6])[kb]; - - Conc_F_NWB = (D7F.f[0])[kzero]+(D7F.f[1])[kzero]+(D7F.f[2])[kw]+(D7F.f[3])[kzero]+(D7F.f[4])[ks]+(D7F.f[5])[kzero]+(D7F.f[6])[kb]; - - vx1 = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2 = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3 = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - Mx = f7_E-f7_W; - My = f7_N-f7_S; - Mz = f7_T-f7_B; - - real Diff_Conc_X_FNWB = (Conc_F_NWB * vx1 - Mx) * (c3o1*omegaD_F) / (c1o1 + ae_F); - real Diff_Conc_Y_FNWB = (Conc_F_NWB * vx2 - My) * (c3o1*omegaD_F) / (c1o1 + ae_F); - real Diff_Conc_Z_FNWB = (Conc_F_NWB * vx3 - Mz) * (c3o1*omegaD_F) / (c1o1 + ae_F); - - - - - ////////////////////////////////////////////////////////////////////////// - //NWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - //f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - ////////////////////////////////////////////////////////////////////////////////// - //f7_ZERO = (D7F.f[0])[kzero]; - f7_E = (D7F.f[1])[kzero]; - f7_W = (D7F.f[2])[kw]; - f7_N = (D7F.f[3])[kzero]; - f7_S = (D7F.f[4])[ks]; - f7_T = (D7F.f[5])[kzero]; - f7_B = (D7F.f[6])[kb]; - - Conc_F_NWT = (D7F.f[0])[kzero]+(D7F.f[1])[kzero]+(D7F.f[2])[kw]+(D7F.f[3])[kzero]+(D7F.f[4])[ks]+(D7F.f[5])[kzero]+(D7F.f[6])[kb]; - - vx1 = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2 = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3 = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - Mx = f7_E-f7_W; - My = f7_N-f7_S; - Mz = f7_T-f7_B; - - real Diff_Conc_X_FNWT = (Conc_F_NWT * vx1 - Mx) * (c3o1*omegaD_F) / (c1o1 + ae_F); - real Diff_Conc_Y_FNWT = (Conc_F_NWT * vx2 - My) * (c3o1*omegaD_F) / (c1o1 + ae_F); - real Diff_Conc_Z_FNWT = (Conc_F_NWT * vx3 - Mz) * (c3o1*omegaD_F) / (c1o1 + ae_F); - - - - - ////////////////////////////////////////////////////////////////////////// - //NET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - //f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - ////////////////////////////////////////////////////////////////////////////////// - //f7_ZERO = (D7F.f[0])[kzero]; - f7_E = (D7F.f[1])[kzero]; - f7_W = (D7F.f[2])[kw]; - f7_N = (D7F.f[3])[kzero]; - f7_S = (D7F.f[4])[ks]; - f7_T = (D7F.f[5])[kzero]; - f7_B = (D7F.f[6])[kb]; - - Conc_F_NET = (D7F.f[0])[kzero]+(D7F.f[1])[kzero]+(D7F.f[2])[kw]+(D7F.f[3])[kzero]+(D7F.f[4])[ks]+(D7F.f[5])[kzero]+(D7F.f[6])[kb]; - - vx1 = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2 = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3 = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - Mx = f7_E-f7_W; - My = f7_N-f7_S; - Mz = f7_T-f7_B; - - real Diff_Conc_X_FNET = (Conc_F_NET * vx1 - Mx) * (c3o1*omegaD_F) / (c1o1 + ae_F); - real Diff_Conc_Y_FNET = (Conc_F_NET * vx2 - My) * (c3o1*omegaD_F) / (c1o1 + ae_F); - real Diff_Conc_Z_FNET = (Conc_F_NET * vx3 - Mz) * (c3o1*omegaD_F) / (c1o1 + ae_F); - - - - - ////////////////////////////////////////////////////////////////////////// - //NEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - //f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - ////////////////////////////////////////////////////////////////////////////////// - //f7_ZERO = (D7F.f[0])[kzero]; - f7_E = (D7F.f[1])[kzero]; - f7_W = (D7F.f[2])[kw]; - f7_N = (D7F.f[3])[kzero]; - f7_S = (D7F.f[4])[ks]; - f7_T = (D7F.f[5])[kzero]; - f7_B = (D7F.f[6])[kb]; - - Conc_F_NEB = (D7F.f[0])[kzero]+(D7F.f[1])[kzero]+(D7F.f[2])[kw]+(D7F.f[3])[kzero]+(D7F.f[4])[ks]+(D7F.f[5])[kzero]+(D7F.f[6])[kb]; - - vx1 = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2 = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3 = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - Mx = f7_E-f7_W; - My = f7_N-f7_S; - Mz = f7_T-f7_B; - - real Diff_Conc_X_FNEB = (Conc_F_NEB * vx1 - Mx) * (c3o1*omegaD_F) / (c1o1 + ae_F); - real Diff_Conc_Y_FNEB = (Conc_F_NEB * vx2 - My) * (c3o1*omegaD_F) / (c1o1 + ae_F); - real Diff_Conc_Z_FNEB = (Conc_F_NEB * vx3 - Mz) * (c3o1*omegaD_F) / (c1o1 + ae_F); - - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - - - - - //linear - //real Diff_Conc_XX = zero; - //real Diff_Conc_YY = zero; - //real Diff_Conc_ZZ = zero; - - - - - - //quadratic - axx = ((Diff_Conc_X_FNEB + Diff_Conc_X_FSEB + Diff_Conc_X_FNET + Diff_Conc_X_FSET) - (Diff_Conc_X_FNWB + Diff_Conc_X_FSWB + Diff_Conc_X_FNWT + Diff_Conc_X_FSWT)) * c1o8; - ayy = ((Diff_Conc_Y_FNEB + Diff_Conc_Y_FNWB + Diff_Conc_Y_FNET + Diff_Conc_Y_FNWT) - (Diff_Conc_Y_FSEB + Diff_Conc_Y_FSWB + Diff_Conc_Y_FSET + Diff_Conc_Y_FSWT)) * c1o8; - azz = ((Diff_Conc_Z_FSET + Diff_Conc_Z_FSWT + Diff_Conc_Z_FNET + Diff_Conc_Z_FNWT) - (Diff_Conc_Z_FSEB + Diff_Conc_Z_FSWB + Diff_Conc_Z_FNEB + Diff_Conc_Z_FNWB)) * c1o8; - - - - - //falsch - //a0=(-two*(axx+ayy+azz) + Conc_F_NEB + Conc_F_NET + Conc_F_NWB + Conc_F_NWT + Conc_F_SEB + Conc_F_SET + Conc_F_SWB + Conc_F_SWT)/eight; - //ax=(Conc_F_NEB + Conc_F_NET + Conc_F_NWB + Conc_F_NWT - Conc_F_SEB - Conc_F_SET - Conc_F_SWB - Conc_F_SWT)/four; - //ay=(Conc_F_NEB + Conc_F_NET - Conc_F_NWB - Conc_F_NWT + Conc_F_SEB + Conc_F_SET - Conc_F_SWB - Conc_F_SWT)/four; - //az=(-Conc_F_NEB + Conc_F_NET - Conc_F_NWB + Conc_F_NWT - Conc_F_SEB + Conc_F_SET - Conc_F_SWB + Conc_F_SWT)/four; - //axy=(Conc_F_NEB + Conc_F_NET - Conc_F_NWB - Conc_F_NWT - Conc_F_SEB - Conc_F_SET + Conc_F_SWB + Conc_F_SWT)/two; - //axz=(-Conc_F_NEB + Conc_F_NET - Conc_F_NWB + Conc_F_NWT + Conc_F_SEB - Conc_F_SET + Conc_F_SWB - Conc_F_SWT)/two; - //ayz=(-Conc_F_NEB + Conc_F_NET + Conc_F_NWB - Conc_F_NWT - Conc_F_SEB + Conc_F_SET + Conc_F_SWB - Conc_F_SWT)/two; - //axyz=-Conc_F_NEB + Conc_F_NET + Conc_F_NWB - Conc_F_NWT + Conc_F_SEB - Conc_F_SET - Conc_F_SWB + Conc_F_SWT; - - - - - //besser - a0=(-c2o1*axx - c2o1*ayy - c2o1*azz + Conc_F_NEB + Conc_F_NET + Conc_F_NWB + Conc_F_NWT + Conc_F_SEB + Conc_F_SET + Conc_F_SWB + Conc_F_SWT)/c8o1; - ax=(Conc_F_NEB + Conc_F_NET - Conc_F_NWB - Conc_F_NWT + Conc_F_SEB + Conc_F_SET - Conc_F_SWB - Conc_F_SWT)/c4o1; - ay=(Conc_F_NEB + Conc_F_NET + Conc_F_NWB + Conc_F_NWT - Conc_F_SEB - Conc_F_SET - Conc_F_SWB - Conc_F_SWT)/c4o1; - az=(-Conc_F_NEB + Conc_F_NET - Conc_F_NWB + Conc_F_NWT - Conc_F_SEB + Conc_F_SET - Conc_F_SWB + Conc_F_SWT)/c4o1; - axy=(Conc_F_NEB + Conc_F_NET - Conc_F_NWB - Conc_F_NWT - Conc_F_SEB - Conc_F_SET + Conc_F_SWB + Conc_F_SWT)/c2o1; - axz=(-Conc_F_NEB + Conc_F_NET + Conc_F_NWB - Conc_F_NWT - Conc_F_SEB + Conc_F_SET + Conc_F_SWB - Conc_F_SWT)/c2o1; - ayz=(-Conc_F_NEB + Conc_F_NET - Conc_F_NWB + Conc_F_NWT + Conc_F_SEB - Conc_F_SET + Conc_F_SWB - Conc_F_SWT)/c2o1; - //axyz=-Conc_F_NEB + Conc_F_NET + Conc_F_NWB - Conc_F_NWT + Conc_F_SEB - Conc_F_SET - Conc_F_SWB + Conc_F_SWT; - - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - // Bernd das Brot - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - a0 = a0 + xoff * ax + yoff * ay + zoff * az + xoff_sq * axx + yoff_sq * ayy + zoff_sq * azz; - ax = ax + c2o1 * xoff * axx + yoff * axy + zoff * axz; - ay = ay + c2o1 * yoff * ayy + xoff * axy + zoff * ayz; - az = az + c2o1 * zoff * azz + xoff * axz + yoff * ayz; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //Position C 0.5, 0.5, 0.5 - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //x = zero; - //y = zero; - //z = zero; - - ////////////////////////////////////////////////////////////////////////// - //index 0 - kzero= posC[k]; - kw = neighborCX[kzero]; - ks = neighborCY[kzero]; - kb = neighborCZ[kzero]; - ksw = neighborCY[kw]; - kbw = neighborCZ[kw]; - kbs = neighborCZ[ks]; - kbsw = neighborCZ[ksw]; - //////////////////////////////////////////////////////////////////////////////// - vx1=feC[kzero]+fneC[kzero]+fseC[ks]+fteC[kzero]+fbeC[kb]-fwC[kw]-fnwC[kw]-fswC[ksw]-ftwC[kw]-fbwC[kbw]+ftneC[kzero]-ftswC[ksw]+ftseC[ks]-ftnwC[kw]+fbneC[kb]-fbswC[kbsw]+fbseC[kbs]-fbnwC[kbw]; - vx2=fnC[kzero]+fneC[kzero]+fnwC[kw]+ftnC[kzero]+fbnC[kb]-fsC[ks]-fseC[ks]-fswC[ksw]-ftsC[ks]-fbsC[kbs]+ftneC[kzero]-ftswC[ksw]-ftseC[ks]+ftnwC[kw]+fbneC[kb]-fbswC[kbsw]-fbseC[kbs]+fbnwC[kbw]; - vx3=ftC[kzero]+fteC[kzero]+ftwC[kw]+ftnC[kzero]+ftsC[ks]-fbC[kb]-fbeC[kb]-fbwC[kbw]-fbnC[kb]-fbsC[kbs]+ftneC[kzero]+ftswC[ksw]+ftseC[ks]+ftnwC[kw]-fbneC[kb]-fbswC[kbsw]-fbseC[kbs]-fbnwC[kbw]; - - Conc_C_C = a0; //c1o8 * (Conc_F_SWB+Conc_F_SWT+Conc_F_SEB+Conc_F_SET+Conc_F_NWB+Conc_F_NWT+Conc_F_NEB+Conc_F_NET) - c4o32 * (Diff_Conc_XX + Diff_Conc_YY + Diff_Conc_ZZ); - - real Diff_Conc_X_C = ax; //c1o4 * (Conc_F_NEB - Conc_F_NWB + Conc_F_NET - Conc_F_NWT + Conc_F_SEB - Conc_F_SWB + Conc_F_SET - Conc_F_SWT); - real Diff_Conc_Y_C = ay; //c1o4 * (Conc_F_NEB - Conc_F_SEB + Conc_F_NET - Conc_F_SET + Conc_F_NWB - Conc_F_SWB + Conc_F_NWT - Conc_F_SWT); - real Diff_Conc_Z_C = az; //c1o4 * (Conc_F_NET - Conc_F_NEB + Conc_F_NWT - Conc_F_NWB + Conc_F_SET - Conc_F_SEB + Conc_F_SWT - Conc_F_SWB); - - Mx = Conc_C_C*vx1-(c1o1+ae)/(c3o1*omegaD_C)*c2o1/*c1o2*/*Diff_Conc_X_C; - My = Conc_C_C*vx2-(c1o1+ae)/(c3o1*omegaD_C)*c2o1/*c1o2*/*Diff_Conc_Y_C; - Mz = Conc_C_C*vx3-(c1o1+ae)/(c3o1*omegaD_C)*c2o1/*c1o2*/*Diff_Conc_Z_C; - Mxx= Conc_C_C*((c1o1+ae)/c3o1+(vx1*vx1)); - Myy= Conc_C_C*((c1o1+ae)/c3o1+(vx2*vx2)); - Mzz= Conc_C_C*((c1o1+ae)/c3o1+(vx3*vx3)); - M0 = Conc_C_C; - - (D7C.f[0])[kzero] = M0-Mzz-Mxx-Myy; - (D7C.f[1])[kzero] = c1o2*Mx +c1o2*Mxx; - (D7C.f[2])[kw ] = c1o2*Mxx-c1o2*Mx; - (D7C.f[3])[kzero] = c1o2*My +c1o2*Myy; - (D7C.f[4])[ks ] = c1o2*Myy-c1o2*My; - (D7C.f[5])[kzero] = c1o2*Mzz+c1o2*Mz; - (D7C.f[6])[kb ] = -c1o2*Mz +c1o2*Mzz; - } -} -////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -////////////////////////////////////////////////////////////////////////// -__global__ void scaleFCThS7( real* DC, - real* DF, - real* DD7C, - real* DD7F, - unsigned int* neighborCX, - unsigned int* neighborCY, - unsigned int* neighborCZ, - unsigned int* neighborFX, - unsigned int* neighborFY, - unsigned int* neighborFZ, - unsigned long long numberOfLBnodesCoarse, - unsigned long long numberOfLBnodesFine, - bool isEvenTimestep, - unsigned int* posC, - unsigned int* posFSWB, - unsigned int kFC, - real nu, - real diffusivity_coarse) -{ - real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, //*fzeroF, - *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - - feF = &DF[dP00 * numberOfLBnodesFine]; - fwF = &DF[dM00 * numberOfLBnodesFine]; - fnF = &DF[d0P0 * numberOfLBnodesFine]; - fsF = &DF[d0M0 * numberOfLBnodesFine]; - ftF = &DF[d00P * numberOfLBnodesFine]; - fbF = &DF[d00M * numberOfLBnodesFine]; - fneF = &DF[dPP0 * numberOfLBnodesFine]; - fswF = &DF[dMM0 * numberOfLBnodesFine]; - fseF = &DF[dPM0 * numberOfLBnodesFine]; - fnwF = &DF[dMP0 * numberOfLBnodesFine]; - fteF = &DF[dP0P * numberOfLBnodesFine]; - fbwF = &DF[dM0M * numberOfLBnodesFine]; - fbeF = &DF[dP0M * numberOfLBnodesFine]; - ftwF = &DF[dM0P * numberOfLBnodesFine]; - ftnF = &DF[d0PP * numberOfLBnodesFine]; - fbsF = &DF[d0MM * numberOfLBnodesFine]; - fbnF = &DF[d0PM * numberOfLBnodesFine]; - ftsF = &DF[d0MP * numberOfLBnodesFine]; - ftneF = &DF[dPPP * numberOfLBnodesFine]; - ftswF = &DF[dMMP * numberOfLBnodesFine]; - ftseF = &DF[dPMP * numberOfLBnodesFine]; - ftnwF = &DF[dMPP * numberOfLBnodesFine]; - fbneF = &DF[dPPM * numberOfLBnodesFine]; - fbswF = &DF[dMMM * numberOfLBnodesFine]; - fbseF = &DF[dPMM * numberOfLBnodesFine]; - fbnwF = &DF[dMPM * numberOfLBnodesFine]; - - real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, //*fzeroC, - *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; - - if (isEvenTimestep==true) - { - feC = &DC[dP00 * numberOfLBnodesCoarse]; - fwC = &DC[dM00 * numberOfLBnodesCoarse]; - fnC = &DC[d0P0 * numberOfLBnodesCoarse]; - fsC = &DC[d0M0 * numberOfLBnodesCoarse]; - ftC = &DC[d00P * numberOfLBnodesCoarse]; - fbC = &DC[d00M * numberOfLBnodesCoarse]; - fneC = &DC[dPP0 * numberOfLBnodesCoarse]; - fswC = &DC[dMM0 * numberOfLBnodesCoarse]; - fseC = &DC[dPM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dMP0 * numberOfLBnodesCoarse]; - fteC = &DC[dP0P * numberOfLBnodesCoarse]; - fbwC = &DC[dM0M * numberOfLBnodesCoarse]; - fbeC = &DC[dP0M * numberOfLBnodesCoarse]; - ftwC = &DC[dM0P * numberOfLBnodesCoarse]; - ftnC = &DC[d0PP * numberOfLBnodesCoarse]; - fbsC = &DC[d0MM * numberOfLBnodesCoarse]; - fbnC = &DC[d0PM * numberOfLBnodesCoarse]; - ftsC = &DC[d0MP * numberOfLBnodesCoarse]; - ftneC = &DC[dPPP * numberOfLBnodesCoarse]; - ftswC = &DC[dMMP * numberOfLBnodesCoarse]; - ftseC = &DC[dPMP * numberOfLBnodesCoarse]; - ftnwC = &DC[dMPP * numberOfLBnodesCoarse]; - fbneC = &DC[dPPM * numberOfLBnodesCoarse]; - fbswC = &DC[dMMM * numberOfLBnodesCoarse]; - fbseC = &DC[dPMM * numberOfLBnodesCoarse]; - fbnwC = &DC[dMPM * numberOfLBnodesCoarse]; - } - else - { - fwC = &DC[dP00 * numberOfLBnodesCoarse]; - feC = &DC[dM00 * numberOfLBnodesCoarse]; - fsC = &DC[d0P0 * numberOfLBnodesCoarse]; - fnC = &DC[d0M0 * numberOfLBnodesCoarse]; - fbC = &DC[d00P * numberOfLBnodesCoarse]; - ftC = &DC[d00M * numberOfLBnodesCoarse]; - fswC = &DC[dPP0 * numberOfLBnodesCoarse]; - fneC = &DC[dMM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dPM0 * numberOfLBnodesCoarse]; - fseC = &DC[dMP0 * numberOfLBnodesCoarse]; - fbwC = &DC[dP0P * numberOfLBnodesCoarse]; - fteC = &DC[dM0M * numberOfLBnodesCoarse]; - ftwC = &DC[dP0M * numberOfLBnodesCoarse]; - fbeC = &DC[dM0P * numberOfLBnodesCoarse]; - fbsC = &DC[d0PP * numberOfLBnodesCoarse]; - ftnC = &DC[d0MM * numberOfLBnodesCoarse]; - ftsC = &DC[d0PM * numberOfLBnodesCoarse]; - fbnC = &DC[d0MP * numberOfLBnodesCoarse]; - fbswC = &DC[dPPP * numberOfLBnodesCoarse]; - fbneC = &DC[dMMP * numberOfLBnodesCoarse]; - fbnwC = &DC[dPMP * numberOfLBnodesCoarse]; - fbseC = &DC[dMPP * numberOfLBnodesCoarse]; - ftswC = &DC[dPPM * numberOfLBnodesCoarse]; - ftneC = &DC[dMMM * numberOfLBnodesCoarse]; - ftnwC = &DC[dPMM * numberOfLBnodesCoarse]; - ftseC = &DC[dMPM * numberOfLBnodesCoarse]; - } - - Distributions7 D7F; - D7F.f[0] = &DD7F[0*numberOfLBnodesFine]; - D7F.f[1] = &DD7F[1*numberOfLBnodesFine]; - D7F.f[2] = &DD7F[2*numberOfLBnodesFine]; - D7F.f[3] = &DD7F[3*numberOfLBnodesFine]; - D7F.f[4] = &DD7F[4*numberOfLBnodesFine]; - D7F.f[5] = &DD7F[5*numberOfLBnodesFine]; - D7F.f[6] = &DD7F[6*numberOfLBnodesFine]; - - Distributions7 D7C; - if (isEvenTimestep==true) - { - D7C.f[0] = &DD7C[0*numberOfLBnodesCoarse]; - D7C.f[1] = &DD7C[1*numberOfLBnodesCoarse]; - D7C.f[2] = &DD7C[2*numberOfLBnodesCoarse]; - D7C.f[3] = &DD7C[3*numberOfLBnodesCoarse]; - D7C.f[4] = &DD7C[4*numberOfLBnodesCoarse]; - D7C.f[5] = &DD7C[5*numberOfLBnodesCoarse]; - D7C.f[6] = &DD7C[6*numberOfLBnodesCoarse]; - } - else - { - D7C.f[0] = &DD7C[0*numberOfLBnodesCoarse]; - D7C.f[2] = &DD7C[1*numberOfLBnodesCoarse]; - D7C.f[1] = &DD7C[2*numberOfLBnodesCoarse]; - D7C.f[4] = &DD7C[3*numberOfLBnodesCoarse]; - D7C.f[3] = &DD7C[4*numberOfLBnodesCoarse]; - D7C.f[6] = &DD7C[5*numberOfLBnodesCoarse]; - D7C.f[5] = &DD7C[6*numberOfLBnodesCoarse]; - } - - //////////////////////////////////////////////////////////////////////////////// - const unsigned ix = threadIdx.x; // Globaler x-Index - const unsigned iy = blockIdx.x; // Globaler y-Index - const unsigned iz = blockIdx.y; // Globaler z-Index - - const unsigned nx = blockDim.x; - const unsigned ny = gridDim.x; - - const unsigned k = nx*(ny*iz + iy) + ix; - ////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////// - real /* drho,*/vx1,vx2,vx3; - real f_E,f_W,f_N,f_S,f_T,f_B,f_NE,f_SW,f_SE,f_NW,f_TE,f_BW,f_BE,f_TW,f_TN,f_BS,f_BN,f_TS,/*f_ZERO,*/f_TNE, f_TSW, f_TSE, f_TNW, f_BNE, f_BSW, f_BSE, f_BNW; - - //real x,y,z; - real /*f7_ZERO,*/f7_E,f7_W,f7_N,f7_S,f7_T,f7_B; - real Conc_C_C; - real Conc_F_SWB, Conc_F_SWT, Conc_F_SET, Conc_F_SEB, Conc_F_NWB, Conc_F_NWT, Conc_F_NET, Conc_F_NEB; - - //real omegaD_C = two / (six * diffusivity_coarse + one); - //real omegaD_F = two / (six * diffusivity_coarse*two + one); - real omegaD_C = c3o1 - sqrt(c3o1); //Quick and D�rrrty - real omegaD_F = c3o1 - sqrt(c3o1); //Quick and D�rrrty - real Lam = -(c1o2-c1o1/omegaD_C); - real nue_d = Lam/c3o1; - //real ae = zero; - //real ae_F = zero; - real ae = diffusivity_coarse/nue_d - c1o1; - real ae_F = (diffusivity_coarse*c2o1)/nue_d - c1o1; - - //real ux_sq, uy_sq, uz_sq; - real Mx,My,Mz,Mxx,Myy,Mzz,M0; - - - if(k<kFC){ - ////////////////////////////////////////////////////////////////////////// - //SWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - unsigned int k0zero= posFSWB[k]; - unsigned int k0w = neighborFX[k0zero]; - unsigned int k0s = neighborFY[k0zero]; - unsigned int k0b = neighborFZ[k0zero]; - unsigned int k0sw = neighborFY[k0w]; - unsigned int k0bw = neighborFZ[k0w]; - unsigned int k0bs = neighborFZ[k0s]; - unsigned int k0bsw = neighborFZ[k0sw]; - ////////////////////////////////////////////////////////////////////////// - //index - unsigned int kzero= k0zero; - unsigned int kw = k0w; - unsigned int ks = k0s; - unsigned int kb = k0b; - unsigned int ksw = k0sw; - unsigned int kbw = k0bw; - unsigned int kbs = k0bs; - unsigned int kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - //f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - ////////////////////////////////////////////////////////////////////////////////// - //f7_ZERO = (D7F.f[0])[kzero]; - f7_E = (D7F.f[1])[kzero]; - f7_W = (D7F.f[2])[kw]; - f7_N = (D7F.f[3])[kzero]; - f7_S = (D7F.f[4])[ks]; - f7_T = (D7F.f[5])[kzero]; - f7_B = (D7F.f[6])[kb]; - - Conc_F_SWB = (D7F.f[0])[kzero]+(D7F.f[1])[kzero]+(D7F.f[2])[kw]+(D7F.f[3])[kzero]+(D7F.f[4])[ks]+(D7F.f[5])[kzero]+(D7F.f[6])[kb]; - - vx1 = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2 = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3 = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - Mx = f7_E-f7_W; - My = f7_N-f7_S; - Mz = f7_T-f7_B; - - real Diff_Conc_X_FSWB = (Conc_F_SWB * vx1 - Mx) * (c3o1*omegaD_F) / (c1o1 + ae_F); - real Diff_Conc_Y_FSWB = (Conc_F_SWB * vx2 - My) * (c3o1*omegaD_F) / (c1o1 + ae_F); - real Diff_Conc_Z_FSWB = (Conc_F_SWB * vx3 - Mz) * (c3o1*omegaD_F) / (c1o1 + ae_F); - - ////////////////////////////////////////////////////////////////////////// - //SWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - //f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - ////////////////////////////////////////////////////////////////////////////////// - //f7_ZERO = (D7F.f[0])[kzero]; - f7_E = (D7F.f[1])[kzero]; - f7_W = (D7F.f[2])[kw]; - f7_N = (D7F.f[3])[kzero]; - f7_S = (D7F.f[4])[ks]; - f7_T = (D7F.f[5])[kzero]; - f7_B = (D7F.f[6])[kb]; - - Conc_F_SWT = (D7F.f[0])[kzero]+(D7F.f[1])[kzero]+(D7F.f[2])[kw]+(D7F.f[3])[kzero]+(D7F.f[4])[ks]+(D7F.f[5])[kzero]+(D7F.f[6])[kb]; - - vx1 = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2 = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3 = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - Mx = f7_E-f7_W; - My = f7_N-f7_S; - Mz = f7_T-f7_B; - - real Diff_Conc_X_FSWT = (Conc_F_SWT * vx1 - Mx) * (c3o1*omegaD_F) / (c1o1 + ae_F); - real Diff_Conc_Y_FSWT = (Conc_F_SWT * vx2 - My) * (c3o1*omegaD_F) / (c1o1 + ae_F); - real Diff_Conc_Z_FSWT = (Conc_F_SWT * vx3 - Mz) * (c3o1*omegaD_F) / (c1o1 + ae_F); - - ////////////////////////////////////////////////////////////////////////// - //SET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - //f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - ////////////////////////////////////////////////////////////////////////////////// - //f7_ZERO = (D7F.f[0])[kzero]; - f7_E = (D7F.f[1])[kzero]; - f7_W = (D7F.f[2])[kw]; - f7_N = (D7F.f[3])[kzero]; - f7_S = (D7F.f[4])[ks]; - f7_T = (D7F.f[5])[kzero]; - f7_B = (D7F.f[6])[kb]; - - Conc_F_SET = (D7F.f[0])[kzero]+(D7F.f[1])[kzero]+(D7F.f[2])[kw]+(D7F.f[3])[kzero]+(D7F.f[4])[ks]+(D7F.f[5])[kzero]+(D7F.f[6])[kb]; - - vx1 = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2 = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3 = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - Mx = f7_E-f7_W; - My = f7_N-f7_S; - Mz = f7_T-f7_B; - - real Diff_Conc_X_FSET = (Conc_F_SET * vx1 - Mx) * (c3o1*omegaD_F) / (c1o1 + ae_F); - real Diff_Conc_Y_FSET = (Conc_F_SET * vx2 - My) * (c3o1*omegaD_F) / (c1o1 + ae_F); - real Diff_Conc_Z_FSET = (Conc_F_SET * vx3 - Mz) * (c3o1*omegaD_F) / (c1o1 + ae_F); - - ////////////////////////////////////////////////////////////////////////// - //SEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - //f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - ////////////////////////////////////////////////////////////////////////////////// - //f7_ZERO = (D7F.f[0])[kzero]; - f7_E = (D7F.f[1])[kzero]; - f7_W = (D7F.f[2])[kw]; - f7_N = (D7F.f[3])[kzero]; - f7_S = (D7F.f[4])[ks]; - f7_T = (D7F.f[5])[kzero]; - f7_B = (D7F.f[6])[kb]; - - Conc_F_SEB = (D7F.f[0])[kzero]+(D7F.f[1])[kzero]+(D7F.f[2])[kw]+(D7F.f[3])[kzero]+(D7F.f[4])[ks]+(D7F.f[5])[kzero]+(D7F.f[6])[kb]; - - vx1 = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2 = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3 = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - Mx = f7_E-f7_W; - My = f7_N-f7_S; - Mz = f7_T-f7_B; - - real Diff_Conc_X_FSEB = (Conc_F_SEB * vx1 - Mx) * (c3o1*omegaD_F) / (c1o1 + ae_F); - real Diff_Conc_Y_FSEB = (Conc_F_SEB * vx2 - My) * (c3o1*omegaD_F) / (c1o1 + ae_F); - real Diff_Conc_Z_FSEB = (Conc_F_SEB * vx3 - Mz) * (c3o1*omegaD_F) / (c1o1 + ae_F); - - ////////////////////////////////////////////////////////////////////////// - //NWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= k0s; - k0w = k0sw; - k0s = neighborFY[k0s]; - k0b = k0bs; - k0sw = neighborFY[k0sw]; - k0bw = k0bsw; - k0bs = neighborFY[k0bs]; - k0bsw = neighborFY[k0bsw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - //f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - ////////////////////////////////////////////////////////////////////////////////// - //f7_ZERO = (D7F.f[0])[kzero]; - f7_E = (D7F.f[1])[kzero]; - f7_W = (D7F.f[2])[kw]; - f7_N = (D7F.f[3])[kzero]; - f7_S = (D7F.f[4])[ks]; - f7_T = (D7F.f[5])[kzero]; - f7_B = (D7F.f[6])[kb]; - - Conc_F_NWB = (D7F.f[0])[kzero]+(D7F.f[1])[kzero]+(D7F.f[2])[kw]+(D7F.f[3])[kzero]+(D7F.f[4])[ks]+(D7F.f[5])[kzero]+(D7F.f[6])[kb]; - - vx1 = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2 = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3 = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - Mx = f7_E-f7_W; - My = f7_N-f7_S; - Mz = f7_T-f7_B; - - real Diff_Conc_X_FNWB = (Conc_F_NWB * vx1 - Mx) * (c3o1*omegaD_F) / (c1o1 + ae_F); - real Diff_Conc_Y_FNWB = (Conc_F_NWB * vx2 - My) * (c3o1*omegaD_F) / (c1o1 + ae_F); - real Diff_Conc_Z_FNWB = (Conc_F_NWB * vx3 - Mz) * (c3o1*omegaD_F) / (c1o1 + ae_F); - - ////////////////////////////////////////////////////////////////////////// - //NWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - //f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - ////////////////////////////////////////////////////////////////////////////////// - //f7_ZERO = (D7F.f[0])[kzero]; - f7_E = (D7F.f[1])[kzero]; - f7_W = (D7F.f[2])[kw]; - f7_N = (D7F.f[3])[kzero]; - f7_S = (D7F.f[4])[ks]; - f7_T = (D7F.f[5])[kzero]; - f7_B = (D7F.f[6])[kb]; - - Conc_F_NWT = (D7F.f[0])[kzero]+(D7F.f[1])[kzero]+(D7F.f[2])[kw]+(D7F.f[3])[kzero]+(D7F.f[4])[ks]+(D7F.f[5])[kzero]+(D7F.f[6])[kb]; - - vx1 = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2 = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3 = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - Mx = f7_E-f7_W; - My = f7_N-f7_S; - Mz = f7_T-f7_B; - - real Diff_Conc_X_FNWT = (Conc_F_NWT * vx1 - Mx) * (c3o1*omegaD_F) / (c1o1 + ae_F); - real Diff_Conc_Y_FNWT = (Conc_F_NWT * vx2 - My) * (c3o1*omegaD_F) / (c1o1 + ae_F); - real Diff_Conc_Z_FNWT = (Conc_F_NWT * vx3 - Mz) * (c3o1*omegaD_F) / (c1o1 + ae_F); - - ////////////////////////////////////////////////////////////////////////// - //NET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - //f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - ////////////////////////////////////////////////////////////////////////////////// - //f7_ZERO = (D7F.f[0])[kzero]; - f7_E = (D7F.f[1])[kzero]; - f7_W = (D7F.f[2])[kw]; - f7_N = (D7F.f[3])[kzero]; - f7_S = (D7F.f[4])[ks]; - f7_T = (D7F.f[5])[kzero]; - f7_B = (D7F.f[6])[kb]; - - Conc_F_NET = (D7F.f[0])[kzero]+(D7F.f[1])[kzero]+(D7F.f[2])[kw]+(D7F.f[3])[kzero]+(D7F.f[4])[ks]+(D7F.f[5])[kzero]+(D7F.f[6])[kb]; - - vx1 = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2 = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3 = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - Mx = f7_E-f7_W; - My = f7_N-f7_S; - Mz = f7_T-f7_B; - - real Diff_Conc_X_FNET = (Conc_F_NET * vx1 - Mx) * (c3o1*omegaD_F) / (c1o1 + ae_F); - real Diff_Conc_Y_FNET = (Conc_F_NET * vx2 - My) * (c3o1*omegaD_F) / (c1o1 + ae_F); - real Diff_Conc_Z_FNET = (Conc_F_NET * vx3 - Mz) * (c3o1*omegaD_F) / (c1o1 + ae_F); - - ////////////////////////////////////////////////////////////////////////// - //NEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - //f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - ////////////////////////////////////////////////////////////////////////////////// - //f7_ZERO = (D7F.f[0])[kzero]; - f7_E = (D7F.f[1])[kzero]; - f7_W = (D7F.f[2])[kw]; - f7_N = (D7F.f[3])[kzero]; - f7_S = (D7F.f[4])[ks]; - f7_T = (D7F.f[5])[kzero]; - f7_B = (D7F.f[6])[kb]; - - Conc_F_NEB = (D7F.f[0])[kzero]+(D7F.f[1])[kzero]+(D7F.f[2])[kw]+(D7F.f[3])[kzero]+(D7F.f[4])[ks]+(D7F.f[5])[kzero]+(D7F.f[6])[kb]; - - vx1 = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2 = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3 = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - Mx = f7_E-f7_W; - My = f7_N-f7_S; - Mz = f7_T-f7_B; - - real Diff_Conc_X_FNEB = (Conc_F_NEB * vx1 - Mx) * (c3o1*omegaD_F) / (c1o1 + ae_F); - real Diff_Conc_Y_FNEB = (Conc_F_NEB * vx2 - My) * (c3o1*omegaD_F) / (c1o1 + ae_F); - real Diff_Conc_Z_FNEB = (Conc_F_NEB * vx3 - Mz) * (c3o1*omegaD_F) / (c1o1 + ae_F); - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - //linear - //real Diff_Conc_XX = zero; - //real Diff_Conc_YY = zero; - //real Diff_Conc_ZZ = zero; - - //quadratic - real Diff_Conc_XX = ((Diff_Conc_X_FNEB + Diff_Conc_X_FSEB + Diff_Conc_X_FNET + Diff_Conc_X_FSET) - (Diff_Conc_X_FNWB + Diff_Conc_X_FSWB + Diff_Conc_X_FNWT + Diff_Conc_X_FSWT)) * c1o4; - real Diff_Conc_YY = ((Diff_Conc_Y_FNEB + Diff_Conc_Y_FNWB + Diff_Conc_Y_FNET + Diff_Conc_Y_FNWT) - (Diff_Conc_Y_FSEB + Diff_Conc_Y_FSWB + Diff_Conc_Y_FSET + Diff_Conc_Y_FSWT)) * c1o4; - real Diff_Conc_ZZ = ((Diff_Conc_Z_FSET + Diff_Conc_Z_FSWT + Diff_Conc_Z_FNET + Diff_Conc_Z_FNWT) - (Diff_Conc_Z_FSEB + Diff_Conc_Z_FSWB + Diff_Conc_Z_FNEB + Diff_Conc_Z_FNWB)) * c1o4; - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //Position C 0.5, 0.5, 0.5 - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //x = zero; - //y = zero; - //z = zero; - - ////////////////////////////////////////////////////////////////////////// - //index 0 - kzero= posC[k]; - kw = neighborCX[kzero]; - ks = neighborCY[kzero]; - kb = neighborCZ[kzero]; - ksw = neighborCY[kw]; - kbw = neighborCZ[kw]; - kbs = neighborCZ[ks]; - kbsw = neighborCZ[ksw]; - //////////////////////////////////////////////////////////////////////////////// - vx1=feC[kzero]+fneC[kzero]+fseC[ks]+fteC[kzero]+fbeC[kb]-fwC[kw]-fnwC[kw]-fswC[ksw]-ftwC[kw]-fbwC[kbw]+ftneC[kzero]-ftswC[ksw]+ftseC[ks]-ftnwC[kw]+fbneC[kb]-fbswC[kbsw]+fbseC[kbs]-fbnwC[kbw]; - vx2=fnC[kzero]+fneC[kzero]+fnwC[kw]+ftnC[kzero]+fbnC[kb]-fsC[ks]-fseC[ks]-fswC[ksw]-ftsC[ks]-fbsC[kbs]+ftneC[kzero]-ftswC[ksw]-ftseC[ks]+ftnwC[kw]+fbneC[kb]-fbswC[kbsw]-fbseC[kbs]+fbnwC[kbw]; - vx3=ftC[kzero]+fteC[kzero]+ftwC[kw]+ftnC[kzero]+ftsC[ks]-fbC[kb]-fbeC[kb]-fbwC[kbw]-fbnC[kb]-fbsC[kbs]+ftneC[kzero]+ftswC[ksw]+ftseC[ks]+ftnwC[kw]-fbneC[kb]-fbswC[kbsw]-fbseC[kbs]-fbnwC[kbw]; - - Conc_C_C = c1o8 * (Conc_F_SWB+Conc_F_SWT+Conc_F_SEB+Conc_F_SET+Conc_F_NWB+Conc_F_NWT+Conc_F_NEB+Conc_F_NET) - c4o32 * (Diff_Conc_XX + Diff_Conc_YY + Diff_Conc_ZZ); - - real Diff_Conc_X_C =c1o4 * (Conc_F_NEB - Conc_F_NWB + Conc_F_NET - Conc_F_NWT + Conc_F_SEB - Conc_F_SWB + Conc_F_SET - Conc_F_SWT); - real Diff_Conc_Y_C =c1o4 * (Conc_F_NEB - Conc_F_SEB + Conc_F_NET - Conc_F_SET + Conc_F_NWB - Conc_F_SWB + Conc_F_NWT - Conc_F_SWT); - real Diff_Conc_Z_C =c1o4 * (Conc_F_NET - Conc_F_NEB + Conc_F_NWT - Conc_F_NWB + Conc_F_SET - Conc_F_SEB + Conc_F_SWT - Conc_F_SWB); - - Mx = Conc_C_C*vx1-(c1o1+ae)/(c3o1*omegaD_C)*c2o1/*c1o2*/*Diff_Conc_X_C; - My = Conc_C_C*vx2-(c1o1+ae)/(c3o1*omegaD_C)*c2o1/*c1o2*/*Diff_Conc_Y_C; - Mz = Conc_C_C*vx3-(c1o1+ae)/(c3o1*omegaD_C)*c2o1/*c1o2*/*Diff_Conc_Z_C; - Mxx= Conc_C_C*((c1o1+ae)/c3o1+(vx1*vx1)); - Myy= Conc_C_C*((c1o1+ae)/c3o1+(vx2*vx2)); - Mzz= Conc_C_C*((c1o1+ae)/c3o1+(vx3*vx3)); - M0 = Conc_C_C; - - (D7C.f[0])[kzero] = M0-Mzz-Mxx-Myy; - (D7C.f[1])[kzero] = c1o2*Mx +c1o2*Mxx; - (D7C.f[2])[kw ] = c1o2*Mxx-c1o2*Mx; - (D7C.f[3])[kzero] = c1o2*My +c1o2*Myy; - (D7C.f[4])[ks ] = c1o2*Myy-c1o2*My; - (D7C.f[5])[kzero] = c1o2*Mzz+c1o2*Mz; - (D7C.f[6])[kb ] = -c1o2*Mz +c1o2*Mzz; - } -} -////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -////////////////////////////////////////////////////////////////////////// -__global__ void scaleFCThS27( real* DC, - real* DF, - real* DD27C, - real* DD27F, - unsigned int* neighborCX, - unsigned int* neighborCY, - unsigned int* neighborCZ, - unsigned int* neighborFX, - unsigned int* neighborFY, - unsigned int* neighborFZ, - unsigned long long numberOfLBnodesCoarse, - unsigned long long numberOfLBnodesFine, - bool isEvenTimestep, - unsigned int* posC, - unsigned int* posFSWB, - unsigned int kFC, - real nu, - real diffusivity_coarse, - ICellNeigh offFC) -{ - real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, //*fzeroF, - *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - - feF = &DF[dP00 * numberOfLBnodesFine]; - fwF = &DF[dM00 * numberOfLBnodesFine]; - fnF = &DF[d0P0 * numberOfLBnodesFine]; - fsF = &DF[d0M0 * numberOfLBnodesFine]; - ftF = &DF[d00P * numberOfLBnodesFine]; - fbF = &DF[d00M * numberOfLBnodesFine]; - fneF = &DF[dPP0 * numberOfLBnodesFine]; - fswF = &DF[dMM0 * numberOfLBnodesFine]; - fseF = &DF[dPM0 * numberOfLBnodesFine]; - fnwF = &DF[dMP0 * numberOfLBnodesFine]; - fteF = &DF[dP0P * numberOfLBnodesFine]; - fbwF = &DF[dM0M * numberOfLBnodesFine]; - fbeF = &DF[dP0M * numberOfLBnodesFine]; - ftwF = &DF[dM0P * numberOfLBnodesFine]; - ftnF = &DF[d0PP * numberOfLBnodesFine]; - fbsF = &DF[d0MM * numberOfLBnodesFine]; - fbnF = &DF[d0PM * numberOfLBnodesFine]; - ftsF = &DF[d0MP * numberOfLBnodesFine]; - ftneF = &DF[dPPP * numberOfLBnodesFine]; - ftswF = &DF[dMMP * numberOfLBnodesFine]; - ftseF = &DF[dPMP * numberOfLBnodesFine]; - ftnwF = &DF[dMPP * numberOfLBnodesFine]; - fbneF = &DF[dPPM * numberOfLBnodesFine]; - fbswF = &DF[dMMM * numberOfLBnodesFine]; - fbseF = &DF[dPMM * numberOfLBnodesFine]; - fbnwF = &DF[dMPM * numberOfLBnodesFine]; - - real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, //*fzeroC, - *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; - - if (isEvenTimestep==true) - { - feC = &DC[dP00 * numberOfLBnodesCoarse]; - fwC = &DC[dM00 * numberOfLBnodesCoarse]; - fnC = &DC[d0P0 * numberOfLBnodesCoarse]; - fsC = &DC[d0M0 * numberOfLBnodesCoarse]; - ftC = &DC[d00P * numberOfLBnodesCoarse]; - fbC = &DC[d00M * numberOfLBnodesCoarse]; - fneC = &DC[dPP0 * numberOfLBnodesCoarse]; - fswC = &DC[dMM0 * numberOfLBnodesCoarse]; - fseC = &DC[dPM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dMP0 * numberOfLBnodesCoarse]; - fteC = &DC[dP0P * numberOfLBnodesCoarse]; - fbwC = &DC[dM0M * numberOfLBnodesCoarse]; - fbeC = &DC[dP0M * numberOfLBnodesCoarse]; - ftwC = &DC[dM0P * numberOfLBnodesCoarse]; - ftnC = &DC[d0PP * numberOfLBnodesCoarse]; - fbsC = &DC[d0MM * numberOfLBnodesCoarse]; - fbnC = &DC[d0PM * numberOfLBnodesCoarse]; - ftsC = &DC[d0MP * numberOfLBnodesCoarse]; - ftneC = &DC[dPPP * numberOfLBnodesCoarse]; - ftswC = &DC[dMMP * numberOfLBnodesCoarse]; - ftseC = &DC[dPMP * numberOfLBnodesCoarse]; - ftnwC = &DC[dMPP * numberOfLBnodesCoarse]; - fbneC = &DC[dPPM * numberOfLBnodesCoarse]; - fbswC = &DC[dMMM * numberOfLBnodesCoarse]; - fbseC = &DC[dPMM * numberOfLBnodesCoarse]; - fbnwC = &DC[dMPM * numberOfLBnodesCoarse]; - } - else - { - fwC = &DC[dP00 * numberOfLBnodesCoarse]; - feC = &DC[dM00 * numberOfLBnodesCoarse]; - fsC = &DC[d0P0 * numberOfLBnodesCoarse]; - fnC = &DC[d0M0 * numberOfLBnodesCoarse]; - fbC = &DC[d00P * numberOfLBnodesCoarse]; - ftC = &DC[d00M * numberOfLBnodesCoarse]; - fswC = &DC[dPP0 * numberOfLBnodesCoarse]; - fneC = &DC[dMM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dPM0 * numberOfLBnodesCoarse]; - fseC = &DC[dMP0 * numberOfLBnodesCoarse]; - fbwC = &DC[dP0P * numberOfLBnodesCoarse]; - fteC = &DC[dM0M * numberOfLBnodesCoarse]; - ftwC = &DC[dP0M * numberOfLBnodesCoarse]; - fbeC = &DC[dM0P * numberOfLBnodesCoarse]; - fbsC = &DC[d0PP * numberOfLBnodesCoarse]; - ftnC = &DC[d0MM * numberOfLBnodesCoarse]; - ftsC = &DC[d0PM * numberOfLBnodesCoarse]; - fbnC = &DC[d0MP * numberOfLBnodesCoarse]; - fbswC = &DC[dPPP * numberOfLBnodesCoarse]; - fbneC = &DC[dMMP * numberOfLBnodesCoarse]; - fbnwC = &DC[dPMP * numberOfLBnodesCoarse]; - fbseC = &DC[dMPP * numberOfLBnodesCoarse]; - ftswC = &DC[dPPM * numberOfLBnodesCoarse]; - ftneC = &DC[dMMM * numberOfLBnodesCoarse]; - ftnwC = &DC[dPMM * numberOfLBnodesCoarse]; - ftseC = &DC[dMPM * numberOfLBnodesCoarse]; - } - - Distributions27 D27F; - D27F.f[dP00] = &DD27F[dP00 * numberOfLBnodesFine]; - D27F.f[dM00] = &DD27F[dM00 * numberOfLBnodesFine]; - D27F.f[d0P0] = &DD27F[d0P0 * numberOfLBnodesFine]; - D27F.f[d0M0] = &DD27F[d0M0 * numberOfLBnodesFine]; - D27F.f[d00P] = &DD27F[d00P * numberOfLBnodesFine]; - D27F.f[d00M] = &DD27F[d00M * numberOfLBnodesFine]; - D27F.f[dPP0] = &DD27F[dPP0 * numberOfLBnodesFine]; - D27F.f[dMM0] = &DD27F[dMM0 * numberOfLBnodesFine]; - D27F.f[dPM0] = &DD27F[dPM0 * numberOfLBnodesFine]; - D27F.f[dMP0] = &DD27F[dMP0 * numberOfLBnodesFine]; - D27F.f[dP0P] = &DD27F[dP0P * numberOfLBnodesFine]; - D27F.f[dM0M] = &DD27F[dM0M * numberOfLBnodesFine]; - D27F.f[dP0M] = &DD27F[dP0M * numberOfLBnodesFine]; - D27F.f[dM0P] = &DD27F[dM0P * numberOfLBnodesFine]; - D27F.f[d0PP] = &DD27F[d0PP * numberOfLBnodesFine]; - D27F.f[d0MM] = &DD27F[d0MM * numberOfLBnodesFine]; - D27F.f[d0PM] = &DD27F[d0PM * numberOfLBnodesFine]; - D27F.f[d0MP] = &DD27F[d0MP * numberOfLBnodesFine]; - D27F.f[d000] = &DD27F[d000 * numberOfLBnodesFine]; - D27F.f[dPPP] = &DD27F[dPPP * numberOfLBnodesFine]; - D27F.f[dMMP] = &DD27F[dMMP * numberOfLBnodesFine]; - D27F.f[dPMP] = &DD27F[dPMP * numberOfLBnodesFine]; - D27F.f[dMPP] = &DD27F[dMPP * numberOfLBnodesFine]; - D27F.f[dPPM] = &DD27F[dPPM * numberOfLBnodesFine]; - D27F.f[dMMM] = &DD27F[dMMM * numberOfLBnodesFine]; - D27F.f[dPMM] = &DD27F[dPMM * numberOfLBnodesFine]; - D27F.f[dMPM] = &DD27F[dMPM * numberOfLBnodesFine]; - - Distributions27 D27C; - if (isEvenTimestep==true) - { - D27C.f[dP00] = &DD27C[dP00 * numberOfLBnodesCoarse]; - D27C.f[dM00] = &DD27C[dM00 * numberOfLBnodesCoarse]; - D27C.f[d0P0] = &DD27C[d0P0 * numberOfLBnodesCoarse]; - D27C.f[d0M0] = &DD27C[d0M0 * numberOfLBnodesCoarse]; - D27C.f[d00P] = &DD27C[d00P * numberOfLBnodesCoarse]; - D27C.f[d00M] = &DD27C[d00M * numberOfLBnodesCoarse]; - D27C.f[dPP0] = &DD27C[dPP0 * numberOfLBnodesCoarse]; - D27C.f[dMM0] = &DD27C[dMM0 * numberOfLBnodesCoarse]; - D27C.f[dPM0] = &DD27C[dPM0 * numberOfLBnodesCoarse]; - D27C.f[dMP0] = &DD27C[dMP0 * numberOfLBnodesCoarse]; - D27C.f[dP0P] = &DD27C[dP0P * numberOfLBnodesCoarse]; - D27C.f[dM0M] = &DD27C[dM0M * numberOfLBnodesCoarse]; - D27C.f[dP0M] = &DD27C[dP0M * numberOfLBnodesCoarse]; - D27C.f[dM0P] = &DD27C[dM0P * numberOfLBnodesCoarse]; - D27C.f[d0PP] = &DD27C[d0PP * numberOfLBnodesCoarse]; - D27C.f[d0MM] = &DD27C[d0MM * numberOfLBnodesCoarse]; - D27C.f[d0PM] = &DD27C[d0PM * numberOfLBnodesCoarse]; - D27C.f[d0MP] = &DD27C[d0MP * numberOfLBnodesCoarse]; - D27C.f[d000] = &DD27C[d000 * numberOfLBnodesCoarse]; - D27C.f[dPPP] = &DD27C[dPPP * numberOfLBnodesCoarse]; - D27C.f[dMMP] = &DD27C[dMMP * numberOfLBnodesCoarse]; - D27C.f[dPMP] = &DD27C[dPMP * numberOfLBnodesCoarse]; - D27C.f[dMPP] = &DD27C[dMPP * numberOfLBnodesCoarse]; - D27C.f[dPPM] = &DD27C[dPPM * numberOfLBnodesCoarse]; - D27C.f[dMMM] = &DD27C[dMMM * numberOfLBnodesCoarse]; - D27C.f[dPMM] = &DD27C[dPMM * numberOfLBnodesCoarse]; - D27C.f[dMPM] = &DD27C[dMPM * numberOfLBnodesCoarse]; - } - else - { - D27C.f[dM00] = &DD27C[dP00 * numberOfLBnodesCoarse]; - D27C.f[dP00] = &DD27C[dM00 * numberOfLBnodesCoarse]; - D27C.f[d0M0] = &DD27C[d0P0 * numberOfLBnodesCoarse]; - D27C.f[d0P0] = &DD27C[d0M0 * numberOfLBnodesCoarse]; - D27C.f[d00M] = &DD27C[d00P * numberOfLBnodesCoarse]; - D27C.f[d00P] = &DD27C[d00M * numberOfLBnodesCoarse]; - D27C.f[dMM0] = &DD27C[dPP0 * numberOfLBnodesCoarse]; - D27C.f[dPP0] = &DD27C[dMM0 * numberOfLBnodesCoarse]; - D27C.f[dMP0] = &DD27C[dPM0 * numberOfLBnodesCoarse]; - D27C.f[dPM0] = &DD27C[dMP0 * numberOfLBnodesCoarse]; - D27C.f[dM0M] = &DD27C[dP0P * numberOfLBnodesCoarse]; - D27C.f[dP0P] = &DD27C[dM0M * numberOfLBnodesCoarse]; - D27C.f[dM0P] = &DD27C[dP0M * numberOfLBnodesCoarse]; - D27C.f[dP0M] = &DD27C[dM0P * numberOfLBnodesCoarse]; - D27C.f[d0MM] = &DD27C[d0PP * numberOfLBnodesCoarse]; - D27C.f[d0PP] = &DD27C[d0MM * numberOfLBnodesCoarse]; - D27C.f[d0MP] = &DD27C[d0PM * numberOfLBnodesCoarse]; - D27C.f[d0PM] = &DD27C[d0MP * numberOfLBnodesCoarse]; - D27C.f[d000] = &DD27C[d000 * numberOfLBnodesCoarse]; - D27C.f[dMMM] = &DD27C[dPPP * numberOfLBnodesCoarse]; - D27C.f[dPPM] = &DD27C[dMMP * numberOfLBnodesCoarse]; - D27C.f[dMPM] = &DD27C[dPMP * numberOfLBnodesCoarse]; - D27C.f[dPMM] = &DD27C[dMPP * numberOfLBnodesCoarse]; - D27C.f[dMMP] = &DD27C[dPPM * numberOfLBnodesCoarse]; - D27C.f[dPPP] = &DD27C[dMMM * numberOfLBnodesCoarse]; - D27C.f[dMPP] = &DD27C[dPMM * numberOfLBnodesCoarse]; - D27C.f[dPMP] = &DD27C[dMPM * numberOfLBnodesCoarse]; - } - - //////////////////////////////////////////////////////////////////////////////// - const unsigned ix = threadIdx.x; // Globaler x-Index - const unsigned iy = blockIdx.x; // Globaler y-Index - const unsigned iz = blockIdx.y; // Globaler z-Index - - const unsigned nx = blockDim.x; - const unsigned ny = gridDim.x; - - const unsigned k = nx*(ny*iz + iy) + ix; - ////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////// - real /* drho,*/vx1,vx2,vx3,cu_sq; - real f_E,f_W,f_N,f_S,f_T,f_B,f_NE,f_SW,f_SE,f_NW,f_TE,f_BW,f_BE,f_TW,f_TN,f_BS,f_BN,f_TS,/*f_ZERO,*/f_TNE, f_TSW, f_TSE, f_TNW, f_BNE, f_BSW, f_BSE, f_BNW; - - real f27E,f27W,f27N,f27S,f27T,f27B,f27NE,f27SW,f27SE,f27NW,f27TE,f27BW,f27BE,f27TW,f27TN,f27BS,f27BN,f27TS,f27ZERO,f27TNE,f27TSW,f27TSE,f27TNW,f27BNE,f27BSW,f27BSE,f27BNW; - real Mx,My,Mz/*,Mxx,Myy,Mzz,M0*/; - //real Conc_C_C; - real Conc_F_SWB, Conc_F_SWT, Conc_F_SET, Conc_F_SEB, Conc_F_NWB, Conc_F_NWT, Conc_F_NET, Conc_F_NEB; - - real omegaD_C = c2o1 / (c6o1 * diffusivity_coarse + c1o1); - real omegaD_F = c2o1 / (c6o1 * diffusivity_coarse*c2o1 + c1o1); - //real omegaD = -three + sqrt(three); - //real Lam = -(c1o2+one/omegaD); - //real nue_d = Lam/three; - //real ae = zero; - //real ae_F = zero; - //real ae = diffusivity_fine/nue_d - one; - //real ae_F = (diffusivity_fine/two)/nue_d - one; - - // real x, y, z; - real xoff, yoff, zoff; - real xoff_sq, yoff_sq, zoff_sq; - - if(k<kFC){ - ////////////////////////////////////////////////////////////////////////// - xoff = offFC.x[k]; - yoff = offFC.y[k]; - zoff = offFC.z[k]; - xoff_sq = xoff * xoff; - yoff_sq = yoff * yoff; - zoff_sq = zoff * zoff; - ////////////////////////////////////////////////////////////////////////// - //SWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - unsigned int k0zero= posFSWB[k]; - unsigned int k0w = neighborFX[k0zero]; - unsigned int k0s = neighborFY[k0zero]; - unsigned int k0b = neighborFZ[k0zero]; - unsigned int k0sw = neighborFY[k0w]; - unsigned int k0bw = neighborFZ[k0w]; - unsigned int k0bs = neighborFZ[k0s]; - unsigned int k0bsw = neighborFZ[k0sw]; - ////////////////////////////////////////////////////////////////////////// - //index - unsigned int kzero= k0zero; - unsigned int kw = k0w; - unsigned int ks = k0s; - unsigned int kb = k0b; - unsigned int ksw = k0sw; - unsigned int kbw = k0bw; - unsigned int kbs = k0bs; - unsigned int kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - //f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - ////////////////////////////////////////////////////////////////////////////////// - f27E = (D27F.f[dP00])[kzero];//ke - f27W = (D27F.f[dM00])[kw ]; - f27N = (D27F.f[d0P0])[kzero];//kn - f27S = (D27F.f[d0M0])[ks ]; - f27T = (D27F.f[d00P])[kzero];//kt - f27B = (D27F.f[d00M])[kb ]; - f27NE = (D27F.f[dPP0])[kzero];//kne - f27SW = (D27F.f[dMM0])[ksw ]; - f27SE = (D27F.f[dPM0])[ks ];//kse - f27NW = (D27F.f[dMP0])[kw ];//knw - f27TE = (D27F.f[dP0P])[kzero];//kte - f27BW = (D27F.f[dM0M])[kbw ]; - f27BE = (D27F.f[dP0M])[kb ];//kbe - f27TW = (D27F.f[dM0P])[kw ];//ktw - f27TN = (D27F.f[d0PP])[kzero];//ktn - f27BS = (D27F.f[d0MM])[kbs ]; - f27BN = (D27F.f[d0PM])[kb ];//kbn - f27TS = (D27F.f[d0MP])[ks ];//kts - f27ZERO = (D27F.f[d000])[kzero];//kzero - f27TNE = (D27F.f[dPPP])[kzero];//ktne - f27TSW = (D27F.f[dMMP])[ksw ];//ktsw - f27TSE = (D27F.f[dPMP])[ks ];//ktse - f27TNW = (D27F.f[dMPP])[kw ];//ktnw - f27BNE = (D27F.f[dPPM])[kb ];//kbne - f27BSW = (D27F.f[dMMM])[kbsw ]; - f27BSE = (D27F.f[dPMM])[kbs ];//kbse - f27BNW = (D27F.f[dMPM])[kbw ];//kbnw - - Conc_F_SWB = f27E + f27W + f27N + f27S + f27T + f27B + f27NE + f27SW + f27SE + f27NW + - f27TE + f27BW + f27BE + f27TW + f27TN + f27BS + f27BN + f27TS + f27ZERO + - f27TNE + f27TSW + f27TSE + f27TNW + f27BNE + f27BSW + f27BSE + f27BNW; - - vx1 = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2 = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3 = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - Mx =f27E+f27NE+f27SE+f27TE+f27BE-f27W-f27NW-f27SW-f27TW-f27BW+f27TNE-f27TSW+f27TSE-f27TNW+f27BNE-f27BSW+f27BSE-f27BNW; - My =f27N+f27NE+f27NW+f27TN+f27BN-f27S-f27SE-f27SW-f27TS-f27BS+f27TNE-f27TSW-f27TSE+f27TNW+f27BNE-f27BSW-f27BSE+f27BNW; - Mz =f27T+f27TE+f27TW+f27TN+f27TS-f27B-f27BE-f27BW-f27BN-f27BS+f27TNE+f27TSW+f27TSE+f27TNW-f27BNE-f27BSW-f27BSE-f27BNW; - - real Diff_Conc_X_FSWB = (Conc_F_SWB * vx1 - Mx) * (c3o1*omegaD_F); - real Diff_Conc_Y_FSWB = (Conc_F_SWB * vx2 - My) * (c3o1*omegaD_F); - real Diff_Conc_Z_FSWB = (Conc_F_SWB * vx3 - Mz) * (c3o1*omegaD_F); - - - - - ////////////////////////////////////////////////////////////////////////// - //SWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - //f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - ////////////////////////////////////////////////////////////////////////////////// - f27E = (D27F.f[dP00])[kzero];//ke - f27W = (D27F.f[dM00])[kw ]; - f27N = (D27F.f[d0P0])[kzero];//kn - f27S = (D27F.f[d0M0])[ks ]; - f27T = (D27F.f[d00P])[kzero];//kt - f27B = (D27F.f[d00M])[kb ]; - f27NE = (D27F.f[dPP0])[kzero];//kne - f27SW = (D27F.f[dMM0])[ksw ]; - f27SE = (D27F.f[dPM0])[ks ];//kse - f27NW = (D27F.f[dMP0])[kw ];//knw - f27TE = (D27F.f[dP0P])[kzero];//kte - f27BW = (D27F.f[dM0M])[kbw ]; - f27BE = (D27F.f[dP0M])[kb ];//kbe - f27TW = (D27F.f[dM0P])[kw ];//ktw - f27TN = (D27F.f[d0PP])[kzero];//ktn - f27BS = (D27F.f[d0MM])[kbs ]; - f27BN = (D27F.f[d0PM])[kb ];//kbn - f27TS = (D27F.f[d0MP])[ks ];//kts - f27ZERO = (D27F.f[d000])[kzero];//kzero - f27TNE = (D27F.f[dPPP])[kzero];//ktne - f27TSW = (D27F.f[dMMP])[ksw ];//ktsw - f27TSE = (D27F.f[dPMP])[ks ];//ktse - f27TNW = (D27F.f[dMPP])[kw ];//ktnw - f27BNE = (D27F.f[dPPM])[kb ];//kbne - f27BSW = (D27F.f[dMMM])[kbsw ]; - f27BSE = (D27F.f[dPMM])[kbs ];//kbse - f27BNW = (D27F.f[dMPM])[kbw ];//kbnw - - Conc_F_SWT = f27E + f27W + f27N + f27S + f27T + f27B + f27NE + f27SW + f27SE + f27NW + - f27TE + f27BW + f27BE + f27TW + f27TN + f27BS + f27BN + f27TS + f27ZERO + - f27TNE + f27TSW + f27TSE + f27TNW + f27BNE + f27BSW + f27BSE + f27BNW; - - vx1 = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2 = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3 = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - Mx =f27E+f27NE+f27SE+f27TE+f27BE-f27W-f27NW-f27SW-f27TW-f27BW+f27TNE-f27TSW+f27TSE-f27TNW+f27BNE-f27BSW+f27BSE-f27BNW; - My =f27N+f27NE+f27NW+f27TN+f27BN-f27S-f27SE-f27SW-f27TS-f27BS+f27TNE-f27TSW-f27TSE+f27TNW+f27BNE-f27BSW-f27BSE+f27BNW; - Mz =f27T+f27TE+f27TW+f27TN+f27TS-f27B-f27BE-f27BW-f27BN-f27BS+f27TNE+f27TSW+f27TSE+f27TNW-f27BNE-f27BSW-f27BSE-f27BNW; - - real Diff_Conc_X_FSWT = (Conc_F_SWT * vx1 - Mx) * (c3o1*omegaD_F); - real Diff_Conc_Y_FSWT = (Conc_F_SWT * vx2 - My) * (c3o1*omegaD_F); - real Diff_Conc_Z_FSWT = (Conc_F_SWT * vx3 - Mz) * (c3o1*omegaD_F); - - - - - ////////////////////////////////////////////////////////////////////////// - //SET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - //f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - ////////////////////////////////////////////////////////////////////////////////// - f27E = (D27F.f[dP00])[kzero];//ke - f27W = (D27F.f[dM00])[kw ]; - f27N = (D27F.f[d0P0])[kzero];//kn - f27S = (D27F.f[d0M0])[ks ]; - f27T = (D27F.f[d00P])[kzero];//kt - f27B = (D27F.f[d00M])[kb ]; - f27NE = (D27F.f[dPP0])[kzero];//kne - f27SW = (D27F.f[dMM0])[ksw ]; - f27SE = (D27F.f[dPM0])[ks ];//kse - f27NW = (D27F.f[dMP0])[kw ];//knw - f27TE = (D27F.f[dP0P])[kzero];//kte - f27BW = (D27F.f[dM0M])[kbw ]; - f27BE = (D27F.f[dP0M])[kb ];//kbe - f27TW = (D27F.f[dM0P])[kw ];//ktw - f27TN = (D27F.f[d0PP])[kzero];//ktn - f27BS = (D27F.f[d0MM])[kbs ]; - f27BN = (D27F.f[d0PM])[kb ];//kbn - f27TS = (D27F.f[d0MP])[ks ];//kts - f27ZERO = (D27F.f[d000])[kzero];//kzero - f27TNE = (D27F.f[dPPP])[kzero];//ktne - f27TSW = (D27F.f[dMMP])[ksw ];//ktsw - f27TSE = (D27F.f[dPMP])[ks ];//ktse - f27TNW = (D27F.f[dMPP])[kw ];//ktnw - f27BNE = (D27F.f[dPPM])[kb ];//kbne - f27BSW = (D27F.f[dMMM])[kbsw ]; - f27BSE = (D27F.f[dPMM])[kbs ];//kbse - f27BNW = (D27F.f[dMPM])[kbw ];//kbnw - - Conc_F_SET = f27E + f27W + f27N + f27S + f27T + f27B + f27NE + f27SW + f27SE + f27NW + - f27TE + f27BW + f27BE + f27TW + f27TN + f27BS + f27BN + f27TS + f27ZERO + - f27TNE + f27TSW + f27TSE + f27TNW + f27BNE + f27BSW + f27BSE + f27BNW; - - vx1 = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2 = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3 = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - Mx =f27E+f27NE+f27SE+f27TE+f27BE-f27W-f27NW-f27SW-f27TW-f27BW+f27TNE-f27TSW+f27TSE-f27TNW+f27BNE-f27BSW+f27BSE-f27BNW; - My =f27N+f27NE+f27NW+f27TN+f27BN-f27S-f27SE-f27SW-f27TS-f27BS+f27TNE-f27TSW-f27TSE+f27TNW+f27BNE-f27BSW-f27BSE+f27BNW; - Mz =f27T+f27TE+f27TW+f27TN+f27TS-f27B-f27BE-f27BW-f27BN-f27BS+f27TNE+f27TSW+f27TSE+f27TNW-f27BNE-f27BSW-f27BSE-f27BNW; - - real Diff_Conc_X_FSET = (Conc_F_SET * vx1 - Mx) * (c3o1*omegaD_F); - real Diff_Conc_Y_FSET = (Conc_F_SET * vx2 - My) * (c3o1*omegaD_F); - real Diff_Conc_Z_FSET = (Conc_F_SET * vx3 - Mz) * (c3o1*omegaD_F); - - - - - ////////////////////////////////////////////////////////////////////////// - //SEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - //f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - ////////////////////////////////////////////////////////////////////////////////// - f27E = (D27F.f[dP00])[kzero];//ke - f27W = (D27F.f[dM00])[kw ]; - f27N = (D27F.f[d0P0])[kzero];//kn - f27S = (D27F.f[d0M0])[ks ]; - f27T = (D27F.f[d00P])[kzero];//kt - f27B = (D27F.f[d00M])[kb ]; - f27NE = (D27F.f[dPP0])[kzero];//kne - f27SW = (D27F.f[dMM0])[ksw ]; - f27SE = (D27F.f[dPM0])[ks ];//kse - f27NW = (D27F.f[dMP0])[kw ];//knw - f27TE = (D27F.f[dP0P])[kzero];//kte - f27BW = (D27F.f[dM0M])[kbw ]; - f27BE = (D27F.f[dP0M])[kb ];//kbe - f27TW = (D27F.f[dM0P])[kw ];//ktw - f27TN = (D27F.f[d0PP])[kzero];//ktn - f27BS = (D27F.f[d0MM])[kbs ]; - f27BN = (D27F.f[d0PM])[kb ];//kbn - f27TS = (D27F.f[d0MP])[ks ];//kts - f27ZERO = (D27F.f[d000])[kzero];//kzero - f27TNE = (D27F.f[dPPP])[kzero];//ktne - f27TSW = (D27F.f[dMMP])[ksw ];//ktsw - f27TSE = (D27F.f[dPMP])[ks ];//ktse - f27TNW = (D27F.f[dMPP])[kw ];//ktnw - f27BNE = (D27F.f[dPPM])[kb ];//kbne - f27BSW = (D27F.f[dMMM])[kbsw ]; - f27BSE = (D27F.f[dPMM])[kbs ];//kbse - f27BNW = (D27F.f[dMPM])[kbw ];//kbnw - - Conc_F_SEB = f27E + f27W + f27N + f27S + f27T + f27B + f27NE + f27SW + f27SE + f27NW + - f27TE + f27BW + f27BE + f27TW + f27TN + f27BS + f27BN + f27TS + f27ZERO + - f27TNE + f27TSW + f27TSE + f27TNW + f27BNE + f27BSW + f27BSE + f27BNW; - - vx1 = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2 = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3 = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - Mx =f27E+f27NE+f27SE+f27TE+f27BE-f27W-f27NW-f27SW-f27TW-f27BW+f27TNE-f27TSW+f27TSE-f27TNW+f27BNE-f27BSW+f27BSE-f27BNW; - My =f27N+f27NE+f27NW+f27TN+f27BN-f27S-f27SE-f27SW-f27TS-f27BS+f27TNE-f27TSW-f27TSE+f27TNW+f27BNE-f27BSW-f27BSE+f27BNW; - Mz =f27T+f27TE+f27TW+f27TN+f27TS-f27B-f27BE-f27BW-f27BN-f27BS+f27TNE+f27TSW+f27TSE+f27TNW-f27BNE-f27BSW-f27BSE-f27BNW; - - real Diff_Conc_X_FSEB = (Conc_F_SEB * vx1 - Mx) * (c3o1*omegaD_F); - real Diff_Conc_Y_FSEB = (Conc_F_SEB * vx2 - My) * (c3o1*omegaD_F); - real Diff_Conc_Z_FSEB = (Conc_F_SEB * vx3 - Mz) * (c3o1*omegaD_F); - - - - - ////////////////////////////////////////////////////////////////////////// - //NWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= k0s; - k0w = k0sw; - k0s = neighborFY[k0s]; - k0b = k0bs; - k0sw = neighborFY[k0sw]; - k0bw = k0bsw; - k0bs = neighborFY[k0bs]; - k0bsw = neighborFY[k0bsw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - //f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - ////////////////////////////////////////////////////////////////////////////////// - f27E = (D27F.f[dP00])[kzero];//ke - f27W = (D27F.f[dM00])[kw ]; - f27N = (D27F.f[d0P0])[kzero];//kn - f27S = (D27F.f[d0M0])[ks ]; - f27T = (D27F.f[d00P])[kzero];//kt - f27B = (D27F.f[d00M])[kb ]; - f27NE = (D27F.f[dPP0])[kzero];//kne - f27SW = (D27F.f[dMM0])[ksw ]; - f27SE = (D27F.f[dPM0])[ks ];//kse - f27NW = (D27F.f[dMP0])[kw ];//knw - f27TE = (D27F.f[dP0P])[kzero];//kte - f27BW = (D27F.f[dM0M])[kbw ]; - f27BE = (D27F.f[dP0M])[kb ];//kbe - f27TW = (D27F.f[dM0P])[kw ];//ktw - f27TN = (D27F.f[d0PP])[kzero];//ktn - f27BS = (D27F.f[d0MM])[kbs ]; - f27BN = (D27F.f[d0PM])[kb ];//kbn - f27TS = (D27F.f[d0MP])[ks ];//kts - f27ZERO = (D27F.f[d000])[kzero];//kzero - f27TNE = (D27F.f[dPPP])[kzero];//ktne - f27TSW = (D27F.f[dMMP])[ksw ];//ktsw - f27TSE = (D27F.f[dPMP])[ks ];//ktse - f27TNW = (D27F.f[dMPP])[kw ];//ktnw - f27BNE = (D27F.f[dPPM])[kb ];//kbne - f27BSW = (D27F.f[dMMM])[kbsw ]; - f27BSE = (D27F.f[dPMM])[kbs ];//kbse - f27BNW = (D27F.f[dMPM])[kbw ];//kbnw - - Conc_F_NWB = f27E + f27W + f27N + f27S + f27T + f27B + f27NE + f27SW + f27SE + f27NW + - f27TE + f27BW + f27BE + f27TW + f27TN + f27BS + f27BN + f27TS + f27ZERO + - f27TNE + f27TSW + f27TSE + f27TNW + f27BNE + f27BSW + f27BSE + f27BNW; - - vx1 = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2 = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3 = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - Mx =f27E+f27NE+f27SE+f27TE+f27BE-f27W-f27NW-f27SW-f27TW-f27BW+f27TNE-f27TSW+f27TSE-f27TNW+f27BNE-f27BSW+f27BSE-f27BNW; - My =f27N+f27NE+f27NW+f27TN+f27BN-f27S-f27SE-f27SW-f27TS-f27BS+f27TNE-f27TSW-f27TSE+f27TNW+f27BNE-f27BSW-f27BSE+f27BNW; - Mz =f27T+f27TE+f27TW+f27TN+f27TS-f27B-f27BE-f27BW-f27BN-f27BS+f27TNE+f27TSW+f27TSE+f27TNW-f27BNE-f27BSW-f27BSE-f27BNW; - - real Diff_Conc_X_FNWB = (Conc_F_NWB * vx1 - Mx) * (c3o1*omegaD_F); - real Diff_Conc_Y_FNWB = (Conc_F_NWB * vx2 - My) * (c3o1*omegaD_F); - real Diff_Conc_Z_FNWB = (Conc_F_NWB * vx3 - Mz) * (c3o1*omegaD_F); - - - - - ////////////////////////////////////////////////////////////////////////// - //NWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - //f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - ////////////////////////////////////////////////////////////////////////////////// - f27E = (D27F.f[dP00])[kzero];//ke - f27W = (D27F.f[dM00])[kw ]; - f27N = (D27F.f[d0P0])[kzero];//kn - f27S = (D27F.f[d0M0])[ks ]; - f27T = (D27F.f[d00P])[kzero];//kt - f27B = (D27F.f[d00M])[kb ]; - f27NE = (D27F.f[dPP0])[kzero];//kne - f27SW = (D27F.f[dMM0])[ksw ]; - f27SE = (D27F.f[dPM0])[ks ];//kse - f27NW = (D27F.f[dMP0])[kw ];//knw - f27TE = (D27F.f[dP0P])[kzero];//kte - f27BW = (D27F.f[dM0M])[kbw ]; - f27BE = (D27F.f[dP0M])[kb ];//kbe - f27TW = (D27F.f[dM0P])[kw ];//ktw - f27TN = (D27F.f[d0PP])[kzero];//ktn - f27BS = (D27F.f[d0MM])[kbs ]; - f27BN = (D27F.f[d0PM])[kb ];//kbn - f27TS = (D27F.f[d0MP])[ks ];//kts - f27ZERO = (D27F.f[d000])[kzero];//kzero - f27TNE = (D27F.f[dPPP])[kzero];//ktne - f27TSW = (D27F.f[dMMP])[ksw ];//ktsw - f27TSE = (D27F.f[dPMP])[ks ];//ktse - f27TNW = (D27F.f[dMPP])[kw ];//ktnw - f27BNE = (D27F.f[dPPM])[kb ];//kbne - f27BSW = (D27F.f[dMMM])[kbsw ]; - f27BSE = (D27F.f[dPMM])[kbs ];//kbse - f27BNW = (D27F.f[dMPM])[kbw ];//kbnw - - Conc_F_NWT = f27E + f27W + f27N + f27S + f27T + f27B + f27NE + f27SW + f27SE + f27NW + - f27TE + f27BW + f27BE + f27TW + f27TN + f27BS + f27BN + f27TS + f27ZERO + - f27TNE + f27TSW + f27TSE + f27TNW + f27BNE + f27BSW + f27BSE + f27BNW; - - vx1 = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2 = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3 = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - Mx =f27E+f27NE+f27SE+f27TE+f27BE-f27W-f27NW-f27SW-f27TW-f27BW+f27TNE-f27TSW+f27TSE-f27TNW+f27BNE-f27BSW+f27BSE-f27BNW; - My =f27N+f27NE+f27NW+f27TN+f27BN-f27S-f27SE-f27SW-f27TS-f27BS+f27TNE-f27TSW-f27TSE+f27TNW+f27BNE-f27BSW-f27BSE+f27BNW; - Mz =f27T+f27TE+f27TW+f27TN+f27TS-f27B-f27BE-f27BW-f27BN-f27BS+f27TNE+f27TSW+f27TSE+f27TNW-f27BNE-f27BSW-f27BSE-f27BNW; - - real Diff_Conc_X_FNWT = (Conc_F_NWT * vx1 - Mx) * (c3o1*omegaD_F); - real Diff_Conc_Y_FNWT = (Conc_F_NWT * vx2 - My) * (c3o1*omegaD_F); - real Diff_Conc_Z_FNWT = (Conc_F_NWT * vx3 - Mz) * (c3o1*omegaD_F); - - - - - ////////////////////////////////////////////////////////////////////////// - //NET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - //f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - ////////////////////////////////////////////////////////////////////////////////// - f27E = (D27F.f[dP00])[kzero];//ke - f27W = (D27F.f[dM00])[kw ]; - f27N = (D27F.f[d0P0])[kzero];//kn - f27S = (D27F.f[d0M0])[ks ]; - f27T = (D27F.f[d00P])[kzero];//kt - f27B = (D27F.f[d00M])[kb ]; - f27NE = (D27F.f[dPP0])[kzero];//kne - f27SW = (D27F.f[dMM0])[ksw ]; - f27SE = (D27F.f[dPM0])[ks ];//kse - f27NW = (D27F.f[dMP0])[kw ];//knw - f27TE = (D27F.f[dP0P])[kzero];//kte - f27BW = (D27F.f[dM0M])[kbw ]; - f27BE = (D27F.f[dP0M])[kb ];//kbe - f27TW = (D27F.f[dM0P])[kw ];//ktw - f27TN = (D27F.f[d0PP])[kzero];//ktn - f27BS = (D27F.f[d0MM])[kbs ]; - f27BN = (D27F.f[d0PM])[kb ];//kbn - f27TS = (D27F.f[d0MP])[ks ];//kts - f27ZERO = (D27F.f[d000])[kzero];//kzero - f27TNE = (D27F.f[dPPP])[kzero];//ktne - f27TSW = (D27F.f[dMMP])[ksw ];//ktsw - f27TSE = (D27F.f[dPMP])[ks ];//ktse - f27TNW = (D27F.f[dMPP])[kw ];//ktnw - f27BNE = (D27F.f[dPPM])[kb ];//kbne - f27BSW = (D27F.f[dMMM])[kbsw ]; - f27BSE = (D27F.f[dPMM])[kbs ];//kbse - f27BNW = (D27F.f[dMPM])[kbw ];//kbnw - - Conc_F_NET = f27E + f27W + f27N + f27S + f27T + f27B + f27NE + f27SW + f27SE + f27NW + - f27TE + f27BW + f27BE + f27TW + f27TN + f27BS + f27BN + f27TS + f27ZERO + - f27TNE + f27TSW + f27TSE + f27TNW + f27BNE + f27BSW + f27BSE + f27BNW; - - vx1 = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2 = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3 = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - Mx =f27E+f27NE+f27SE+f27TE+f27BE-f27W-f27NW-f27SW-f27TW-f27BW+f27TNE-f27TSW+f27TSE-f27TNW+f27BNE-f27BSW+f27BSE-f27BNW; - My =f27N+f27NE+f27NW+f27TN+f27BN-f27S-f27SE-f27SW-f27TS-f27BS+f27TNE-f27TSW-f27TSE+f27TNW+f27BNE-f27BSW-f27BSE+f27BNW; - Mz =f27T+f27TE+f27TW+f27TN+f27TS-f27B-f27BE-f27BW-f27BN-f27BS+f27TNE+f27TSW+f27TSE+f27TNW-f27BNE-f27BSW-f27BSE-f27BNW; - - real Diff_Conc_X_FNET = (Conc_F_NET * vx1 - Mx) * (c3o1*omegaD_F); - real Diff_Conc_Y_FNET = (Conc_F_NET * vx2 - My) * (c3o1*omegaD_F); - real Diff_Conc_Z_FNET = (Conc_F_NET * vx3 - Mz) * (c3o1*omegaD_F); - - - - - ////////////////////////////////////////////////////////////////////////// - //NEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - //f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - ////////////////////////////////////////////////////////////////////////////////// - f27E = (D27F.f[dP00])[kzero];//ke - f27W = (D27F.f[dM00])[kw ]; - f27N = (D27F.f[d0P0])[kzero];//kn - f27S = (D27F.f[d0M0])[ks ]; - f27T = (D27F.f[d00P])[kzero];//kt - f27B = (D27F.f[d00M])[kb ]; - f27NE = (D27F.f[dPP0])[kzero];//kne - f27SW = (D27F.f[dMM0])[ksw ]; - f27SE = (D27F.f[dPM0])[ks ];//kse - f27NW = (D27F.f[dMP0])[kw ];//knw - f27TE = (D27F.f[dP0P])[kzero];//kte - f27BW = (D27F.f[dM0M])[kbw ]; - f27BE = (D27F.f[dP0M])[kb ];//kbe - f27TW = (D27F.f[dM0P])[kw ];//ktw - f27TN = (D27F.f[d0PP])[kzero];//ktn - f27BS = (D27F.f[d0MM])[kbs ]; - f27BN = (D27F.f[d0PM])[kb ];//kbn - f27TS = (D27F.f[d0MP])[ks ];//kts - f27ZERO = (D27F.f[d000])[kzero];//kzero - f27TNE = (D27F.f[dPPP])[kzero];//ktne - f27TSW = (D27F.f[dMMP])[ksw ];//ktsw - f27TSE = (D27F.f[dPMP])[ks ];//ktse - f27TNW = (D27F.f[dMPP])[kw ];//ktnw - f27BNE = (D27F.f[dPPM])[kb ];//kbne - f27BSW = (D27F.f[dMMM])[kbsw ]; - f27BSE = (D27F.f[dPMM])[kbs ];//kbse - f27BNW = (D27F.f[dMPM])[kbw ];//kbnw - - Conc_F_NEB = f27E + f27W + f27N + f27S + f27T + f27B + f27NE + f27SW + f27SE + f27NW + - f27TE + f27BW + f27BE + f27TW + f27TN + f27BS + f27BN + f27TS + f27ZERO + - f27TNE + f27TSW + f27TSE + f27TNW + f27BNE + f27BSW + f27BSE + f27BNW; - - vx1 = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2 = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3 = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - Mx =f27E+f27NE+f27SE+f27TE+f27BE-f27W-f27NW-f27SW-f27TW-f27BW+f27TNE-f27TSW+f27TSE-f27TNW+f27BNE-f27BSW+f27BSE-f27BNW; - My =f27N+f27NE+f27NW+f27TN+f27BN-f27S-f27SE-f27SW-f27TS-f27BS+f27TNE-f27TSW-f27TSE+f27TNW+f27BNE-f27BSW-f27BSE+f27BNW; - Mz =f27T+f27TE+f27TW+f27TN+f27TS-f27B-f27BE-f27BW-f27BN-f27BS+f27TNE+f27TSW+f27TSE+f27TNW-f27BNE-f27BSW-f27BSE-f27BNW; - - real Diff_Conc_X_FNEB = (Conc_F_NEB * vx1 - Mx) * (c3o1*omegaD_F); - real Diff_Conc_Y_FNEB = (Conc_F_NEB * vx2 - My) * (c3o1*omegaD_F); - real Diff_Conc_Z_FNEB = (Conc_F_NEB * vx3 - Mz) * (c3o1*omegaD_F); - - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - - - - - //linear - //real Diff_Conc_XX = zero; - //real Diff_Conc_YY = zero; - //real Diff_Conc_ZZ = zero; - - - - - - //quadratic - real Diff_Conc_XX = ((Diff_Conc_X_FNEB + Diff_Conc_X_FSEB + Diff_Conc_X_FNET + Diff_Conc_X_FSET) - (Diff_Conc_X_FNWB + Diff_Conc_X_FSWB + Diff_Conc_X_FNWT + Diff_Conc_X_FSWT)) * c1o4; - real Diff_Conc_YY = ((Diff_Conc_Y_FNEB + Diff_Conc_Y_FNWB + Diff_Conc_Y_FNET + Diff_Conc_Y_FNWT) - (Diff_Conc_Y_FSEB + Diff_Conc_Y_FSWB + Diff_Conc_Y_FSET + Diff_Conc_Y_FSWT)) * c1o4; - real Diff_Conc_ZZ = ((Diff_Conc_Z_FSET + Diff_Conc_Z_FSWT + Diff_Conc_Z_FNET + Diff_Conc_Z_FNWT) - (Diff_Conc_Z_FSEB + Diff_Conc_Z_FSWB + Diff_Conc_Z_FNEB + Diff_Conc_Z_FNWB)) * c1o4; - - - real dx = c1o4 * (Conc_F_NEB + Conc_F_NET - Conc_F_NWB - Conc_F_NWT + Conc_F_SEB + Conc_F_SET - Conc_F_SWB - Conc_F_SWT); - real dy = c1o4 * (Conc_F_NEB + Conc_F_NET + Conc_F_NWB + Conc_F_NWT - Conc_F_SEB - Conc_F_SET - Conc_F_SWB - Conc_F_SWT); - real dz = c1o4 * (-Conc_F_NEB + Conc_F_NET - Conc_F_NWB + Conc_F_NWT - Conc_F_SEB + Conc_F_SET - Conc_F_SWB + Conc_F_SWT); - real dxx = Diff_Conc_XX * c1o2; - real dyy = Diff_Conc_YY * c1o2; - real dzz = Diff_Conc_ZZ * c1o2; - real dxy = c1o2 * (Conc_F_NEB + Conc_F_NET - Conc_F_NWB - Conc_F_NWT - Conc_F_SEB - Conc_F_SET + Conc_F_SWB + Conc_F_SWT); - real dyz = c1o2 * (-Conc_F_NEB + Conc_F_NET - Conc_F_NWB + Conc_F_NWT + Conc_F_SEB - Conc_F_SET + Conc_F_SWB - Conc_F_SWT); - real dxz = c1o2 * (-Conc_F_NEB + Conc_F_NET + Conc_F_NWB - Conc_F_NWT - Conc_F_SEB + Conc_F_SET + Conc_F_SWB - Conc_F_SWT); - //real dxyz = -Conc_F_NEB + Conc_F_NET + Conc_F_NWB - Conc_F_NWT + Conc_F_SEB - Conc_F_SET - Conc_F_SWB + Conc_F_SWT; - real d0 = c1o8 * (-c2o1 * dxx - c2o1 * dyy - c2o1 * dzz + Conc_F_NEB + Conc_F_NET + Conc_F_NWB + Conc_F_NWT + Conc_F_SEB + Conc_F_SET + Conc_F_SWB + Conc_F_SWT); - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - // Bernd das Brot - // - // X------X - // | | - // | ---+-->X ----> off-vector - // | | - // X------X - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff_sq * dxx + yoff_sq * dyy + zoff_sq * dzz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz; - dx = dx + c2o1 * xoff * dxx + yoff * dxy + zoff * dxz; - dy = dy + c2o1 * yoff * dyy + xoff * dxy + zoff * dyz; - dz = dz + c2o1 * zoff * dzz + xoff * dxz + yoff * dyz; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - - - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //Position C 0.5, 0.5, 0.5 - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //x = zero; - //y = zero; - //z = zero; - - ////////////////////////////////////////////////////////////////////////// - //index 0 - kzero= posC[k]; - kw = neighborCX[kzero]; - ks = neighborCY[kzero]; - kb = neighborCZ[kzero]; - ksw = neighborCY[kw]; - kbw = neighborCZ[kw]; - kbs = neighborCZ[ks]; - kbsw = neighborCZ[ksw]; - //////////////////////////////////////////////////////////////////////////////// - vx1=feC[kzero]+fneC[kzero]+fseC[ks]+fteC[kzero]+fbeC[kb]-fwC[kw]-fnwC[kw]-fswC[ksw]-ftwC[kw]-fbwC[kbw]+ftneC[kzero]-ftswC[ksw]+ftseC[ks]-ftnwC[kw]+fbneC[kb]-fbswC[kbsw]+fbseC[kbs]-fbnwC[kbw]; - vx2=fnC[kzero]+fneC[kzero]+fnwC[kw]+ftnC[kzero]+fbnC[kb]-fsC[ks]-fseC[ks]-fswC[ksw]-ftsC[ks]-fbsC[kbs]+ftneC[kzero]-ftswC[ksw]-ftseC[ks]+ftnwC[kw]+fbneC[kb]-fbswC[kbsw]-fbseC[kbs]+fbnwC[kbw]; - vx3=ftC[kzero]+fteC[kzero]+ftwC[kw]+ftnC[kzero]+ftsC[ks]-fbC[kb]-fbeC[kb]-fbwC[kbw]-fbnC[kb]-fbsC[kbs]+ftneC[kzero]+ftswC[ksw]+ftseC[ks]+ftnwC[kw]-fbneC[kb]-fbswC[kbsw]-fbseC[kbs]-fbnwC[kbw]; - - //Conc_C_C = c1o8 * (Conc_F_SWB+Conc_F_SWT+Conc_F_SEB+Conc_F_SET+Conc_F_NWB+Conc_F_NWT+Conc_F_NEB+Conc_F_NET) - c4o32 * (Diff_Conc_XX + Diff_Conc_YY + Diff_Conc_ZZ); - - //real Diff_Conc_X_C = c1o4 * (Conc_F_NEB - Conc_F_NWB + Conc_F_NET - Conc_F_NWT + Conc_F_SEB - Conc_F_SWB + Conc_F_SET - Conc_F_SWT); - //real Diff_Conc_Y_C = c1o4 * (Conc_F_NEB - Conc_F_SEB + Conc_F_NET - Conc_F_SET + Conc_F_NWB - Conc_F_SWB + Conc_F_NWT - Conc_F_SWT); - //real Diff_Conc_Z_C = c1o4 * (Conc_F_NET - Conc_F_NEB + Conc_F_NWT - Conc_F_NWB + Conc_F_SET - Conc_F_SEB + Conc_F_SWT - Conc_F_SWB); - - real Conc_C = d0; - - real Diff_Conc_X_C = dx; - real Diff_Conc_Y_C = dy; - real Diff_Conc_Z_C = dz; - - Mx = Conc_C*vx1-(c1o1)/(c3o1*omegaD_C)*c2o1*Diff_Conc_X_C; - My = Conc_C*vx2-(c1o1)/(c3o1*omegaD_C)*c2o1*Diff_Conc_Y_C; - Mz = Conc_C*vx3-(c1o1)/(c3o1*omegaD_C)*c2o1*Diff_Conc_Z_C; - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - (D27C.f[d000])[kzero] = c8o27* Conc_C*(c1o1-cu_sq); - (D27C.f[dP00])[kzero] = c2o27* (c3o1*( Mx )+Conc_C*(c1o1+c9o2*( vx1 )*( vx1 )-cu_sq)); - (D27C.f[dM00])[kw ] = c2o27* (c3o1*(-Mx )+Conc_C*(c1o1+c9o2*(-vx1 )*(-vx1 )-cu_sq)); - (D27C.f[d0P0])[kzero] = c2o27* (c3o1*( My )+Conc_C*(c1o1+c9o2*( vx2 )*( vx2 )-cu_sq)); - (D27C.f[d0M0])[ks ] = c2o27* (c3o1*( -My )+Conc_C*(c1o1+c9o2*( -vx2 )*( -vx2 )-cu_sq)); - (D27C.f[d00P])[kzero] = c2o27* (c3o1*( Mz)+Conc_C*(c1o1+c9o2*( vx3)*( vx3)-cu_sq)); - (D27C.f[d00M])[kb ] = c2o27* (c3o1*( -Mz)+Conc_C*(c1o1+c9o2*( -vx3)*( -vx3)-cu_sq)); - (D27C.f[dPP0])[kzero] = c1o54* (c3o1*( Mx +My )+Conc_C*(c1o1+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq)); - (D27C.f[dMM0])[ksw ] = c1o54* (c3o1*(-Mx -My )+Conc_C*(c1o1+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq)); - (D27C.f[dPM0])[ks ] = c1o54* (c3o1*( Mx -My )+Conc_C*(c1o1+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq)); - (D27C.f[dMP0])[kw ] = c1o54* (c3o1*(-Mx +My )+Conc_C*(c1o1+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq)); - (D27C.f[dP0P])[kzero] = c1o54* (c3o1*( Mx +Mz)+Conc_C*(c1o1+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq)); - (D27C.f[dM0M])[kbw ] = c1o54* (c3o1*(-Mx -Mz)+Conc_C*(c1o1+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq)); - (D27C.f[dP0M])[kb ] = c1o54* (c3o1*( Mx -Mz)+Conc_C*(c1o1+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq)); - (D27C.f[dM0P])[kw ] = c1o54* (c3o1*(-Mx +Mz)+Conc_C*(c1o1+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq)); - (D27C.f[d0PP])[kzero] = c1o54* (c3o1*( My +Mz)+Conc_C*(c1o1+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq)); - (D27C.f[d0MM])[kbs ] = c1o54* (c3o1*( -My -Mz)+Conc_C*(c1o1+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq)); - (D27C.f[d0PM])[kb ] = c1o54* (c3o1*( My -Mz)+Conc_C*(c1o1+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq)); - (D27C.f[d0MP])[ks ] = c1o54* (c3o1*( -My +Mz)+Conc_C*(c1o1+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq)); - (D27C.f[dPPP])[kzero] = c1o216*(c3o1*( Mx +My +Mz)+Conc_C*(c1o1+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq)); - (D27C.f[dMMM])[kbsw ] = c1o216*(c3o1*(-Mx -My -Mz)+Conc_C*(c1o1+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq)); - (D27C.f[dPPM])[kb ] = c1o216*(c3o1*( Mx +My -Mz)+Conc_C*(c1o1+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq)); - (D27C.f[dMMP])[ksw ] = c1o216*(c3o1*(-Mx -My +Mz)+Conc_C*(c1o1+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq)); - (D27C.f[dPMP])[ks ] = c1o216*(c3o1*( Mx -My +Mz)+Conc_C*(c1o1+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq)); - (D27C.f[dMPM])[kbw ] = c1o216*(c3o1*(-Mx +My -Mz)+Conc_C*(c1o1+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq)); - (D27C.f[dPMM])[kbs ] = c1o216*(c3o1*( Mx -My -Mz)+Conc_C*(c1o1+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq)); - (D27C.f[dMPP])[kw ] = c1o216*(c3o1*(-Mx +My +Mz)+Conc_C*(c1o1+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq)); - - } -} -////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -////////////////////////////////////////////////////////////////////////// -__global__ void scaleFCEff27(real* DC, - real* DF, - unsigned int* neighborCX, - unsigned int* neighborCY, - unsigned int* neighborCZ, - unsigned int* neighborFX, - unsigned int* neighborFY, - unsigned int* neighborFZ, - unsigned long long numberOfLBnodesCoarse, - unsigned long long numberOfLBnodesFine, - bool isEvenTimestep, - unsigned int* posC, - unsigned int* posFSWB, - unsigned int kFC, - real omCoarse, - real omFine, - real nu, - unsigned int nxC, - unsigned int nyC, - unsigned int nxF, - unsigned int nyF, - ICellNeigh offFC) -{ - real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, - *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - - feF = &DF[dP00 * numberOfLBnodesFine]; - fwF = &DF[dM00 * numberOfLBnodesFine]; - fnF = &DF[d0P0 * numberOfLBnodesFine]; - fsF = &DF[d0M0 * numberOfLBnodesFine]; - ftF = &DF[d00P * numberOfLBnodesFine]; - fbF = &DF[d00M * numberOfLBnodesFine]; - fneF = &DF[dPP0 * numberOfLBnodesFine]; - fswF = &DF[dMM0 * numberOfLBnodesFine]; - fseF = &DF[dPM0 * numberOfLBnodesFine]; - fnwF = &DF[dMP0 * numberOfLBnodesFine]; - fteF = &DF[dP0P * numberOfLBnodesFine]; - fbwF = &DF[dM0M * numberOfLBnodesFine]; - fbeF = &DF[dP0M * numberOfLBnodesFine]; - ftwF = &DF[dM0P * numberOfLBnodesFine]; - ftnF = &DF[d0PP * numberOfLBnodesFine]; - fbsF = &DF[d0MM * numberOfLBnodesFine]; - fbnF = &DF[d0PM * numberOfLBnodesFine]; - ftsF = &DF[d0MP * numberOfLBnodesFine]; - fzeroF = &DF[d000 * numberOfLBnodesFine]; - ftneF = &DF[dPPP * numberOfLBnodesFine]; - ftswF = &DF[dMMP * numberOfLBnodesFine]; - ftseF = &DF[dPMP * numberOfLBnodesFine]; - ftnwF = &DF[dMPP * numberOfLBnodesFine]; - fbneF = &DF[dPPM * numberOfLBnodesFine]; - fbswF = &DF[dMMM * numberOfLBnodesFine]; - fbseF = &DF[dPMM * numberOfLBnodesFine]; - fbnwF = &DF[dMPM * numberOfLBnodesFine]; - - real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, *fzeroC, - *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; - - if (isEvenTimestep==true) - { - feC = &DC[dP00 * numberOfLBnodesCoarse]; - fwC = &DC[dM00 * numberOfLBnodesCoarse]; - fnC = &DC[d0P0 * numberOfLBnodesCoarse]; - fsC = &DC[d0M0 * numberOfLBnodesCoarse]; - ftC = &DC[d00P * numberOfLBnodesCoarse]; - fbC = &DC[d00M * numberOfLBnodesCoarse]; - fneC = &DC[dPP0 * numberOfLBnodesCoarse]; - fswC = &DC[dMM0 * numberOfLBnodesCoarse]; - fseC = &DC[dPM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dMP0 * numberOfLBnodesCoarse]; - fteC = &DC[dP0P * numberOfLBnodesCoarse]; - fbwC = &DC[dM0M * numberOfLBnodesCoarse]; - fbeC = &DC[dP0M * numberOfLBnodesCoarse]; - ftwC = &DC[dM0P * numberOfLBnodesCoarse]; - ftnC = &DC[d0PP * numberOfLBnodesCoarse]; - fbsC = &DC[d0MM * numberOfLBnodesCoarse]; - fbnC = &DC[d0PM * numberOfLBnodesCoarse]; - ftsC = &DC[d0MP * numberOfLBnodesCoarse]; - fzeroC = &DC[d000 * numberOfLBnodesCoarse]; - ftneC = &DC[dPPP * numberOfLBnodesCoarse]; - ftswC = &DC[dMMP * numberOfLBnodesCoarse]; - ftseC = &DC[dPMP * numberOfLBnodesCoarse]; - ftnwC = &DC[dMPP * numberOfLBnodesCoarse]; - fbneC = &DC[dPPM * numberOfLBnodesCoarse]; - fbswC = &DC[dMMM * numberOfLBnodesCoarse]; - fbseC = &DC[dPMM * numberOfLBnodesCoarse]; - fbnwC = &DC[dMPM * numberOfLBnodesCoarse]; - } - else - { - fwC = &DC[dP00 * numberOfLBnodesCoarse]; - feC = &DC[dM00 * numberOfLBnodesCoarse]; - fsC = &DC[d0P0 * numberOfLBnodesCoarse]; - fnC = &DC[d0M0 * numberOfLBnodesCoarse]; - fbC = &DC[d00P * numberOfLBnodesCoarse]; - ftC = &DC[d00M * numberOfLBnodesCoarse]; - fswC = &DC[dPP0 * numberOfLBnodesCoarse]; - fneC = &DC[dMM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dPM0 * numberOfLBnodesCoarse]; - fseC = &DC[dMP0 * numberOfLBnodesCoarse]; - fbwC = &DC[dP0P * numberOfLBnodesCoarse]; - fteC = &DC[dM0M * numberOfLBnodesCoarse]; - ftwC = &DC[dP0M * numberOfLBnodesCoarse]; - fbeC = &DC[dM0P * numberOfLBnodesCoarse]; - fbsC = &DC[d0PP * numberOfLBnodesCoarse]; - ftnC = &DC[d0MM * numberOfLBnodesCoarse]; - ftsC = &DC[d0PM * numberOfLBnodesCoarse]; - fbnC = &DC[d0MP * numberOfLBnodesCoarse]; - fzeroC = &DC[d000 * numberOfLBnodesCoarse]; - fbswC = &DC[dPPP * numberOfLBnodesCoarse]; - fbneC = &DC[dMMP * numberOfLBnodesCoarse]; - fbnwC = &DC[dPMP * numberOfLBnodesCoarse]; - fbseC = &DC[dMPP * numberOfLBnodesCoarse]; - ftswC = &DC[dPPM * numberOfLBnodesCoarse]; - ftneC = &DC[dMMM * numberOfLBnodesCoarse]; - ftnwC = &DC[dPMM * numberOfLBnodesCoarse]; - ftseC = &DC[dMPM * numberOfLBnodesCoarse]; - } - //////////////////////////////////////////////////////////////////////////////// - const unsigned ix = threadIdx.x; // Globaler x-Index - const unsigned iy = blockIdx.x; // Globaler y-Index - const unsigned iz = blockIdx.y; // Globaler z-Index - - const unsigned nx = blockDim.x; - const unsigned ny = gridDim.x; - - const unsigned k = nx*(ny*iz + iy) + ix; - ////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////// - //real epsylon = one; - real eps_new = c2o1; - real omegaS = omFine;//-omFine; - real o = omCoarse;//-omCoarse; - real op = c1o1; - real cu_sq; - - real xoff, yoff, zoff; - real xoff_sq, yoff_sq, zoff_sq; - - real drho,vx1,vx2,vx3; - real drho_SWT,vx1_SWT,vx2_SWT,vx3_SWT; - real drho_NWT,vx1_NWT,vx2_NWT,vx3_NWT; - real drho_NET,vx1_NET,vx2_NET,vx3_NET; - real drho_SET,vx1_SET,vx2_SET,vx3_SET; - real drho_SWB,vx1_SWB,vx2_SWB,vx3_SWB; - real drho_NWB,vx1_NWB,vx2_NWB,vx3_NWB; - real drho_NEB,vx1_NEB,vx2_NEB,vx3_NEB; - real drho_SEB,vx1_SEB,vx2_SEB,vx3_SEB; - real f_E,f_W,f_N,f_S,f_T,f_B,f_NE,f_SW,f_SE,f_NW,f_TE,f_BW,f_BE,f_TW,f_TN,f_BS,f_BN,f_TS,f_ZERO,f_TNE, f_TSW, f_TSE, f_TNW, f_BNE, f_BSW, f_BSE, f_BNW; - real feq_E,feq_W,feq_N,feq_S,feq_T,feq_B,feq_NE,feq_SW,feq_SE,feq_NW,feq_TE,feq_BW,feq_BE,feq_TW,feq_TN,feq_BS,feq_BN,feq_TS,feq_ZERO,feq_TNE, feq_TSW, feq_TSE, feq_TNW, feq_BNE, feq_BSW, feq_BSE, feq_BNW; - real kxyFromfcNEQ_SWT, kyzFromfcNEQ_SWT, kxzFromfcNEQ_SWT, kxxMyyFromfcNEQ_SWT, kxxMzzFromfcNEQ_SWT; - real kxyFromfcNEQ_NWT, kyzFromfcNEQ_NWT, kxzFromfcNEQ_NWT, kxxMyyFromfcNEQ_NWT, kxxMzzFromfcNEQ_NWT; - real kxyFromfcNEQ_NET, kyzFromfcNEQ_NET, kxzFromfcNEQ_NET, kxxMyyFromfcNEQ_NET, kxxMzzFromfcNEQ_NET; - real kxyFromfcNEQ_SET, kyzFromfcNEQ_SET, kxzFromfcNEQ_SET, kxxMyyFromfcNEQ_SET, kxxMzzFromfcNEQ_SET; - real kxyFromfcNEQ_SWB, kyzFromfcNEQ_SWB, kxzFromfcNEQ_SWB, kxxMyyFromfcNEQ_SWB, kxxMzzFromfcNEQ_SWB; - real kxyFromfcNEQ_NWB, kyzFromfcNEQ_NWB, kxzFromfcNEQ_NWB, kxxMyyFromfcNEQ_NWB, kxxMzzFromfcNEQ_NWB; - real kxyFromfcNEQ_NEB, kyzFromfcNEQ_NEB, kxzFromfcNEQ_NEB, kxxMyyFromfcNEQ_NEB, kxxMzzFromfcNEQ_NEB; - real kxyFromfcNEQ_SEB, kyzFromfcNEQ_SEB, kxzFromfcNEQ_SEB, kxxMyyFromfcNEQ_SEB, kxxMzzFromfcNEQ_SEB; - real a0, ax, ay, az, axx, ayy, azz, axy, axz, ayz, b0, bx, by, bz, bxx, byy, bzz, bxy, bxz, byz, c0, cx, cy, cz, cxx, cyy, czz, cxy, cxz, cyz; - - //real x,y,z; - - if(k<kFC) - { - ////////////////////////////////////////////////////////////////////////// - xoff = offFC.x[k]; - yoff = offFC.y[k]; - zoff = offFC.z[k]; - xoff_sq = xoff * xoff; - yoff_sq = yoff * yoff; - zoff_sq = zoff * zoff; - ////////////////////////////////////////////////////////////////////////// - //SWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - unsigned int k0zero= posFSWB[k]; - unsigned int k0w = neighborFX[k0zero]; - unsigned int k0s = neighborFY[k0zero]; - unsigned int k0b = neighborFZ[k0zero]; - unsigned int k0sw = neighborFY[k0w]; - unsigned int k0bw = neighborFZ[k0w]; - unsigned int k0bs = neighborFZ[k0s]; - unsigned int k0bsw = neighborFZ[k0sw]; - ////////////////////////////////////////////////////////////////////////// - //index - unsigned int kzero= k0zero; - unsigned int kw = k0w; - unsigned int ks = k0s; - unsigned int kb = k0b; - unsigned int ksw = k0sw; - unsigned int kbw = k0bw; - unsigned int kbs = k0bs; - unsigned int kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - //vx1_SWB = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_SWB = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_SWB = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_SWB = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_SWB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_SWB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_SWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - - kxyFromfcNEQ_SWB = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SWB*vx2_SWB)); - kyzFromfcNEQ_SWB = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_SWB*vx3_SWB)); - kxzFromfcNEQ_SWB = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_SWB*vx3_SWB)); - kxxMyyFromfcNEQ_SWB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_SWB*vx1_SWB-vx2_SWB*vx2_SWB)); - kxxMzzFromfcNEQ_SWB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_SWB*vx1_SWB-vx3_SWB*vx3_SWB)); - - ////////////////////////////////////////////////////////////////////////// - //SWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - //vx1_SWT = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_SWT = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_SWT = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_SWT = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_SWT = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_SWT = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_SWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - - kxyFromfcNEQ_SWT = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SWT*vx2_SWT)); - kyzFromfcNEQ_SWT = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_SWT*vx3_SWT)); - kxzFromfcNEQ_SWT = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_SWT*vx3_SWT)); - kxxMyyFromfcNEQ_SWT = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_SWT*vx1_SWT-vx2_SWT*vx2_SWT)); - kxxMzzFromfcNEQ_SWT = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_SWT*vx1_SWT-vx3_SWT*vx3_SWT)); - - ////////////////////////////////////////////////////////////////////////// - //SET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - //vx1_SET = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_SET = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_SET = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_SET = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_SET = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_SET = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_SET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - - kxyFromfcNEQ_SET = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SET*vx2_SET)); - kyzFromfcNEQ_SET = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_SET*vx3_SET)); - kxzFromfcNEQ_SET = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_SET*vx3_SET)); - kxxMyyFromfcNEQ_SET = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_SET*vx1_SET-vx2_SET*vx2_SET)); - kxxMzzFromfcNEQ_SET = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_SET*vx1_SET-vx3_SET*vx3_SET)); - - ////////////////////////////////////////////////////////////////////////// - //SEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - //vx1_SEB = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_SEB = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_SEB = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_SEB = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_SEB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_SEB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_SEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - - kxyFromfcNEQ_SEB = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SEB*vx2_SEB)); - kyzFromfcNEQ_SEB = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_SEB*vx3_SEB)); - kxzFromfcNEQ_SEB = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_SEB*vx3_SEB)); - kxxMyyFromfcNEQ_SEB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_SEB*vx1_SEB-vx2_SEB*vx2_SEB)); - kxxMzzFromfcNEQ_SEB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_SEB*vx1_SEB-vx3_SEB*vx3_SEB)); - - ////////////////////////////////////////////////////////////////////////// - //NWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= k0s; - k0w = k0sw; - k0s = neighborFY[k0s]; - k0b = k0bs; - k0sw = neighborFY[k0sw]; - k0bw = k0bsw; - k0bs = neighborFY[k0bs]; - k0bsw = neighborFY[k0bsw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - //vx1_NWB = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_NWB = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_NWB = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_NWB = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_NWB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_NWB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_NWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - - kxyFromfcNEQ_NWB = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NWB*vx2_NWB)); - kyzFromfcNEQ_NWB = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_NWB*vx3_NWB)); - kxzFromfcNEQ_NWB = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_NWB*vx3_NWB)); - kxxMyyFromfcNEQ_NWB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_NWB*vx1_NWB-vx2_NWB*vx2_NWB)); - kxxMzzFromfcNEQ_NWB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_NWB*vx1_NWB-vx3_NWB*vx3_NWB)); - - ////////////////////////////////////////////////////////////////////////// - //NWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - //vx1_NWT = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_NWT = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_NWT = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_NWT = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_NWT = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_NWT = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_NWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - - kxyFromfcNEQ_NWT = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NWT*vx2_NWT)); - kyzFromfcNEQ_NWT = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_NWT*vx3_NWT)); - kxzFromfcNEQ_NWT = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_NWT*vx3_NWT)); - kxxMyyFromfcNEQ_NWT = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_NWT*vx1_NWT-vx2_NWT*vx2_NWT)); - kxxMzzFromfcNEQ_NWT = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_NWT*vx1_NWT-vx3_NWT*vx3_NWT)); - - ////////////////////////////////////////////////////////////////////////// - //NET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - //vx1_NET = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_NET = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_NET = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_NET = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_NET = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_NET = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_NET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - - kxyFromfcNEQ_NET = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NET*vx2_NET)); - kyzFromfcNEQ_NET = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_NET*vx3_NET)); - kxzFromfcNEQ_NET = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_NET*vx3_NET)); - kxxMyyFromfcNEQ_NET = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_NET*vx1_NET-vx2_NET*vx2_NET)); - kxxMzzFromfcNEQ_NET = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_NET*vx1_NET-vx3_NET*vx3_NET)); - - ////////////////////////////////////////////////////////////////////////// - //NEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - //vx1_NEB = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - //vx2_NEB = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - //vx3_NEB = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - vx1_NEB = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W); - vx2_NEB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S); - vx3_NEB = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B); - drho_NEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - - kxyFromfcNEQ_NEB = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NEB*vx2_NEB)); - kyzFromfcNEQ_NEB = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_NEB*vx3_NEB)); - kxzFromfcNEQ_NEB = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_NEB*vx3_NEB)); - kxxMyyFromfcNEQ_NEB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_NEB*vx1_NEB-vx2_NEB*vx2_NEB)); - kxxMzzFromfcNEQ_NEB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_NEB*vx1_NEB-vx3_NEB*vx3_NEB)); - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //for all _SWB _SET _NWT _NEB - //Version 1 fixed - ayz= -kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB - kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT - kyzFromfcNEQ_SET - kyzFromfcNEQ_NEB; - bxz= -kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB + kxzFromfcNEQ_SWB - kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET - kxzFromfcNEQ_NEB - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - cxy= kxyFromfcNEQ_SWB - kxyFromfcNEQ_NWT - kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB - kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - ax = ayz + c4o1*( - vx1_SWB + vx1_SET - vx1_NWT + vx1_NEB); - by = bxz + c4o1*( - vx2_SWB - vx2_SET + vx2_NWT + vx2_NEB); - cz = cxy + c4o1*( - vx3_SWB + vx3_SET + vx3_NWT - vx3_NEB); - axy= c2o1*( vx1_SWB - vx1_NWT - vx1_SET + vx1_NEB + vx3_SWB + vx3_NWT - vx3_SET - vx3_NEB) - kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB; - axz= c2o1*( vx1_SWB - vx1_NWT + vx1_SET - vx1_NEB + vx2_SWB + vx2_NWT - vx2_SET - vx2_NEB) - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB + kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB; - bxy= c2o1*( vx2_SWB - vx2_NWT - vx2_SET + vx2_NEB + vx3_SWB - vx3_NWT + vx3_SET - vx3_NEB) + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - ay = axz + c4o1*( - vx1_SWB - vx1_SET + vx1_NWT + vx1_NEB); - az = axy + c4o1*( - vx1_SWB + vx1_SET + vx1_NWT - vx1_NEB); - bz = bxy + c4o1*( - vx2_SWB + vx2_SET + vx2_NWT - vx2_NEB); - bx = c2o1*(kxyFromfcNEQ_SWB + kxyFromfcNEQ_SET + kxyFromfcNEQ_NWT + kxyFromfcNEQ_NEB) - ay; - cy = c2o1*(kyzFromfcNEQ_SWB + kyzFromfcNEQ_SET + kyzFromfcNEQ_NWT + kyzFromfcNEQ_NEB) - bz; - cx = c2o1*(kxzFromfcNEQ_SWB + kxzFromfcNEQ_SET + kxzFromfcNEQ_NWT + kxzFromfcNEQ_NEB) - az; - byz= bx + c4o1*( vx2_SWB - vx2_SET + vx2_NWT - vx2_NEB); - cyz= cx + c4o1*( vx3_SWB - vx3_SET + vx3_NWT - vx3_NEB); - cxz= cy + c4o1*( vx3_SWB + vx3_SET - vx3_NWT - vx3_NEB); - axx= bz + c4o1*( vx2_SWB - vx2_SET - vx2_NWT + vx2_NEB) + c2o1*(-kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_NEB); - ayy= c4o1*( -vx2_SWB + vx2_SET + vx2_NWT - vx2_NEB) + c2o1*(-kxyFromfcNEQ_SWB - kxyFromfcNEQ_SET + kxyFromfcNEQ_NWT + kxyFromfcNEQ_NEB) - bz; - azz= c4o1*( -vx3_SWB - vx3_SET + vx3_NWT + vx3_NEB) + c2o1*(-kxzFromfcNEQ_SWB + kxzFromfcNEQ_SET + kxzFromfcNEQ_NWT - kxzFromfcNEQ_NEB) - cy; - bxx= c4o1*( -vx1_SWB + vx1_SET + vx1_NWT - vx1_NEB) + c2o1*(-kxyFromfcNEQ_SWB + kxyFromfcNEQ_SET - kxyFromfcNEQ_NWT + kxyFromfcNEQ_NEB) - az; - byy= az + c4o1*( vx1_SWB - vx1_SET - vx1_NWT + vx1_NEB) + c2o1*(kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_NEB); - bzz= c4o1*( -vx3_SWB + vx3_SET - vx3_NWT + vx3_NEB) + c2o1*(-kyzFromfcNEQ_SWB + kyzFromfcNEQ_SET + kyzFromfcNEQ_NWT - kyzFromfcNEQ_NEB) - cx; - cxx= c4o1*( -vx1_SWB - vx1_SET + vx1_NWT + vx1_NEB) + c2o1*(-kxzFromfcNEQ_SWB + kxzFromfcNEQ_SET - kxzFromfcNEQ_NWT + kxzFromfcNEQ_NEB) - ay; - cyy= c4o1*( -vx2_SWB + vx2_SET - vx2_NWT + vx2_NEB) + c2o1*(-kyzFromfcNEQ_SWB - kyzFromfcNEQ_SET + kyzFromfcNEQ_NWT + kyzFromfcNEQ_NEB) - bx; - czz= ay + c4o1*(vx1_SWB + vx1_SET - vx1_NWT - vx1_NEB) + c2o1*(kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_NEB); - a0 = c8o1*( vx1_SWB + vx1_NWT + vx1_SET + vx1_NEB) + c2o1*( kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_NEB) + c2o1*(kxzFromfcNEQ_SWB - kxzFromfcNEQ_SET - kxzFromfcNEQ_NWT + kxzFromfcNEQ_NEB) - ayy; - b0 = c8o1*( vx2_SWB + vx2_NWT + vx2_SET + vx2_NEB) + c2o1*(-kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_NEB) + c2o1*( kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_NEB) + c2o1*(kyzFromfcNEQ_SWB - kyzFromfcNEQ_SET - kyzFromfcNEQ_NWT + kyzFromfcNEQ_NEB) - bxx; - c0 = c8o1*( vx3_SWB + vx3_NWT + vx3_SET + vx3_NEB) + c2o1*(-kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_NEB) + c2o1*(kxzFromfcNEQ_SWB - kxzFromfcNEQ_SET + kxzFromfcNEQ_NWT - kxzFromfcNEQ_NEB) - cyy; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //ayz= -kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB - kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT - kyzFromfcNEQ_SET - kyzFromfcNEQ_NEB; - //bxz= -kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB + kxzFromfcNEQ_SWB - kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET - kxzFromfcNEQ_NEB - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - //cxy= kxyFromfcNEQ_SWB - kxyFromfcNEQ_NWT - kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB - kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - //axy= two*( vx1_SWB - vx1_NWT - vx1_SET + vx1_NEB + vx3_SWB + vx3_NWT - vx3_SET - vx3_NEB) - kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB; - //axz= two*( vx1_SWB - vx1_NWT + vx1_SET - vx1_NEB + vx2_SWB + vx2_NWT - vx2_SET - vx2_NEB) - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB + kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB; - //bxy= two*( vx2_SWB - vx2_NWT - vx2_SET + vx2_NEB + vx3_SWB - vx3_NWT + vx3_SET - vx3_NEB) + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - //a0 = eight*( vx1_SWB + vx1_NWT + vx1_SET + vx1_NEB) + two*(vx2_SWB - vx2_NWT - vx2_SET + vx2_NEB + vx3_SWB - vx3_NWT + vx3_SET - vx3_NEB) + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + 2.*(kxyFromfcNEQ_SWB - kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB + kxzFromfcNEQ_SWB - kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB) + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - //ax = four*(-vx1_SWB - vx1_NWT + vx1_SET + vx1_NEB) - kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB - kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT - kyzFromfcNEQ_SET - kyzFromfcNEQ_NEB; - //ay = two*(-vx1_SWB + vx1_NWT - vx1_SET + vx1_NEB + vx2_SWB + vx2_NWT - vx2_SET - vx2_NEB) - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB + kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB; - //az = two*(-vx1_SWB + vx1_NWT + vx1_SET - vx1_NEB + vx3_SWB + vx3_NWT - vx3_SET - vx3_NEB) - kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB; - //axx= two*( vx2_SWB - vx2_NWT - vx2_SET + vx2_NEB + vx3_SWB - vx3_NWT + vx3_SET - vx3_NEB) - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - //ayy= two*(-vx2_SWB + vx2_NWT + vx2_SET - vx2_NEB - vx3_SWB + vx3_NWT - vx3_SET + vx3_NEB) - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + two*(-kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT - kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB) - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT - kyzFromfcNEQ_SET - kyzFromfcNEQ_NEB; - //azz= two*(-vx2_SWB + vx2_NWT + vx2_SET - vx2_NEB - vx3_SWB + vx3_NWT - vx3_SET + vx3_NEB) + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + two*(-kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET - kxzFromfcNEQ_NEB) - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT - kyzFromfcNEQ_SET - kyzFromfcNEQ_NEB; - //b0 = two*( vx1_SWB - vx1_NWT - vx1_SET + vx1_NEB + four*(vx2_SWB + vx2_NWT + vx2_SET + vx2_NEB) + vx3_SWB + vx3_NWT - vx3_SET - vx3_NEB - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB) + kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + two*(kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT - kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB) + kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB + two*(kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT - kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB); - //bx = two*( vx1_SWB - vx1_NWT + vx1_SET - vx1_NEB - vx2_SWB - vx2_NWT + vx2_SET + vx2_NEB) + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB + kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB; - //by = four*(-vx2_SWB + vx2_NWT - vx2_SET + vx2_NEB) - kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB + kxzFromfcNEQ_SWB - kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET - kxzFromfcNEQ_NEB - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - //bz = two*(-vx2_SWB + vx2_NWT + vx2_SET - vx2_NEB + vx3_SWB - vx3_NWT + vx3_SET - vx3_NEB) + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - //bxx= two*(-vx1_SWB + vx1_NWT + vx1_SET - vx1_NEB - vx3_SWB - vx3_NWT + vx3_SET + vx3_NEB) + kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + two*(-kxyFromfcNEQ_SWB - kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB) - kxzFromfcNEQ_SWB - kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET - kxzFromfcNEQ_NEB; - //byy= two*( vx1_SWB - vx1_NWT - vx1_SET + vx1_NEB + vx3_SWB + vx3_NWT - vx3_SET - vx3_NEB + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB) - kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB; - //bzz= two*(-vx1_SWB + vx1_NWT + vx1_SET - vx1_NEB - vx3_SWB - vx3_NWT + vx3_SET + vx3_NEB) - kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB - kxzFromfcNEQ_SWB - kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET - kxzFromfcNEQ_NEB + two*(-kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET - kyzFromfcNEQ_NEB); - //byz= two*( vx1_SWB - vx1_NWT + vx1_SET - vx1_NEB + vx2_SWB + vx2_NWT - vx2_SET - vx2_NEB) + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB + kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB; - //c0 = two*( vx1_SWB - vx1_NWT + vx1_SET - vx1_NEB + vx2_SWB + vx2_NWT - vx2_SET - vx2_NEB) + eight*(vx3_SWB + vx3_NWT + vx3_SET + vx3_NEB) + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB + two*(-kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB) + kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB + two*(kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET - kxzFromfcNEQ_NEB + kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET - kyzFromfcNEQ_NEB); - //cx = two*( vx1_SWB - vx1_NWT - vx1_SET + vx1_NEB - vx3_SWB - vx3_NWT + vx3_SET + vx3_NEB) + kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB; - //cy = two*( vx2_SWB - vx2_NWT - vx2_SET + vx2_NEB - vx3_SWB + vx3_NWT - vx3_SET + vx3_NEB) - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - //cz = four*(-vx3_SWB + vx3_NWT + vx3_SET - vx3_NEB) + kxyFromfcNEQ_SWB - kxyFromfcNEQ_NWT - kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB - kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - //cxx= two*(-vx1_SWB + vx1_NWT - vx1_SET + vx1_NEB - vx2_SWB - vx2_NWT + vx2_SET + vx2_NEB) + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB - kxyFromfcNEQ_SWB - kxyFromfcNEQ_NWT - kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB + two*(-kxzFromfcNEQ_SWB - kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB); - //cyy= two*(-vx1_SWB + vx1_NWT - vx1_SET + vx1_NEB - vx2_SWB - vx2_NWT + vx2_SET + vx2_NEB) - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB - kxyFromfcNEQ_SWB - kxyFromfcNEQ_NWT - kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB + two*(-kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT - kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB); - //czz= two*( vx1_SWB - vx1_NWT + vx1_SET - vx1_NEB + vx2_SWB + vx2_NWT - vx2_SET - vx2_NEB) - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB + two*(kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB) + kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB; - //cxz= two*( vx2_SWB - vx2_NWT - vx2_SET + vx2_NEB + vx3_SWB - vx3_NWT + vx3_SET - vx3_NEB) - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - //cyz= two*( vx1_SWB - vx1_NWT - vx1_SET + vx1_NEB + vx3_SWB + vx3_NWT - vx3_SET - vx3_NEB) + kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // (_SWT _SEB _NWB _NET) - //merged - real tayz = kxyFromfcNEQ_SWT - kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET - kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB - kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB - kyzFromfcNEQ_SEB - kyzFromfcNEQ_NET; - real tbxz = kxyFromfcNEQ_SWT - kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET + kxzFromfcNEQ_SWT - kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB - kxzFromfcNEQ_NET - kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET; - real tcxy =-kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB - kxyFromfcNEQ_NET - kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB - kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET - kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET; - real tax = c4o1*(-vx1_SWT + vx1_SEB - vx1_NWB + vx1_NET) - tayz; - real tby = c4o1*(-vx2_SWT - vx2_SEB + vx2_NWB + vx2_NET) - tbxz; - real tcz = c4o1*( vx3_SWT - vx3_SEB - vx3_NWB + vx3_NET) - tcxy; - real taxy = c2o1*( vx1_SWT - vx1_NWB - vx1_SEB + vx1_NET - vx3_SWT - vx3_NWB + vx3_SEB + vx3_NET) - kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - kxzFromfcNEQ_SWT - kxzFromfcNEQ_NWB - kxzFromfcNEQ_SEB - kxzFromfcNEQ_NET; - real taxz = c2o1*(-vx1_SWT + vx1_NWB - vx1_SEB + vx1_NET - vx2_SWT - vx2_NWB + vx2_SEB + vx2_NET) + kxxMyyFromfcNEQ_SWT - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET - kxyFromfcNEQ_SWT - kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB - kxyFromfcNEQ_NET; - real tbxy = c2o1*( vx2_SWT - vx2_NWB - vx2_SEB + vx2_NET - vx3_SWT + vx3_NWB - vx3_SEB + vx3_NET) + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NET - kxxMzzFromfcNEQ_SWT - kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB - kyzFromfcNEQ_SEB - kyzFromfcNEQ_NET; - real tay = c4o1*(-vx1_SWT - vx1_SEB + vx1_NWB + vx1_NET) - taxz; - real taz = c4o1*( vx1_SWT - vx1_SEB - vx1_NWB + vx1_NET) - taxy; - real tbz = c4o1*( vx2_SWT - vx2_SEB - vx2_NWB + vx2_NET) - tbxy; - real tbx = c2o1*(kxyFromfcNEQ_SWT + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NWB + kxyFromfcNEQ_NET) - tay; - real tcy = c2o1*(kyzFromfcNEQ_SWT + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NWB + kyzFromfcNEQ_NET) - tbz; - real tcx = c2o1*(kxzFromfcNEQ_SWT + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NWB + kxzFromfcNEQ_NET) - taz; - real tbyz = c4o1*(-vx2_SWT + vx2_SEB - vx2_NWB + vx2_NET) - tbx; - real tcyz = c4o1*(-vx3_SWT + vx3_SEB - vx3_NWB + vx3_NET) - tcx; - real tcxz = c4o1*(-vx3_SWT - vx3_SEB + vx3_NWB + vx3_NET) - tcy; - real taxx = c4o1*( vx2_SWT - vx2_SEB - vx2_NWB + vx2_NET) + c2o1*(-kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NET) - tbz; - real tayy = c4o1*(-vx2_SWT + vx2_SEB + vx2_NWB - vx2_NET) + c2o1*(-kxyFromfcNEQ_SWT - kxyFromfcNEQ_SEB + kxyFromfcNEQ_NWB + kxyFromfcNEQ_NET ) + tbz; - real tazz = c4o1*( vx3_SWT + vx3_SEB - vx3_NWB - vx3_NET) + c2o1*( kxzFromfcNEQ_SWT - kxzFromfcNEQ_SEB - kxzFromfcNEQ_NWB + kxzFromfcNEQ_NET ) + tcy; - real tbxx = c4o1*(-vx1_SWT + vx1_SEB + vx1_NWB - vx1_NET) + c2o1*(-kxyFromfcNEQ_SWT + kxyFromfcNEQ_SEB - kxyFromfcNEQ_NWB + kxyFromfcNEQ_NET ) + taz; - real tbyy = c4o1*( vx1_SWT - vx1_SEB - vx1_NWB + vx1_NET) + c2o1*( kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NET) - taz; - real tbzz = c4o1*( vx3_SWT - vx3_SEB + vx3_NWB - vx3_NET) + c2o1*( kyzFromfcNEQ_SWT - kyzFromfcNEQ_SEB - kyzFromfcNEQ_NWB + kyzFromfcNEQ_NET ) + tcx; - real tcxx = c4o1*( vx1_SWT + vx1_SEB - vx1_NWB - vx1_NET) + c2o1*(-kxzFromfcNEQ_SWT + kxzFromfcNEQ_SEB - kxzFromfcNEQ_NWB + kxzFromfcNEQ_NET ) + tay; - real tcyy = c4o1*( vx2_SWT - vx2_SEB + vx2_NWB - vx2_NET) + c2o1*(-kyzFromfcNEQ_SWT - kyzFromfcNEQ_SEB + kyzFromfcNEQ_NWB + kyzFromfcNEQ_NET ) + tbx; - real tczz = c4o1*(-vx1_SWT - vx1_SEB + vx1_NWB + vx1_NET) + c2o1*(-kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NET) - tay; - real ta0 = c8o1*( vx1_SWT + vx1_NWB + vx1_SEB + vx1_NET) + c2o1*( kxxMzzFromfcNEQ_SWT - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NET) + c2o1*(-kxzFromfcNEQ_SWT + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NWB - kxzFromfcNEQ_NET ) - tayy; - real tb0 = c8o1*( vx2_SWT + vx2_NWB + vx2_SEB + vx2_NET) + c2o1*(-kxxMyyFromfcNEQ_SWT - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NET) + c2o1*( kxyFromfcNEQ_SWT - kxyFromfcNEQ_SEB + kxyFromfcNEQ_NWB - kxyFromfcNEQ_NET ) - tbzz; - real tc0 = c8o1*( vx3_SWT + vx3_NWB + vx3_SEB + vx3_NET) + c2o1*(-kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NET) + c2o1*( kxzFromfcNEQ_SWT - kxzFromfcNEQ_SEB + kxzFromfcNEQ_NWB - kxzFromfcNEQ_NET ) - tcyy; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - a0 += ta0 ; - ax += tax ; - ay += tay ; - az += taz ; - axx += taxx ; - ayy += tayy ; - azz += tazz ; - axy += taxy ; - axz += taxz ; - ayz += tayz ; - b0 += tb0 ; - bx += tbx ; - by += tby ; - bz += tbz ; - bxx += tbxx ; - byy += tbyy ; - bzz += tbzz ; - bxy += tbxy ; - bxz += tbxz ; - byz += tbyz ; - c0 += tc0 ; - cx += tcx ; - cy += tcy ; - cz += tcz ; - cxx += tcxx ; - cyy += tcyy ; - czz += tczz ; - cxy += tcxy ; - cxz += tcxz ; - cyz += tcyz ; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //a0 += eight*( vx1_SWT + vx1_NWB + vx1_SEB + vx1_NET) + two*(vx2_SWT - vx2_NWB - vx2_SEB + vx2_NET - vx3_SWT + vx3_NWB - vx3_SEB + vx3_NET) + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NET + two*(kxyFromfcNEQ_SWT - kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB - kxyFromfcNEQ_NET - kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB - kxzFromfcNEQ_NET) - kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB - kyzFromfcNEQ_SEB - kyzFromfcNEQ_NET; - //ax += four*(-vx1_SWT - vx1_NWB + vx1_SEB + vx1_NET) - kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB - kxyFromfcNEQ_NET + kxzFromfcNEQ_SWT - kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB - kxzFromfcNEQ_NET - kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET; - //ay += two*(-vx1_SWT + vx1_NWB - vx1_SEB + vx1_NET + vx2_SWT + vx2_NWB - vx2_SEB - vx2_NET) - kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NET + kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET; - //az += two*( vx1_SWT - vx1_NWB - vx1_SEB + vx1_NET + vx3_SWT + vx3_NWB - vx3_SEB - vx3_NET) + kxxMzzFromfcNEQ_SWT - kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NET + kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET; - //axx += two*( vx2_SWT - vx2_NWB - vx2_SEB + vx2_NET - vx3_SWT + vx3_NWB - vx3_SEB + vx3_NET) - kxxMyyFromfcNEQ_SWT - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET - kxxMzzFromfcNEQ_SWT - kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB - kyzFromfcNEQ_SEB - kyzFromfcNEQ_NET; - //ayy += two*(-vx2_SWT + vx2_NWB + vx2_SEB - vx2_NET + vx3_SWT - vx3_NWB + vx3_SEB - vx3_NET) - kxxMyyFromfcNEQ_SWT - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NET + two*(-kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET) + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET; - //azz += two*(-vx2_SWT + vx2_NWB + vx2_SEB - vx2_NET + vx3_SWT - vx3_NWB + vx3_SEB - vx3_NET) + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NET - kxxMzzFromfcNEQ_SWT - kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET + two*( kxzFromfcNEQ_SWT - kxzFromfcNEQ_NWB - kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET) + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET; - //axy += two*( vx1_SWT - vx1_NWB - vx1_SEB + vx1_NET - vx3_SWT - vx3_NWB + vx3_SEB + vx3_NET) - kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - kxzFromfcNEQ_SWT - kxzFromfcNEQ_NWB - kxzFromfcNEQ_SEB - kxzFromfcNEQ_NET; - //axz += two*(-vx1_SWT + vx1_NWB - vx1_SEB + vx1_NET - vx2_SWT - vx2_NWB + vx2_SEB + vx2_NET) + kxxMyyFromfcNEQ_SWT - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET - kxyFromfcNEQ_SWT - kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB - kxyFromfcNEQ_NET; - //ayz += kxyFromfcNEQ_SWT - kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET - kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB - kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB - kyzFromfcNEQ_SEB - kyzFromfcNEQ_NET; - //b0 += two*( vx1_SWT - vx1_NWB - vx1_SEB + vx1_NET + four*(vx2_SWT + vx2_NWB + vx2_SEB + vx2_NET) - vx3_SWT - vx3_NWB + vx3_SEB + vx3_NET - kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET) + kxxMzzFromfcNEQ_SWT - kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NET + two*(kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB - kxyFromfcNEQ_NET) - kxzFromfcNEQ_SWT - kxzFromfcNEQ_NWB - kxzFromfcNEQ_SEB - kxzFromfcNEQ_NET + two*(-kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB - kyzFromfcNEQ_NET); - //bx += two*( vx1_SWT - vx1_NWB + vx1_SEB - vx1_NET - vx2_SWT - vx2_NWB + vx2_SEB + vx2_NET) + kxxMyyFromfcNEQ_SWT - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET; - //by += four*(-vx2_SWT + vx2_NWB - vx2_SEB + vx2_NET) - kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB - kxyFromfcNEQ_NET - kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB - kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB - kyzFromfcNEQ_SEB - kyzFromfcNEQ_NET; - //bz += two*( vx2_SWT - vx2_NWB - vx2_SEB + vx2_NET + vx3_SWT - vx3_NWB + vx3_SEB - vx3_NET) - kxxMyyFromfcNEQ_SWT - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET; - //bxx += two*(-vx1_SWT + vx1_NWB + vx1_SEB - vx1_NET + vx3_SWT + vx3_NWB - vx3_SEB - vx3_NET) + kxxMzzFromfcNEQ_SWT - kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NET + two*(-kxyFromfcNEQ_SWT - kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET) + kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET; - //byy += two*( vx1_SWT - vx1_NWB - vx1_SEB + vx1_NET - vx3_SWT - vx3_NWB + vx3_SEB + vx3_NET + kxxMyyFromfcNEQ_SWT - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NET) - kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - kxzFromfcNEQ_SWT - kxzFromfcNEQ_NWB - kxzFromfcNEQ_SEB - kxzFromfcNEQ_NET; - //bzz += two*(-vx1_SWT + vx1_NWB + vx1_SEB - vx1_NET + vx3_SWT + vx3_NWB - vx3_SEB - vx3_NET) - kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET + kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET + two*(kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB - kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET); - //bxy += two*( vx2_SWT - vx2_NWB - vx2_SEB + vx2_NET - vx3_SWT + vx3_NWB - vx3_SEB + vx3_NET) + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NET - kxxMzzFromfcNEQ_SWT - kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB - kyzFromfcNEQ_SEB - kyzFromfcNEQ_NET; - //bxz += kxyFromfcNEQ_SWT - kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET + kxzFromfcNEQ_SWT - kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB - kxzFromfcNEQ_NET - kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET; - //byz += two*(-vx1_SWT + vx1_NWB - vx1_SEB + vx1_NET - vx2_SWT - vx2_NWB + vx2_SEB + vx2_NET) - kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NET - kxyFromfcNEQ_SWT - kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB - kxyFromfcNEQ_NET; - //c0 += two*(-vx1_SWT + vx1_NWB - vx1_SEB + vx1_NET - vx2_SWT - vx2_NWB + vx2_SEB + vx2_NET) + eight*(vx3_SWT + vx3_NWB + vx3_SEB + vx3_NET) - kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NET + two*(kxxMzzFromfcNEQ_SWT - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET) - kxyFromfcNEQ_SWT - kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB - kxyFromfcNEQ_NET + two*(kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB - kxzFromfcNEQ_SEB - kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB - kyzFromfcNEQ_NET); - //cx += two*(-vx1_SWT + vx1_NWB + vx1_SEB - vx1_NET - vx3_SWT - vx3_NWB + vx3_SEB + vx3_NET) - kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET + kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET; - //cy += two*(-vx2_SWT + vx2_NWB + vx2_SEB - vx2_NET - vx3_SWT + vx3_NWB - vx3_SEB + vx3_NET) + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NET - kxxMzzFromfcNEQ_SWT - kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET; - //cz += four*( vx3_SWT - vx3_NWB - vx3_SEB + vx3_NET) + kxyFromfcNEQ_SWT - kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET + kxzFromfcNEQ_SWT - kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB - kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB - kyzFromfcNEQ_SEB - kyzFromfcNEQ_NET; - //cxx += two*( vx1_SWT - vx1_NWB + vx1_SEB - vx1_NET + vx2_SWT + vx2_NWB - vx2_SEB - vx2_NET) - kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NET + kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET + two*(-kxzFromfcNEQ_SWT - kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET); - //cyy += two*( vx1_SWT - vx1_NWB + vx1_SEB - vx1_NET + vx2_SWT + vx2_NWB - vx2_SEB - vx2_NET) + kxxMyyFromfcNEQ_SWT - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET + two*(-kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB - kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET); - //czz += two*(-vx1_SWT + vx1_NWB - vx1_SEB + vx1_NET - vx2_SWT - vx2_NWB + vx2_SEB + vx2_NET) + kxxMyyFromfcNEQ_SWT - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + two*(-kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NET) - kxyFromfcNEQ_SWT - kxyFromfcNEQ_NWB - kxyFromfcNEQ_SEB - kxyFromfcNEQ_NET; - //cxy += -kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB - kxyFromfcNEQ_NET - kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB - kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET - kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET; - //cxz += two*( vx2_SWT - vx2_NWB - vx2_SEB + vx2_NET - vx3_SWT + vx3_NWB - vx3_SEB + vx3_NET) - kxxMyyFromfcNEQ_SWT - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NET - kyzFromfcNEQ_SWT - kyzFromfcNEQ_NWB - kyzFromfcNEQ_SEB - kyzFromfcNEQ_NET; - //cyz += two*( vx1_SWT - vx1_NWB - vx1_SEB + vx1_NET - vx3_SWT - vx3_NWB + vx3_SEB + vx3_NET) + kxxMzzFromfcNEQ_SWT - kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NET - kxzFromfcNEQ_SWT - kxzFromfcNEQ_NWB - kxzFromfcNEQ_SEB - kxzFromfcNEQ_NET; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - a0 *= 0.015625f;// /=two; && /= thirtytwo; - ax *= 0.0625f; // /=two; && /= eight; - ay *= 0.0625f; // /=two; && /= eight; - az *= 0.0625f; // /=two; && /= eight; - axx *= 0.0625f; // /=two; && /= eight; - ayy *= 0.0625f; // /=two; && /= eight; - azz *= 0.0625f; // /=two; && /= eight; - axy *= 0.125f; // /=two; && /= four; - axz *= 0.125f; // /=two; && /= four; - ayz *= 0.125f; // /=two; && /= four; - b0 *= 0.015625f;// /=two; && /= thirtytwo; - bx *= 0.0625f; // /=two; && /= eight; - by *= 0.0625f; // /=two; && /= eight; - bz *= 0.0625f; // /=two; && /= eight; - bxx *= 0.0625f; // /=two; && /= eight; - byy *= 0.0625f; // /=two; && /= eight; - bzz *= 0.0625f; // /=two; && /= eight; - bxy *= 0.125f; // /=two; && /= four; - bxz *= 0.125f; // /=two; && /= four; - byz *= 0.125f; // /=two; && /= four; - c0 *= 0.015625f;// /=two; && /= thirtytwo; - cx *= 0.0625f; // /=two; && /= eight; - cy *= 0.0625f; // /=two; && /= eight; - cz *= 0.0625f; // /=two; && /= eight; - cxx *= 0.0625f; // /=two; && /= eight; - cyy *= 0.0625f; // /=two; && /= eight; - czz *= 0.0625f; // /=two; && /= eight; - cxy *= 0.125f; // /=two; && /= four; - cxz *= 0.125f; // /=two; && /= four; - cyz *= 0.125f; // /=two; && /= four; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - // Bernd das Brot - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - a0 = a0 + xoff * ax + yoff * ay + zoff * az + xoff_sq * axx + yoff_sq * ayy + zoff_sq * azz; - ax = ax + c2o1 * xoff * axx + yoff * axy + zoff * axz; - ay = ay + c2o1 * yoff * ayy + xoff * axy + zoff * ayz; - az = az + c2o1 * zoff * azz + xoff * axz + yoff * ayz; - b0 = b0 + xoff * bx + yoff * by + zoff * bz + xoff_sq * bxx + yoff_sq * byy + zoff_sq * bzz; - bx = bx + c2o1 * xoff * bxx + yoff * bxy + zoff * bxz; - by = by + c2o1 * yoff * byy + xoff * bxy + zoff * byz; - bz = bz + c2o1 * zoff * bzz + xoff * bxz + yoff * byz; - c0 = c0 + xoff * cx + yoff * cy + zoff * cz + xoff_sq * cxx + yoff_sq * cyy + zoff_sq * czz; - cx = cx + c2o1 * xoff * cxx + yoff * cxy + zoff * cxz; - cy = cy + c2o1 * yoff * cyy + xoff * cxy + zoff * cyz; - cz = cz + c2o1 * zoff * czz + xoff * cxz + yoff * cyz; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //Position C 0.5, 0.5, 0.5 - //x = zero; - //y = zero; - //z = zero; - - //drho = c1o8*(drho_SWB + drho_NWB + drho_NEB + drho_SEB + drho_SWT + drho_NWT + drho_NET + drho_SET); - drho = drho_NET * (c1o8 - c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + - drho_NWT * (c1o8 + c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + - drho_SET * (c1o8 - c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + - drho_SWT * (c1o8 + c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + - drho_NEB * (c1o8 - c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + - drho_NWB * (c1o8 + c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + - drho_SEB * (c1o8 - c1o4 * xoff + c1o4 * yoff + c1o4 * zoff) + - drho_SWB * (c1o8 + c1o4 * xoff + c1o4 * yoff + c1o4 * zoff); - vx1 = a0; - vx2 = b0; - vx3 = c0; - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - feq_ZERO = c8o27* (drho-cu_sq); - feq_E = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - feq_N = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - feq_T = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - feq_NE = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - feq_SE = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - feq_TE = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - feq_BE = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - feq_TN = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - feq_BN = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - feq_TNE = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - feq_BNE = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - feq_TSE = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - feq_BSE = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - feq_W = feq_E + c2o27* (c6o1*(-vx1 )); - feq_S = feq_N + c2o27* (c6o1*( -vx2 )); - feq_B = feq_T + c2o27* (c6o1*( -vx3)); - feq_SW = feq_NE + c1o54* (c6o1*(-vx1-vx2 )); - feq_NW = feq_SE + c1o54* (c6o1*(-vx1+vx2 )); - feq_BW = feq_TE + c1o54* (c6o1*(-vx1 -vx3)); - feq_TW = feq_BE + c1o54* (c6o1*(-vx1 +vx3)); - feq_BS = feq_TN + c1o54* (c6o1*( -vx2-vx3)); - feq_TS = feq_BN + c1o54* (c6o1*( -vx2+vx3)); - feq_BSW = feq_TNE + c1o216*(c6o1*(-vx1-vx2-vx3)); - feq_TSW = feq_BNE + c1o216*(c6o1*(-vx1-vx2+vx3)); - feq_BNW = feq_TSE + c1o216*(c6o1*(-vx1+vx2-vx3)); - feq_TNW = feq_BSE + c1o216*(c6o1*(-vx1+vx2+vx3)); - - f_E = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o - c8o1*ax*op + c4o1*by*op + c4o1*cz*op)/(c54o1*o*op)); - f_N = f_E + eps_new *((c2o1*(ax - by))/(c9o1*o)); - f_T = f_E + eps_new *((c2o1*(ax - cz))/(c9o1*o)); - f_NE = eps_new *(-(c5o1*cz*o + c3o1*(ay + bx)*op - c2o1*cz*op + ax*(c5o1*o + op) + by*(c5o1*o + op))/(c54o1*o*op)); - f_SE = f_NE + eps_new *(( ay + bx )/(c9o1*o)); - f_TE = eps_new *(-(c5o1*cz*o + by*(c5o1*o - c2o1*op) + c3o1*(az + cx)*op + cz*op + ax*(c5o1*o + op))/(c54o1*o*op)); - f_BE = f_TE + eps_new *(( az + cx )/(c9o1*o)); - f_TN = eps_new *(-(c5o1*ax*o + c5o1*by*o + c5o1*cz*o - c2o1*ax*op + by*op + c3o1*bz*op + c3o1*cy*op + cz*op)/(c54o1*o*op)); - f_BN = f_TN + eps_new *(( bz + cy )/(c9o1*o)); - f_ZERO = eps_new *((c5o1*(ax + by + cz))/(c9o1*op)); - f_TNE = eps_new *(-(ay + az + bx + bz + cx + cy)/(c72o1*o)); - f_TSW = - eps_new *((ay + bx)/(c36o1*o)) - f_TNE; - f_TSE = - eps_new *((az + cx)/(c36o1*o)) - f_TNE; - f_TNW = - eps_new *((bz + cy)/(c36o1*o)) - f_TNE; - - ////////////////////////////////////////////////////////////////////////// - //index 0 - kzero= posC[k]; - kw = neighborCX[kzero]; - ks = neighborCY[kzero]; - kb = neighborCZ[kzero]; - ksw = neighborCY[kw]; - kbw = neighborCZ[kw]; - kbs = neighborCZ[ks]; - kbsw = neighborCZ[ksw]; - //////////////////////////////////////////////////////////////////////////////// - feC[kzero] = f_E + feq_E; - fwC[kw] = f_E + feq_W; - fnC[kzero] = f_N + feq_N; - fsC[ks] = f_N + feq_S; - ftC[kzero] = f_T + feq_T; - fbC[kb] = f_T + feq_B; - fneC[kzero] = f_NE + feq_NE; - fswC[ksw] = f_NE + feq_SW; - fseC[ks] = f_SE + feq_SE; - fnwC[kw] = f_SE + feq_NW; - fteC[kzero] = f_TE + feq_TE; - fbwC[kbw] = f_TE + feq_BW; - fbeC[kb] = f_BE + feq_BE; - ftwC[kw] = f_BE + feq_TW; - ftnC[kzero] = f_TN + feq_TN; - fbsC[kbs] = f_TN + feq_BS; - fbnC[kb] = f_BN + feq_BN; - ftsC[ks] = f_BN + feq_TS; - fzeroC[kzero]= f_ZERO + feq_ZERO; - ftneC[kzero] = f_TNE + feq_TNE; - ftswC[ksw] = f_TSW + feq_TSW; - ftseC[ks] = f_TSE + feq_TSE; - ftnwC[kw] = f_TNW + feq_TNW; - fbneC[kb] = f_TSW + feq_BNE; - fbswC[kbsw] = f_TNE + feq_BSW; - fbseC[kbs] = f_TNW + feq_BSE; - fbnwC[kbw] = f_TSE + feq_BNW; - } -} -////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -////////////////////////////////////////////////////////////////////////// -__global__ void scaleFC27(real* DC, - real* DF, - unsigned int* neighborCX, - unsigned int* neighborCY, - unsigned int* neighborCZ, - unsigned int* neighborFX, - unsigned int* neighborFY, - unsigned int* neighborFZ, - unsigned long long numberOfLBnodesCoarse, - unsigned long long numberOfLBnodesFine, - bool isEvenTimestep, - unsigned int* posC, - unsigned int* posFSWB, - unsigned int kFC, - real omCoarse, - real omFine, - real nu, - unsigned int nxC, - unsigned int nyC, - unsigned int nxF, - unsigned int nyF) -{ - real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, - *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - - feF = &DF[dP00 * numberOfLBnodesFine]; - fwF = &DF[dM00 * numberOfLBnodesFine]; - fnF = &DF[d0P0 * numberOfLBnodesFine]; - fsF = &DF[d0M0 * numberOfLBnodesFine]; - ftF = &DF[d00P * numberOfLBnodesFine]; - fbF = &DF[d00M * numberOfLBnodesFine]; - fneF = &DF[dPP0 * numberOfLBnodesFine]; - fswF = &DF[dMM0 * numberOfLBnodesFine]; - fseF = &DF[dPM0 * numberOfLBnodesFine]; - fnwF = &DF[dMP0 * numberOfLBnodesFine]; - fteF = &DF[dP0P * numberOfLBnodesFine]; - fbwF = &DF[dM0M * numberOfLBnodesFine]; - fbeF = &DF[dP0M * numberOfLBnodesFine]; - ftwF = &DF[dM0P * numberOfLBnodesFine]; - ftnF = &DF[d0PP * numberOfLBnodesFine]; - fbsF = &DF[d0MM * numberOfLBnodesFine]; - fbnF = &DF[d0PM * numberOfLBnodesFine]; - ftsF = &DF[d0MP * numberOfLBnodesFine]; - fzeroF = &DF[d000 * numberOfLBnodesFine]; - ftneF = &DF[dPPP * numberOfLBnodesFine]; - ftswF = &DF[dMMP * numberOfLBnodesFine]; - ftseF = &DF[dPMP * numberOfLBnodesFine]; - ftnwF = &DF[dMPP * numberOfLBnodesFine]; - fbneF = &DF[dPPM * numberOfLBnodesFine]; - fbswF = &DF[dMMM * numberOfLBnodesFine]; - fbseF = &DF[dPMM * numberOfLBnodesFine]; - fbnwF = &DF[dMPM * numberOfLBnodesFine]; - - real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, *fzeroC, - *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; - - if (isEvenTimestep==true) - { - feC = &DC[dP00 * numberOfLBnodesCoarse]; - fwC = &DC[dM00 * numberOfLBnodesCoarse]; - fnC = &DC[d0P0 * numberOfLBnodesCoarse]; - fsC = &DC[d0M0 * numberOfLBnodesCoarse]; - ftC = &DC[d00P * numberOfLBnodesCoarse]; - fbC = &DC[d00M * numberOfLBnodesCoarse]; - fneC = &DC[dPP0 * numberOfLBnodesCoarse]; - fswC = &DC[dMM0 * numberOfLBnodesCoarse]; - fseC = &DC[dPM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dMP0 * numberOfLBnodesCoarse]; - fteC = &DC[dP0P * numberOfLBnodesCoarse]; - fbwC = &DC[dM0M * numberOfLBnodesCoarse]; - fbeC = &DC[dP0M * numberOfLBnodesCoarse]; - ftwC = &DC[dM0P * numberOfLBnodesCoarse]; - ftnC = &DC[d0PP * numberOfLBnodesCoarse]; - fbsC = &DC[d0MM * numberOfLBnodesCoarse]; - fbnC = &DC[d0PM * numberOfLBnodesCoarse]; - ftsC = &DC[d0MP * numberOfLBnodesCoarse]; - fzeroC = &DC[d000 * numberOfLBnodesCoarse]; - ftneC = &DC[dPPP * numberOfLBnodesCoarse]; - ftswC = &DC[dMMP * numberOfLBnodesCoarse]; - ftseC = &DC[dPMP * numberOfLBnodesCoarse]; - ftnwC = &DC[dMPP * numberOfLBnodesCoarse]; - fbneC = &DC[dPPM * numberOfLBnodesCoarse]; - fbswC = &DC[dMMM * numberOfLBnodesCoarse]; - fbseC = &DC[dPMM * numberOfLBnodesCoarse]; - fbnwC = &DC[dMPM * numberOfLBnodesCoarse]; - } - else - { - fwC = &DC[dP00 * numberOfLBnodesCoarse]; - feC = &DC[dM00 * numberOfLBnodesCoarse]; - fsC = &DC[d0P0 * numberOfLBnodesCoarse]; - fnC = &DC[d0M0 * numberOfLBnodesCoarse]; - fbC = &DC[d00P * numberOfLBnodesCoarse]; - ftC = &DC[d00M * numberOfLBnodesCoarse]; - fswC = &DC[dPP0 * numberOfLBnodesCoarse]; - fneC = &DC[dMM0 * numberOfLBnodesCoarse]; - fnwC = &DC[dPM0 * numberOfLBnodesCoarse]; - fseC = &DC[dMP0 * numberOfLBnodesCoarse]; - fbwC = &DC[dP0P * numberOfLBnodesCoarse]; - fteC = &DC[dM0M * numberOfLBnodesCoarse]; - ftwC = &DC[dP0M * numberOfLBnodesCoarse]; - fbeC = &DC[dM0P * numberOfLBnodesCoarse]; - fbsC = &DC[d0PP * numberOfLBnodesCoarse]; - ftnC = &DC[d0MM * numberOfLBnodesCoarse]; - ftsC = &DC[d0PM * numberOfLBnodesCoarse]; - fbnC = &DC[d0MP * numberOfLBnodesCoarse]; - fzeroC = &DC[d000 * numberOfLBnodesCoarse]; - fbswC = &DC[dPPP * numberOfLBnodesCoarse]; - fbneC = &DC[dMMP * numberOfLBnodesCoarse]; - fbnwC = &DC[dPMP * numberOfLBnodesCoarse]; - fbseC = &DC[dMPP * numberOfLBnodesCoarse]; - ftswC = &DC[dPPM * numberOfLBnodesCoarse]; - ftneC = &DC[dMMM * numberOfLBnodesCoarse]; - ftnwC = &DC[dPMM * numberOfLBnodesCoarse]; - ftseC = &DC[dMPM * numberOfLBnodesCoarse]; - } - //////////////////////////////////////////////////////////////////////////////// - const unsigned ix = threadIdx.x; // Globaler x-Index - const unsigned iy = blockIdx.x; // Globaler y-Index - const unsigned iz = blockIdx.y; // Globaler z-Index - - const unsigned nx = blockDim.x; - const unsigned ny = gridDim.x; - - const unsigned k = nx*(ny*iz + iy) + ix; - ////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////// - real epsylon = c1o1; - real eps_new = c2o1; - real omegaS = omFine;//-omFine; - real o = omCoarse;//-omCoarse; - real op = c1o1; - real cu_sq; - - real drho,vx1,vx2,vx3; - real drho_SWT,vx1_SWT,vx2_SWT,vx3_SWT; - real drho_NWT,vx1_NWT,vx2_NWT,vx3_NWT; - real drho_NET,vx1_NET,vx2_NET,vx3_NET; - real drho_SET,vx1_SET,vx2_SET,vx3_SET; - real drho_SWB,vx1_SWB,vx2_SWB,vx3_SWB; - real drho_NWB,vx1_NWB,vx2_NWB,vx3_NWB; - real drho_NEB,vx1_NEB,vx2_NEB,vx3_NEB; - real drho_SEB,vx1_SEB,vx2_SEB,vx3_SEB; - real f_E,f_W,f_N,f_S,f_T,f_B,f_NE,f_SW,f_SE,f_NW,f_TE,f_BW,f_BE,f_TW,f_TN,f_BS,f_BN,f_TS,f_ZERO,f_TNE, f_TSW, f_TSE, f_TNW, f_BNE, f_BSW, f_BSE, f_BNW; - real feq_E,feq_W,feq_N,feq_S,feq_T,feq_B,feq_NE,feq_SW,feq_SE,feq_NW,feq_TE,feq_BW,feq_BE,feq_TW,feq_TN,feq_BS,feq_BN,feq_TS,feq_ZERO,feq_TNE, feq_TSW, feq_TSE, feq_TNW, feq_BNE, feq_BSW, feq_BSE, feq_BNW; - real kxyFromfcNEQ_SWT, kyzFromfcNEQ_SWT, kxzFromfcNEQ_SWT, kxxMyyFromfcNEQ_SWT, kxxMzzFromfcNEQ_SWT; - real kxyFromfcNEQ_NWT, kyzFromfcNEQ_NWT, kxzFromfcNEQ_NWT, kxxMyyFromfcNEQ_NWT, kxxMzzFromfcNEQ_NWT; - real kxyFromfcNEQ_NET, kyzFromfcNEQ_NET, kxzFromfcNEQ_NET, kxxMyyFromfcNEQ_NET, kxxMzzFromfcNEQ_NET; - real kxyFromfcNEQ_SET, kyzFromfcNEQ_SET, kxzFromfcNEQ_SET, kxxMyyFromfcNEQ_SET, kxxMzzFromfcNEQ_SET; - real kxyFromfcNEQ_SWB, kyzFromfcNEQ_SWB, kxzFromfcNEQ_SWB, kxxMyyFromfcNEQ_SWB, kxxMzzFromfcNEQ_SWB; - real kxyFromfcNEQ_NWB, kyzFromfcNEQ_NWB, kxzFromfcNEQ_NWB, kxxMyyFromfcNEQ_NWB, kxxMzzFromfcNEQ_NWB; - real kxyFromfcNEQ_NEB, kyzFromfcNEQ_NEB, kxzFromfcNEQ_NEB, kxxMyyFromfcNEQ_NEB, kxxMzzFromfcNEQ_NEB; - real kxyFromfcNEQ_SEB, kyzFromfcNEQ_SEB, kxzFromfcNEQ_SEB, kxxMyyFromfcNEQ_SEB, kxxMzzFromfcNEQ_SEB; - real a0, ax, ay, az, axx, ayy, azz, axy, axz, ayz, b0, bx, by, bz, bxx, byy, bzz, bxy, bxz, byz, c0, cx, cy, cz, cxx, cyy, czz, cxy, cxz, cyz; - - real x,y,z; - - if(k<kFC){ - ////////////////////////////////////////////////////////////////////////// - //SWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - unsigned int k0zero= posFSWB[k]; - unsigned int k0w = neighborFX[k0zero]; - unsigned int k0s = neighborFY[k0zero]; - unsigned int k0b = neighborFZ[k0zero]; - unsigned int k0sw = neighborFY[k0w]; - unsigned int k0bw = neighborFZ[k0w]; - unsigned int k0bs = neighborFZ[k0s]; - unsigned int k0bsw = neighborFZ[k0sw]; - ////////////////////////////////////////////////////////////////////////// - //index - unsigned int kzero= k0zero; - unsigned int kw = k0w; - unsigned int ks = k0s; - unsigned int kb = k0b; - unsigned int ksw = k0sw; - unsigned int kbw = k0bw; - unsigned int kbs = k0bs; - unsigned int kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - drho_SWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_SWB = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2_SWB = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3_SWB = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - - drho = drho_SWB; - vx1 = vx1_SWB; - vx2 = vx2_SWB; - vx3 = vx3_SWB; - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - feq_ZERO = c8o27* (drho-cu_sq); - feq_E = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - feq_W = c2o27* (drho+c3o1*(-vx1 )+c9o2*(-vx1 )*(-vx1 )-cu_sq); - feq_N = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - feq_S = c2o27* (drho+c3o1*( -vx2 )+c9o2*( -vx2 )*( -vx2 )-cu_sq); - feq_T = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - feq_B = c2o27* (drho+c3o1*( -vx3)+c9o2*( -vx3)*( -vx3)-cu_sq); - feq_NE = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - feq_SW = c1o54* (drho+c3o1*(-vx1-vx2 )+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq); - feq_SE = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - feq_NW = c1o54* (drho+c3o1*(-vx1+vx2 )+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq); - feq_TE = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - feq_BW = c1o54* (drho+c3o1*(-vx1 -vx3)+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq); - feq_BE = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - feq_TW = c1o54* (drho+c3o1*(-vx1 +vx3)+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq); - feq_TN = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - feq_BS = c1o54* (drho+c3o1*( -vx2-vx3)+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq); - feq_BN = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - feq_TS = c1o54* (drho+c3o1*( -vx2+vx3)+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq); - feq_TNE = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - feq_BSW = c1o216*(drho+c3o1*(-vx1-vx2-vx3)+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq); - feq_BNE = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - feq_TSW = c1o216*(drho+c3o1*(-vx1-vx2+vx3)+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq); - feq_TSE = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - feq_BNW = c1o216*(drho+c3o1*(-vx1+vx2-vx3)+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq); - feq_BSE = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - feq_TNW = c1o216*(drho+c3o1*(-vx1+vx2+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq); - - f_E = f_E - feq_E; - f_W = f_W - feq_W; - f_N = f_N - feq_N; - f_S = f_S - feq_S; - f_T = f_T - feq_T; - f_B = f_B - feq_B; - f_NE = f_NE - feq_NE; - f_SW = f_SW - feq_SW; - f_SE = f_SE - feq_SE; - f_NW = f_NW - feq_NW; - f_TE = f_TE - feq_TE; - f_BW = f_BW - feq_BW; - f_BE = f_BE - feq_BE; - f_TW = f_TW - feq_TW; - f_TN = f_TN - feq_TN; - f_BS = f_BS - feq_BS; - f_BN = f_BN - feq_BN; - f_TS = f_TS - feq_TS; - f_ZERO = f_ZERO - feq_ZERO; - f_TNE = f_TNE - feq_TNE; - f_TSW = f_TSW - feq_TSW; - f_TSE = f_TSE - feq_TSE; - f_TNW = f_TNW - feq_TNW; - f_BNE = f_BNE - feq_BNE; - f_BSW = f_BSW - feq_BSW; - f_BSE = f_BSE - feq_BSE; - f_BNW = f_BNW - feq_BNW; - - kxyFromfcNEQ_SWB = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE); - kyzFromfcNEQ_SWB = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW); - kxzFromfcNEQ_SWB = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE); - kxxMyyFromfcNEQ_SWB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE); - kxxMzzFromfcNEQ_SWB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE); - - ////////////////////////////////////////////////////////////////////////// - //SWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - drho_SWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_SWT = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2_SWT = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3_SWT = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - - drho = drho_SWT; - vx1 = vx1_SWT; - vx2 = vx2_SWT; - vx3 = vx3_SWT; - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - feq_ZERO = c8o27* (drho-cu_sq); - feq_E = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - feq_W = c2o27* (drho+c3o1*(-vx1 )+c9o2*(-vx1 )*(-vx1 )-cu_sq); - feq_N = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - feq_S = c2o27* (drho+c3o1*( -vx2 )+c9o2*( -vx2 )*( -vx2 )-cu_sq); - feq_T = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - feq_B = c2o27* (drho+c3o1*( -vx3)+c9o2*( -vx3)*( -vx3)-cu_sq); - feq_NE = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - feq_SW = c1o54* (drho+c3o1*(-vx1-vx2 )+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq); - feq_SE = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - feq_NW = c1o54* (drho+c3o1*(-vx1+vx2 )+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq); - feq_TE = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - feq_BW = c1o54* (drho+c3o1*(-vx1 -vx3)+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq); - feq_BE = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - feq_TW = c1o54* (drho+c3o1*(-vx1 +vx3)+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq); - feq_TN = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - feq_BS = c1o54* (drho+c3o1*( -vx2-vx3)+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq); - feq_BN = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - feq_TS = c1o54* (drho+c3o1*( -vx2+vx3)+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq); - feq_TNE = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - feq_BSW = c1o216*(drho+c3o1*(-vx1-vx2-vx3)+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq); - feq_BNE = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - feq_TSW = c1o216*(drho+c3o1*(-vx1-vx2+vx3)+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq); - feq_TSE = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - feq_BNW = c1o216*(drho+c3o1*(-vx1+vx2-vx3)+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq); - feq_BSE = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - feq_TNW = c1o216*(drho+c3o1*(-vx1+vx2+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq); - - f_E = f_E - feq_E; - f_W = f_W - feq_W; - f_N = f_N - feq_N; - f_S = f_S - feq_S; - f_T = f_T - feq_T; - f_B = f_B - feq_B; - f_NE = f_NE - feq_NE; - f_SW = f_SW - feq_SW; - f_SE = f_SE - feq_SE; - f_NW = f_NW - feq_NW; - f_TE = f_TE - feq_TE; - f_BW = f_BW - feq_BW; - f_BE = f_BE - feq_BE; - f_TW = f_TW - feq_TW; - f_TN = f_TN - feq_TN; - f_BS = f_BS - feq_BS; - f_BN = f_BN - feq_BN; - f_TS = f_TS - feq_TS; - f_ZERO = f_ZERO - feq_ZERO; - f_TNE = f_TNE - feq_TNE; - f_TSW = f_TSW - feq_TSW; - f_TSE = f_TSE - feq_TSE; - f_TNW = f_TNW - feq_TNW; - f_BNE = f_BNE - feq_BNE; - f_BSW = f_BSW - feq_BSW; - f_BSE = f_BSE - feq_BSE; - f_BNW = f_BNW - feq_BNW; - - - kxyFromfcNEQ_SWT = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE); - kyzFromfcNEQ_SWT = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW); - kxzFromfcNEQ_SWT = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE); - kxxMyyFromfcNEQ_SWT = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE); - kxxMzzFromfcNEQ_SWT = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE); - - ////////////////////////////////////////////////////////////////////////// - //SET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - drho_SET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_SET = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2_SET = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3_SET = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - - drho = drho_SET; - vx1 = vx1_SET; - vx2 = vx2_SET; - vx3 = vx3_SET; - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - feq_ZERO = c8o27* (drho-cu_sq); - feq_E = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - feq_W = c2o27* (drho+c3o1*(-vx1 )+c9o2*(-vx1 )*(-vx1 )-cu_sq); - feq_N = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - feq_S = c2o27* (drho+c3o1*( -vx2 )+c9o2*( -vx2 )*( -vx2 )-cu_sq); - feq_T = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - feq_B = c2o27* (drho+c3o1*( -vx3)+c9o2*( -vx3)*( -vx3)-cu_sq); - feq_NE = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - feq_SW = c1o54* (drho+c3o1*(-vx1-vx2 )+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq); - feq_SE = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - feq_NW = c1o54* (drho+c3o1*(-vx1+vx2 )+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq); - feq_TE = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - feq_BW = c1o54* (drho+c3o1*(-vx1 -vx3)+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq); - feq_BE = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - feq_TW = c1o54* (drho+c3o1*(-vx1 +vx3)+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq); - feq_TN = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - feq_BS = c1o54* (drho+c3o1*( -vx2-vx3)+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq); - feq_BN = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - feq_TS = c1o54* (drho+c3o1*( -vx2+vx3)+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq); - feq_TNE = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - feq_BSW = c1o216*(drho+c3o1*(-vx1-vx2-vx3)+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq); - feq_BNE = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - feq_TSW = c1o216*(drho+c3o1*(-vx1-vx2+vx3)+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq); - feq_TSE = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - feq_BNW = c1o216*(drho+c3o1*(-vx1+vx2-vx3)+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq); - feq_BSE = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - feq_TNW = c1o216*(drho+c3o1*(-vx1+vx2+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq); - - f_E = f_E - feq_E; - f_W = f_W - feq_W; - f_N = f_N - feq_N; - f_S = f_S - feq_S; - f_T = f_T - feq_T; - f_B = f_B - feq_B; - f_NE = f_NE - feq_NE; - f_SW = f_SW - feq_SW; - f_SE = f_SE - feq_SE; - f_NW = f_NW - feq_NW; - f_TE = f_TE - feq_TE; - f_BW = f_BW - feq_BW; - f_BE = f_BE - feq_BE; - f_TW = f_TW - feq_TW; - f_TN = f_TN - feq_TN; - f_BS = f_BS - feq_BS; - f_BN = f_BN - feq_BN; - f_TS = f_TS - feq_TS; - f_ZERO = f_ZERO - feq_ZERO; - f_TNE = f_TNE - feq_TNE; - f_TSW = f_TSW - feq_TSW; - f_TSE = f_TSE - feq_TSE; - f_TNW = f_TNW - feq_TNW; - f_BNE = f_BNE - feq_BNE; - f_BSW = f_BSW - feq_BSW; - f_BSE = f_BSE - feq_BSE; - f_BNW = f_BNW - feq_BNW; - - kxyFromfcNEQ_SET = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE); - kyzFromfcNEQ_SET = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW); - kxzFromfcNEQ_SET = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE); - kxxMyyFromfcNEQ_SET = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE); - kxxMzzFromfcNEQ_SET = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE); - - ////////////////////////////////////////////////////////////////////////// - //SEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - drho_SEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_SEB = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2_SEB = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3_SEB = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - - drho = drho_SEB; - vx1 = vx1_SEB; - vx2 = vx2_SEB; - vx3 = vx3_SEB; - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - feq_ZERO = c8o27* (drho-cu_sq); - feq_E = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - feq_W = c2o27* (drho+c3o1*(-vx1 )+c9o2*(-vx1 )*(-vx1 )-cu_sq); - feq_N = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - feq_S = c2o27* (drho+c3o1*( -vx2 )+c9o2*( -vx2 )*( -vx2 )-cu_sq); - feq_T = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - feq_B = c2o27* (drho+c3o1*( -vx3)+c9o2*( -vx3)*( -vx3)-cu_sq); - feq_NE = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - feq_SW = c1o54* (drho+c3o1*(-vx1-vx2 )+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq); - feq_SE = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - feq_NW = c1o54* (drho+c3o1*(-vx1+vx2 )+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq); - feq_TE = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - feq_BW = c1o54* (drho+c3o1*(-vx1 -vx3)+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq); - feq_BE = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - feq_TW = c1o54* (drho+c3o1*(-vx1 +vx3)+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq); - feq_TN = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - feq_BS = c1o54* (drho+c3o1*( -vx2-vx3)+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq); - feq_BN = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - feq_TS = c1o54* (drho+c3o1*( -vx2+vx3)+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq); - feq_TNE = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - feq_BSW = c1o216*(drho+c3o1*(-vx1-vx2-vx3)+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq); - feq_BNE = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - feq_TSW = c1o216*(drho+c3o1*(-vx1-vx2+vx3)+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq); - feq_TSE = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - feq_BNW = c1o216*(drho+c3o1*(-vx1+vx2-vx3)+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq); - feq_BSE = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - feq_TNW = c1o216*(drho+c3o1*(-vx1+vx2+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq); - - f_E = f_E - feq_E; - f_W = f_W - feq_W; - f_N = f_N - feq_N; - f_S = f_S - feq_S; - f_T = f_T - feq_T; - f_B = f_B - feq_B; - f_NE = f_NE - feq_NE; - f_SW = f_SW - feq_SW; - f_SE = f_SE - feq_SE; - f_NW = f_NW - feq_NW; - f_TE = f_TE - feq_TE; - f_BW = f_BW - feq_BW; - f_BE = f_BE - feq_BE; - f_TW = f_TW - feq_TW; - f_TN = f_TN - feq_TN; - f_BS = f_BS - feq_BS; - f_BN = f_BN - feq_BN; - f_TS = f_TS - feq_TS; - f_ZERO = f_ZERO - feq_ZERO; - f_TNE = f_TNE - feq_TNE; - f_TSW = f_TSW - feq_TSW; - f_TSE = f_TSE - feq_TSE; - f_TNW = f_TNW - feq_TNW; - f_BNE = f_BNE - feq_BNE; - f_BSW = f_BSW - feq_BSW; - f_BSE = f_BSE - feq_BSE; - f_BNW = f_BNW - feq_BNW; - - kxyFromfcNEQ_SEB = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE); - kyzFromfcNEQ_SEB = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW); - kxzFromfcNEQ_SEB = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE); - kxxMyyFromfcNEQ_SEB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE); - kxxMzzFromfcNEQ_SEB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE); - - ////////////////////////////////////////////////////////////////////////// - //NWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - k0zero= k0s; - k0w = k0sw; - k0s = neighborFY[k0s]; - k0b = k0bs; - k0sw = neighborFY[k0sw]; - k0bw = k0bsw; - k0bs = neighborFY[k0bs]; - k0bsw = neighborFY[k0bsw]; - ////////////////////////////////////////////////////////////////////////// - //index - kzero= k0zero; - kw = k0w; - ks = k0s; - kb = k0b; - ksw = k0sw; - kbw = k0bw; - kbs = k0bs; - kbsw = k0bsw; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - drho_NWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_NWB = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2_NWB = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3_NWB = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - - drho = drho_NWB; - vx1 = vx1_NWB; - vx2 = vx2_NWB; - vx3 = vx3_NWB; - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - feq_ZERO = c8o27* (drho-cu_sq); - feq_E = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - feq_W = c2o27* (drho+c3o1*(-vx1 )+c9o2*(-vx1 )*(-vx1 )-cu_sq); - feq_N = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - feq_S = c2o27* (drho+c3o1*( -vx2 )+c9o2*( -vx2 )*( -vx2 )-cu_sq); - feq_T = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - feq_B = c2o27* (drho+c3o1*( -vx3)+c9o2*( -vx3)*( -vx3)-cu_sq); - feq_NE = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - feq_SW = c1o54* (drho+c3o1*(-vx1-vx2 )+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq); - feq_SE = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - feq_NW = c1o54* (drho+c3o1*(-vx1+vx2 )+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq); - feq_TE = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - feq_BW = c1o54* (drho+c3o1*(-vx1 -vx3)+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq); - feq_BE = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - feq_TW = c1o54* (drho+c3o1*(-vx1 +vx3)+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq); - feq_TN = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - feq_BS = c1o54* (drho+c3o1*( -vx2-vx3)+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq); - feq_BN = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - feq_TS = c1o54* (drho+c3o1*( -vx2+vx3)+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq); - feq_TNE = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - feq_BSW = c1o216*(drho+c3o1*(-vx1-vx2-vx3)+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq); - feq_BNE = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - feq_TSW = c1o216*(drho+c3o1*(-vx1-vx2+vx3)+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq); - feq_TSE = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - feq_BNW = c1o216*(drho+c3o1*(-vx1+vx2-vx3)+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq); - feq_BSE = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - feq_TNW = c1o216*(drho+c3o1*(-vx1+vx2+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq); - - f_E = f_E - feq_E; - f_W = f_W - feq_W; - f_N = f_N - feq_N; - f_S = f_S - feq_S; - f_T = f_T - feq_T; - f_B = f_B - feq_B; - f_NE = f_NE - feq_NE; - f_SW = f_SW - feq_SW; - f_SE = f_SE - feq_SE; - f_NW = f_NW - feq_NW; - f_TE = f_TE - feq_TE; - f_BW = f_BW - feq_BW; - f_BE = f_BE - feq_BE; - f_TW = f_TW - feq_TW; - f_TN = f_TN - feq_TN; - f_BS = f_BS - feq_BS; - f_BN = f_BN - feq_BN; - f_TS = f_TS - feq_TS; - f_ZERO = f_ZERO - feq_ZERO; - f_TNE = f_TNE - feq_TNE; - f_TSW = f_TSW - feq_TSW; - f_TSE = f_TSE - feq_TSE; - f_TNW = f_TNW - feq_TNW; - f_BNE = f_BNE - feq_BNE; - f_BSW = f_BSW - feq_BSW; - f_BSE = f_BSE - feq_BSE; - f_BNW = f_BNW - feq_BNW; - - kxyFromfcNEQ_NWB = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE); - kyzFromfcNEQ_NWB = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW); - kxzFromfcNEQ_NWB = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE); - kxxMyyFromfcNEQ_NWB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE); - kxxMzzFromfcNEQ_NWB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE); - - ////////////////////////////////////////////////////////////////////////// - //NWT// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kb; - kw = kbw; - ks = kbs; - kb = neighborFZ[kb]; - ksw = kbsw; - kbw = neighborFZ[kbw]; - kbs = neighborFZ[kbs]; - kbsw = neighborFZ[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - drho_NWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_NWT = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2_NWT = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3_NWT = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - - drho = drho_NWT; - vx1 = vx1_NWT; - vx2 = vx2_NWT; - vx3 = vx3_NWT; - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - feq_ZERO = c8o27* (drho-cu_sq); - feq_E = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - feq_W = c2o27* (drho+c3o1*(-vx1 )+c9o2*(-vx1 )*(-vx1 )-cu_sq); - feq_N = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - feq_S = c2o27* (drho+c3o1*( -vx2 )+c9o2*( -vx2 )*( -vx2 )-cu_sq); - feq_T = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - feq_B = c2o27* (drho+c3o1*( -vx3)+c9o2*( -vx3)*( -vx3)-cu_sq); - feq_NE = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - feq_SW = c1o54* (drho+c3o1*(-vx1-vx2 )+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq); - feq_SE = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - feq_NW = c1o54* (drho+c3o1*(-vx1+vx2 )+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq); - feq_TE = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - feq_BW = c1o54* (drho+c3o1*(-vx1 -vx3)+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq); - feq_BE = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - feq_TW = c1o54* (drho+c3o1*(-vx1 +vx3)+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq); - feq_TN = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - feq_BS = c1o54* (drho+c3o1*( -vx2-vx3)+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq); - feq_BN = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - feq_TS = c1o54* (drho+c3o1*( -vx2+vx3)+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq); - feq_TNE = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - feq_BSW = c1o216*(drho+c3o1*(-vx1-vx2-vx3)+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq); - feq_BNE = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - feq_TSW = c1o216*(drho+c3o1*(-vx1-vx2+vx3)+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq); - feq_TSE = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - feq_BNW = c1o216*(drho+c3o1*(-vx1+vx2-vx3)+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq); - feq_BSE = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - feq_TNW = c1o216*(drho+c3o1*(-vx1+vx2+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq); - - f_E = f_E - feq_E; - f_W = f_W - feq_W; - f_N = f_N - feq_N; - f_S = f_S - feq_S; - f_T = f_T - feq_T; - f_B = f_B - feq_B; - f_NE = f_NE - feq_NE; - f_SW = f_SW - feq_SW; - f_SE = f_SE - feq_SE; - f_NW = f_NW - feq_NW; - f_TE = f_TE - feq_TE; - f_BW = f_BW - feq_BW; - f_BE = f_BE - feq_BE; - f_TW = f_TW - feq_TW; - f_TN = f_TN - feq_TN; - f_BS = f_BS - feq_BS; - f_BN = f_BN - feq_BN; - f_TS = f_TS - feq_TS; - f_ZERO = f_ZERO - feq_ZERO; - f_TNE = f_TNE - feq_TNE; - f_TSW = f_TSW - feq_TSW; - f_TSE = f_TSE - feq_TSE; - f_TNW = f_TNW - feq_TNW; - f_BNE = f_BNE - feq_BNE; - f_BSW = f_BSW - feq_BSW; - f_BSE = f_BSE - feq_BSE; - f_BNW = f_BNW - feq_BNW; - - - kxyFromfcNEQ_NWT = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE); - kyzFromfcNEQ_NWT = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW); - kxzFromfcNEQ_NWT = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE); - kxxMyyFromfcNEQ_NWT = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE); - kxxMzzFromfcNEQ_NWT = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE); - - ////////////////////////////////////////////////////////////////////////// - //NET// - ////////////////////////////////////////////////////////////////////////// - //index - kzero= kw; - kw = neighborFX[kw]; - ks = ksw; - kb = kbw; - ksw = neighborFX[ksw]; - kbw = neighborFX[kbw]; - kbs = kbsw; - kbsw = neighborFX[kbsw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - drho_NET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_NET = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2_NET = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3_NET = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - - drho = drho_NET; - vx1 = vx1_NET; - vx2 = vx2_NET; - vx3 = vx3_NET; - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - feq_ZERO = c8o27* (drho-cu_sq); - feq_E = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - feq_W = c2o27* (drho+c3o1*(-vx1 )+c9o2*(-vx1 )*(-vx1 )-cu_sq); - feq_N = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - feq_S = c2o27* (drho+c3o1*( -vx2 )+c9o2*( -vx2 )*( -vx2 )-cu_sq); - feq_T = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - feq_B = c2o27* (drho+c3o1*( -vx3)+c9o2*( -vx3)*( -vx3)-cu_sq); - feq_NE = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - feq_SW = c1o54* (drho+c3o1*(-vx1-vx2 )+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq); - feq_SE = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - feq_NW = c1o54* (drho+c3o1*(-vx1+vx2 )+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq); - feq_TE = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - feq_BW = c1o54* (drho+c3o1*(-vx1 -vx3)+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq); - feq_BE = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - feq_TW = c1o54* (drho+c3o1*(-vx1 +vx3)+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq); - feq_TN = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - feq_BS = c1o54* (drho+c3o1*( -vx2-vx3)+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq); - feq_BN = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - feq_TS = c1o54* (drho+c3o1*( -vx2+vx3)+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq); - feq_TNE = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - feq_BSW = c1o216*(drho+c3o1*(-vx1-vx2-vx3)+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq); - feq_BNE = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - feq_TSW = c1o216*(drho+c3o1*(-vx1-vx2+vx3)+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq); - feq_TSE = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - feq_BNW = c1o216*(drho+c3o1*(-vx1+vx2-vx3)+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq); - feq_BSE = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - feq_TNW = c1o216*(drho+c3o1*(-vx1+vx2+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq); - - f_E = f_E - feq_E; - f_W = f_W - feq_W; - f_N = f_N - feq_N; - f_S = f_S - feq_S; - f_T = f_T - feq_T; - f_B = f_B - feq_B; - f_NE = f_NE - feq_NE; - f_SW = f_SW - feq_SW; - f_SE = f_SE - feq_SE; - f_NW = f_NW - feq_NW; - f_TE = f_TE - feq_TE; - f_BW = f_BW - feq_BW; - f_BE = f_BE - feq_BE; - f_TW = f_TW - feq_TW; - f_TN = f_TN - feq_TN; - f_BS = f_BS - feq_BS; - f_BN = f_BN - feq_BN; - f_TS = f_TS - feq_TS; - f_ZERO = f_ZERO - feq_ZERO; - f_TNE = f_TNE - feq_TNE; - f_TSW = f_TSW - feq_TSW; - f_TSE = f_TSE - feq_TSE; - f_TNW = f_TNW - feq_TNW; - f_BNE = f_BNE - feq_BNE; - f_BSW = f_BSW - feq_BSW; - f_BSE = f_BSE - feq_BSE; - f_BNW = f_BNW - feq_BNW; - - - kxyFromfcNEQ_NET = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE); - kyzFromfcNEQ_NET = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW); - kxzFromfcNEQ_NET = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE); - kxxMyyFromfcNEQ_NET = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE); - kxxMzzFromfcNEQ_NET = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE); - - ////////////////////////////////////////////////////////////////////////// - //NEB// - ////////////////////////////////////////////////////////////////////////// - //index - kb = kzero; - kbw = kw; - kbs = ks; - kbsw = ksw; - kzero= k0w; - kw = neighborFX[k0w]; - ks = k0sw; - ksw = neighborFX[k0sw]; - //////////////////////////////////////////////////////////////////////////////// - f_E = feF[kzero]; - f_W = fwF[kw]; - f_N = fnF[kzero]; - f_S = fsF[ks]; - f_T = ftF[kzero]; - f_B = fbF[kb]; - f_NE = fneF[kzero]; - f_SW = fswF[ksw]; - f_SE = fseF[ks]; - f_NW = fnwF[kw]; - f_TE = fteF[kzero]; - f_BW = fbwF[kbw]; - f_BE = fbeF[kb]; - f_TW = ftwF[kw]; - f_TN = ftnF[kzero]; - f_BS = fbsF[kbs]; - f_BN = fbnF[kb]; - f_TS = ftsF[ks]; - f_ZERO = fzeroF[kzero]; - f_TNE = ftneF[kzero]; - f_TSW = ftswF[ksw]; - f_TSE = ftseF[ks]; - f_TNW = ftnwF[kw]; - f_BNE = fbneF[kb]; - f_BSW = fbswF[kbsw]; - f_BSE = fbseF[kbs]; - f_BNW = fbnwF[kbw]; - - drho_NEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW; - vx1_NEB = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW; - vx2_NEB = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW; - vx3_NEB = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW; - - drho = drho_NEB; - vx1 = vx1_NEB; - vx2 = vx2_NEB; - vx3 = vx3_NEB; - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - feq_ZERO = c8o27* (drho-cu_sq); - feq_E = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - feq_W = c2o27* (drho+c3o1*(-vx1 )+c9o2*(-vx1 )*(-vx1 )-cu_sq); - feq_N = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - feq_S = c2o27* (drho+c3o1*( -vx2 )+c9o2*( -vx2 )*( -vx2 )-cu_sq); - feq_T = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - feq_B = c2o27* (drho+c3o1*( -vx3)+c9o2*( -vx3)*( -vx3)-cu_sq); - feq_NE = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - feq_SW = c1o54* (drho+c3o1*(-vx1-vx2 )+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq); - feq_SE = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - feq_NW = c1o54* (drho+c3o1*(-vx1+vx2 )+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq); - feq_TE = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - feq_BW = c1o54* (drho+c3o1*(-vx1 -vx3)+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq); - feq_BE = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - feq_TW = c1o54* (drho+c3o1*(-vx1 +vx3)+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq); - feq_TN = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - feq_BS = c1o54* (drho+c3o1*( -vx2-vx3)+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq); - feq_BN = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - feq_TS = c1o54* (drho+c3o1*( -vx2+vx3)+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq); - feq_TNE = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - feq_BSW = c1o216*(drho+c3o1*(-vx1-vx2-vx3)+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq); - feq_BNE = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - feq_TSW = c1o216*(drho+c3o1*(-vx1-vx2+vx3)+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq); - feq_TSE = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - feq_BNW = c1o216*(drho+c3o1*(-vx1+vx2-vx3)+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq); - feq_BSE = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - feq_TNW = c1o216*(drho+c3o1*(-vx1+vx2+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq); - - f_E = f_E - feq_E; - f_W = f_W - feq_W; - f_N = f_N - feq_N; - f_S = f_S - feq_S; - f_T = f_T - feq_T; - f_B = f_B - feq_B; - f_NE = f_NE - feq_NE; - f_SW = f_SW - feq_SW; - f_SE = f_SE - feq_SE; - f_NW = f_NW - feq_NW; - f_TE = f_TE - feq_TE; - f_BW = f_BW - feq_BW; - f_BE = f_BE - feq_BE; - f_TW = f_TW - feq_TW; - f_TN = f_TN - feq_TN; - f_BS = f_BS - feq_BS; - f_BN = f_BN - feq_BN; - f_TS = f_TS - feq_TS; - f_ZERO = f_ZERO - feq_ZERO; - f_TNE = f_TNE - feq_TNE; - f_TSW = f_TSW - feq_TSW; - f_TSE = f_TSE - feq_TSE; - f_TNW = f_TNW - feq_TNW; - f_BNE = f_BNE - feq_BNE; - f_BSW = f_BSW - feq_BSW; - f_BSE = f_BSE - feq_BSE; - f_BNW = f_BNW - feq_BNW; - - kxyFromfcNEQ_NEB = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE); - kyzFromfcNEQ_NEB = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW); - kxzFromfcNEQ_NEB = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE); - kxxMyyFromfcNEQ_NEB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE); - kxxMzzFromfcNEQ_NEB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE); - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //for all - //Version 1 - a0 = c8o1*vx1_SWB + c8o1*vx1_NWT + c8o1*vx1_SET + c8o1*vx1_NEB + c2o1*vx2_SWB - c2o1*vx2_NWT - c2o1*vx2_SET + c2o1*vx2_NEB + c2o1*vx3_SWB - c2o1*vx3_NWT + c2o1*vx3_SET - c2o1*vx3_NEB + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + c2o1*kxyFromfcNEQ_SWB - c2o1*kxyFromfcNEQ_NWT + c2o1*kxyFromfcNEQ_SET - c2o1*kxyFromfcNEQ_NEB + c2o1*kxzFromfcNEQ_SWB - c2o1*kxzFromfcNEQ_NWT - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB; - ax = (-c4o1*vx1_SWB - c4o1*vx1_NWT + c4o1*vx1_SET + c4o1*vx1_NEB - kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB - kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT - kyzFromfcNEQ_SET - kyzFromfcNEQ_NEB)/epsylon; - ay = (-c2o1*vx1_SWB + c2o1*vx1_NWT - c2o1*vx1_SET + c2o1*vx1_NEB + c2o1*vx2_SWB + c2o1*vx2_NWT - c2o1*vx2_SET - c2o1*vx2_NEB - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB + kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB)/epsylon; - az = (-c2o1*vx1_SWB + c2o1*vx1_NWT + c2o1*vx1_SET - c2o1*vx1_NEB + c2o1*vx3_SWB + c2o1*vx3_NWT - c2o1*vx3_SET - c2o1*vx3_NEB - kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB)/epsylon; - axx= (c2o1*vx2_SWB - c2o1*vx2_NWT - c2o1*vx2_SET + c2o1*vx2_NEB + c2o1*vx3_SWB - c2o1*vx3_NWT + c2o1*vx3_SET - c2o1*vx3_NEB - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB)/(epsylon*epsylon); - ayy= (-c2o1*vx2_SWB + c2o1*vx2_NWT + c2o1*vx2_SET - c2o1*vx2_NEB - c2o1*vx3_SWB + c2o1*vx3_NWT - c2o1*vx3_SET + c2o1*vx3_NEB - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_NWT - c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_NEB - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT - kyzFromfcNEQ_SET - kyzFromfcNEQ_NEB)/(epsylon*epsylon); - azz= (-c2o1*vx2_SWB + c2o1*vx2_NWT + c2o1*vx2_SET - c2o1*vx2_NEB - c2o1*vx3_SWB + c2o1*vx3_NWT - c2o1*vx3_SET + c2o1*vx3_NEB + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_SWB + c2o1*kxzFromfcNEQ_NWT + c2o1*kxzFromfcNEQ_SET - c2o1*kxzFromfcNEQ_NEB - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT - kyzFromfcNEQ_SET - kyzFromfcNEQ_NEB)/(epsylon*epsylon); - axy= (c2o1*vx1_SWB - c2o1*vx1_NWT - c2o1*vx1_SET + c2o1*vx1_NEB + c2o1*vx3_SWB + c2o1*vx3_NWT - c2o1*vx3_SET - c2o1*vx3_NEB - kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB)/(epsylon*epsylon); - axz= (c2o1*vx1_SWB - c2o1*vx1_NWT + c2o1*vx1_SET - c2o1*vx1_NEB + c2o1*vx2_SWB + c2o1*vx2_NWT - c2o1*vx2_SET - c2o1*vx2_NEB - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB + kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB)/(epsylon*epsylon); - ayz= (-kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB - kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT - kyzFromfcNEQ_SET - kyzFromfcNEQ_NEB)/(epsylon*epsylon); - b0 = c2o1*vx1_SWB - c2o1*vx1_NWT - c2o1*vx1_SET + c2o1*vx1_NEB + c8o1*vx2_SWB + c8o1*vx2_NWT + c8o1*vx2_SET + c8o1*vx2_NEB + c2o1*vx3_SWB + c2o1*vx3_NWT - c2o1*vx3_SET - c2o1*vx3_NEB - c2o1*kxxMyyFromfcNEQ_SWB + c2o1*kxxMyyFromfcNEQ_NWT - c2o1*kxxMyyFromfcNEQ_SET + c2o1*kxxMyyFromfcNEQ_NEB + kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_NWT - c2o1*kxyFromfcNEQ_SET - c2o1*kxyFromfcNEQ_NEB + kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB + c2o1*kyzFromfcNEQ_SWB - c2o1*kyzFromfcNEQ_NWT - c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_NEB; - bx = (c2o1*vx1_SWB - c2o1*vx1_NWT + c2o1*vx1_SET - c2o1*vx1_NEB - c2o1*vx2_SWB - c2o1*vx2_NWT + c2o1*vx2_SET + c2o1*vx2_NEB + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB + kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB)/epsylon; - by = (-c4o1*vx2_SWB + c4o1*vx2_NWT - c4o1*vx2_SET + c4o1*vx2_NEB - kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB + kxzFromfcNEQ_SWB - kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET - kxzFromfcNEQ_NEB - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB)/epsylon; - bz = (-c2o1*vx2_SWB + c2o1*vx2_NWT + c2o1*vx2_SET - c2o1*vx2_NEB + c2o1*vx3_SWB - c2o1*vx3_NWT + c2o1*vx3_SET - c2o1*vx3_NEB + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB)/epsylon; - bxx= (-c2o1*vx1_SWB + c2o1*vx1_NWT + c2o1*vx1_SET - c2o1*vx1_NEB - c2o1*vx3_SWB - c2o1*vx3_NWT + c2o1*vx3_SET + c2o1*vx3_NEB + kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_SWB - c2o1*kxyFromfcNEQ_NWT + c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_NEB - kxzFromfcNEQ_SWB - kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET - kxzFromfcNEQ_NEB)/(epsylon*epsylon); - byy= (c2o1*vx1_SWB - c2o1*vx1_NWT - c2o1*vx1_SET + c2o1*vx1_NEB + c2o1*vx3_SWB + c2o1*vx3_NWT - c2o1*vx3_SET - c2o1*vx3_NEB + c2o1*kxxMyyFromfcNEQ_SWB - c2o1*kxxMyyFromfcNEQ_NWT + c2o1*kxxMyyFromfcNEQ_SET - c2o1*kxxMyyFromfcNEQ_NEB - kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB)/(epsylon*epsylon); - bzz= (-c2o1*vx1_SWB + c2o1*vx1_NWT + c2o1*vx1_SET - c2o1*vx1_NEB - c2o1*vx3_SWB - c2o1*vx3_NWT + c2o1*vx3_SET + c2o1*vx3_NEB - kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB - kxzFromfcNEQ_SWB - kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET - kxzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_SWB + c2o1*kyzFromfcNEQ_NWT + c2o1*kyzFromfcNEQ_SET - c2o1*kyzFromfcNEQ_NEB)/(epsylon*epsylon); - bxy= (c2o1*vx2_SWB - c2o1*vx2_NWT - c2o1*vx2_SET + c2o1*vx2_NEB + c2o1*vx3_SWB - c2o1*vx3_NWT + c2o1*vx3_SET - c2o1*vx3_NEB + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB)/(epsylon*epsylon); - bxz= (-kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB + kxzFromfcNEQ_SWB - kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET - kxzFromfcNEQ_NEB - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB)/(epsylon*epsylon); - byz= (c2o1*vx1_SWB - c2o1*vx1_NWT + c2o1*vx1_SET - c2o1*vx1_NEB + c2o1*vx2_SWB + c2o1*vx2_NWT - c2o1*vx2_SET - c2o1*vx2_NEB + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB + kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB)/(epsylon*epsylon); - c0 = c2o1*vx1_SWB - c2o1*vx1_NWT + c2o1*vx1_SET - c2o1*vx1_NEB + c2o1*vx2_SWB + c2o1*vx2_NWT - c2o1*vx2_SET - c2o1*vx2_NEB + c8o1*vx3_SWB + c8o1*vx3_NWT + c8o1*vx3_SET + c8o1*vx3_NEB + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB - c2o1*kxxMzzFromfcNEQ_SWB + c2o1*kxxMzzFromfcNEQ_NWT + c2o1*kxxMzzFromfcNEQ_SET - c2o1*kxxMzzFromfcNEQ_NEB + kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB + c2o1*kxzFromfcNEQ_SWB + c2o1*kxzFromfcNEQ_NWT - c2o1*kxzFromfcNEQ_SET - c2o1*kxzFromfcNEQ_NEB + c2o1*kyzFromfcNEQ_SWB - c2o1*kyzFromfcNEQ_NWT + c2o1*kyzFromfcNEQ_SET - c2o1*kyzFromfcNEQ_NEB; - cx = (c2o1*vx1_SWB - c2o1*vx1_NWT - c2o1*vx1_SET + c2o1*vx1_NEB - c2o1*vx3_SWB - c2o1*vx3_NWT + c2o1*vx3_SET + c2o1*vx3_NEB + kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB)/epsylon; - cy = (c2o1*vx2_SWB - c2o1*vx2_NWT - c2o1*vx2_SET + c2o1*vx2_NEB - c2o1*vx3_SWB + c2o1*vx3_NWT - c2o1*vx3_SET + c2o1*vx3_NEB - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB)/epsylon; - cz = (-c4o1*vx3_SWB + c4o1*vx3_NWT + c4o1*vx3_SET - c4o1*vx3_NEB + kxyFromfcNEQ_SWB - kxyFromfcNEQ_NWT - kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB - kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB)/epsylon; - cxx= (-c2o1*vx1_SWB + c2o1*vx1_NWT - c2o1*vx1_SET + c2o1*vx1_NEB - c2o1*vx2_SWB - c2o1*vx2_NWT + c2o1*vx2_SET + c2o1*vx2_NEB + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB - kxyFromfcNEQ_SWB - kxyFromfcNEQ_NWT - kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_SWB - c2o1*kxzFromfcNEQ_NWT + c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_NEB)/(epsylon*epsylon); - cyy= (-c2o1*vx1_SWB + c2o1*vx1_NWT - c2o1*vx1_SET + c2o1*vx1_NEB - c2o1*vx2_SWB - c2o1*vx2_NWT + c2o1*vx2_SET + c2o1*vx2_NEB - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB - kxyFromfcNEQ_SWB - kxyFromfcNEQ_NWT - kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_SWB + c2o1*kyzFromfcNEQ_NWT - c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_NEB)/(epsylon*epsylon); - czz= (c2o1*vx1_SWB - c2o1*vx1_NWT + c2o1*vx1_SET - c2o1*vx1_NEB + c2o1*vx2_SWB + c2o1*vx2_NWT - c2o1*vx2_SET - c2o1*vx2_NEB - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB + c2o1*kxxMzzFromfcNEQ_SWB - c2o1*kxxMzzFromfcNEQ_NWT - c2o1*kxxMzzFromfcNEQ_SET + c2o1*kxxMzzFromfcNEQ_NEB + kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB)/(epsylon*epsylon); - cxy= (kxyFromfcNEQ_SWB - kxyFromfcNEQ_NWT - kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB - kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB)/(epsylon*epsylon); - cxz= (c2o1*vx2_SWB - c2o1*vx2_NWT - c2o1*vx2_SET + c2o1*vx2_NEB + c2o1*vx3_SWB - c2o1*vx3_NWT + c2o1*vx3_SET - c2o1*vx3_NEB - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB)/(epsylon*epsylon); - cyz= (c2o1*vx1_SWB - c2o1*vx1_NWT - c2o1*vx1_SET + c2o1*vx1_NEB + c2o1*vx3_SWB + c2o1*vx3_NWT - c2o1*vx3_SET - c2o1*vx3_NEB + kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB)/(epsylon*epsylon); - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //Version2 - //a0 = eight*vx1_SWT + eight*vx1_NWB + eight*vx1_SEB + eight*vx1_NET + two*vx2_SWT - two*vx2_NWB - two*vx2_SEB + two*vx2_NET - two*vx3_SWT + two*vx3_NWB - two*vx3_SEB + two*vx3_NET + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - one*kxxMyyFromfcNEQ_SEB - one*kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - one*kxxMzzFromfcNEQ_SEB - one*kxxMzzFromfcNEQ_NET + two*kxyFromfcNEQ_SWT - two*kxyFromfcNEQ_NWB + two*kxyFromfcNEQ_SEB - two*kxyFromfcNEQ_NET - two*kxzFromfcNEQ_SWT + two*kxzFromfcNEQ_NWB + two*kxzFromfcNEQ_SEB - two*kxzFromfcNEQ_NET - one*kyzFromfcNEQ_SWT - one*kyzFromfcNEQ_NWB - one*kyzFromfcNEQ_SEB - one*kyzFromfcNEQ_NET; - //ax = (-four*vx1_SWT - four*vx1_NWB + four*vx1_SEB + four*vx1_NET - one*kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB - one*kxyFromfcNEQ_NET + kxzFromfcNEQ_SWT - one*kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB - one*kxzFromfcNEQ_NET - one*kyzFromfcNEQ_SWT - one*kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/epsylon; - //ay = (-two*vx1_SWT + two*vx1_NWB - two*vx1_SEB + two*vx1_NET + two*vx2_SWT + two*vx2_NWB - two*vx2_SEB - two*vx2_NET - one*kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - one*kxxMyyFromfcNEQ_NET + kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET)/epsylon; - //az = (two*vx1_SWT - two*vx1_NWB - two*vx1_SEB + two*vx1_NET + two*vx3_SWT + two*vx3_NWB - two*vx3_SEB - two*vx3_NET + kxxMzzFromfcNEQ_SWT - one*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - one*kxxMzzFromfcNEQ_NET + kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET)/epsylon; - //axx = (two*vx2_SWT - two*vx2_NWB - two*vx2_SEB + two*vx2_NET - two*vx3_SWT + two*vx3_NWB - two*vx3_SEB + two*vx3_NET - one*kxxMyyFromfcNEQ_SWT - one*kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET - one*kxxMzzFromfcNEQ_SWT - one*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - one*kyzFromfcNEQ_SWT - one*kyzFromfcNEQ_NWB - one*kyzFromfcNEQ_SEB - one*kyzFromfcNEQ_NET)/(epsylon*epsylon); - //ayy = (-two*vx2_SWT + two*vx2_NWB + two*vx2_SEB - two*vx2_NET + two*vx3_SWT - two*vx3_NWB + two*vx3_SEB - two*vx3_NET - one*kxxMyyFromfcNEQ_SWT - one*kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - one*kxxMzzFromfcNEQ_SEB - one*kxxMzzFromfcNEQ_NET - two*kxyFromfcNEQ_SWT + two*kxyFromfcNEQ_NWB - two*kxyFromfcNEQ_SEB + two*kxyFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/(epsylon*epsylon); - //azz = (-two*vx2_SWT + two*vx2_NWB + two*vx2_SEB - two*vx2_NET + two*vx3_SWT - two*vx3_NWB + two*vx3_SEB - two*vx3_NET + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - one*kxxMyyFromfcNEQ_SEB - one*kxxMyyFromfcNEQ_NET - one*kxxMzzFromfcNEQ_SWT - one*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET + two*kxzFromfcNEQ_SWT - two*kxzFromfcNEQ_NWB - two*kxzFromfcNEQ_SEB + two*kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/(epsylon*epsylon); - //axy = (two*vx1_SWT - two*vx1_NWB - two*vx1_SEB + two*vx1_NET - two*vx3_SWT - two*vx3_NWB + two*vx3_SEB + two*vx3_NET - one*kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - one*kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - one*kxzFromfcNEQ_SWT - one*kxzFromfcNEQ_NWB - one*kxzFromfcNEQ_SEB - one*kxzFromfcNEQ_NET)/(epsylon*epsylon); - //axz = (-two*vx1_SWT + two*vx1_NWB - two*vx1_SEB + two*vx1_NET - two*vx2_SWT - two*vx2_NWB + two*vx2_SEB + two*vx2_NET + kxxMyyFromfcNEQ_SWT - one*kxxMyyFromfcNEQ_NWB - one*kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET - one*kxyFromfcNEQ_SWT - one*kxyFromfcNEQ_NWB - one*kxyFromfcNEQ_SEB - one*kxyFromfcNEQ_NET)/(epsylon*epsylon); - //ayz = (kxyFromfcNEQ_SWT - one*kxyFromfcNEQ_NWB - one*kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET - one*kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB - one*kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB - one*kyzFromfcNEQ_SEB - one*kyzFromfcNEQ_NET)/(epsylon*epsylon); - //b0 = two*vx1_SWT - two*vx1_NWB - two*vx1_SEB + two*vx1_NET + eight*vx2_SWT + eight*vx2_NWB + eight*vx2_SEB + eight*vx2_NET - two*vx3_SWT - two*vx3_NWB + two*vx3_SEB + two*vx3_NET - two*kxxMyyFromfcNEQ_SWT + two*kxxMyyFromfcNEQ_NWB - two*kxxMyyFromfcNEQ_SEB + two*kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT - one*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - one*kxxMzzFromfcNEQ_NET + two*kxyFromfcNEQ_SWT + two*kxyFromfcNEQ_NWB - two*kxyFromfcNEQ_SEB - two*kxyFromfcNEQ_NET - one*kxzFromfcNEQ_SWT - one*kxzFromfcNEQ_NWB - one*kxzFromfcNEQ_SEB - one*kxzFromfcNEQ_NET - two*kyzFromfcNEQ_SWT + two*kyzFromfcNEQ_NWB + two*kyzFromfcNEQ_SEB - two*kyzFromfcNEQ_NET; - //bx = (two*vx1_SWT - two*vx1_NWB + two*vx1_SEB - two*vx1_NET - two*vx2_SWT - two*vx2_NWB + two*vx2_SEB + two*vx2_NET + kxxMyyFromfcNEQ_SWT - one*kxxMyyFromfcNEQ_NWB - one*kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET)/epsylon; - //by = (-four*vx2_SWT + four*vx2_NWB - four*vx2_SEB + four*vx2_NET - one*kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB - one*kxyFromfcNEQ_NET - one*kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB - one*kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB - one*kyzFromfcNEQ_SEB - one*kyzFromfcNEQ_NET)/epsylon; - //bz = (two*vx2_SWT - two*vx2_NWB - two*vx2_SEB + two*vx2_NET + two*vx3_SWT - two*vx3_NWB + two*vx3_SEB - two*vx3_NET - one*kxxMyyFromfcNEQ_SWT - one*kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - one*kxxMzzFromfcNEQ_SEB - one*kxxMzzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/epsylon; - //bxx = (-two*vx1_SWT + two*vx1_NWB + two*vx1_SEB - two*vx1_NET + two*vx3_SWT + two*vx3_NWB - two*vx3_SEB - two*vx3_NET + kxxMzzFromfcNEQ_SWT - one*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - one*kxxMzzFromfcNEQ_NET - two*kxyFromfcNEQ_SWT - two*kxyFromfcNEQ_NWB + two*kxyFromfcNEQ_SEB + two*kxyFromfcNEQ_NET + kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET)/(epsylon*epsylon); - //byy = (two*vx1_SWT - two*vx1_NWB - two*vx1_SEB + two*vx1_NET - two*vx3_SWT - two*vx3_NWB + two*vx3_SEB + two*vx3_NET + two*kxxMyyFromfcNEQ_SWT - two*kxxMyyFromfcNEQ_NWB + two*kxxMyyFromfcNEQ_SEB - two*kxxMyyFromfcNEQ_NET - one*kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - one*kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - one*kxzFromfcNEQ_SWT - one*kxzFromfcNEQ_NWB - one*kxzFromfcNEQ_SEB - one*kxzFromfcNEQ_NET)/(epsylon*epsylon); - //bzz = (-two*vx1_SWT + two*vx1_NWB + two*vx1_SEB - two*vx1_NET + two*vx3_SWT + two*vx3_NWB - two*vx3_SEB - two*vx3_NET - one*kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - one*kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET + kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET + two*kyzFromfcNEQ_SWT - two*kyzFromfcNEQ_NWB - two*kyzFromfcNEQ_SEB + two*kyzFromfcNEQ_NET)/(epsylon*epsylon); - //bxy = (two*vx2_SWT - two*vx2_NWB - two*vx2_SEB + two*vx2_NET - two*vx3_SWT + two*vx3_NWB - two*vx3_SEB + two*vx3_NET + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - one*kxxMyyFromfcNEQ_SEB - one*kxxMyyFromfcNEQ_NET - one*kxxMzzFromfcNEQ_SWT - one*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - one*kyzFromfcNEQ_SWT - one*kyzFromfcNEQ_NWB - one*kyzFromfcNEQ_SEB - one*kyzFromfcNEQ_NET)/(epsylon*epsylon); - //bxz = (kxyFromfcNEQ_SWT - one*kxyFromfcNEQ_NWB - one*kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET + kxzFromfcNEQ_SWT - one*kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB - one*kxzFromfcNEQ_NET - one*kyzFromfcNEQ_SWT - one*kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/(epsylon*epsylon); - //byz = (-two*vx1_SWT + two*vx1_NWB - two*vx1_SEB + two*vx1_NET - two*vx2_SWT - two*vx2_NWB + two*vx2_SEB + two*vx2_NET - one*kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - one*kxxMyyFromfcNEQ_NET - one*kxyFromfcNEQ_SWT - one*kxyFromfcNEQ_NWB - one*kxyFromfcNEQ_SEB - one*kxyFromfcNEQ_NET)/(epsylon*epsylon); - //c0 = -two*vx1_SWT + two*vx1_NWB - two*vx1_SEB + two*vx1_NET - two*vx2_SWT - two*vx2_NWB + two*vx2_SEB + two*vx2_NET + eight*vx3_SWT + eight*vx3_NWB + eight*vx3_SEB + eight*vx3_NET - one*kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - one*kxxMyyFromfcNEQ_NET + two*kxxMzzFromfcNEQ_SWT - two*kxxMzzFromfcNEQ_NWB - two*kxxMzzFromfcNEQ_SEB + two*kxxMzzFromfcNEQ_NET - one*kxyFromfcNEQ_SWT - one*kxyFromfcNEQ_NWB - one*kxyFromfcNEQ_SEB - one*kxyFromfcNEQ_NET + two*kxzFromfcNEQ_SWT + two*kxzFromfcNEQ_NWB - two*kxzFromfcNEQ_SEB - two*kxzFromfcNEQ_NET + two*kyzFromfcNEQ_SWT - two*kyzFromfcNEQ_NWB + two*kyzFromfcNEQ_SEB - two*kyzFromfcNEQ_NET; - //cx = (-two*vx1_SWT + two*vx1_NWB + two*vx1_SEB - two*vx1_NET - two*vx3_SWT - two*vx3_NWB + two*vx3_SEB + two*vx3_NET - one*kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - one*kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET + kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET)/epsylon; - //cy = (-two*vx2_SWT + two*vx2_NWB + two*vx2_SEB - two*vx2_NET - two*vx3_SWT + two*vx3_NWB - two*vx3_SEB + two*vx3_NET + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - one*kxxMyyFromfcNEQ_SEB - one*kxxMyyFromfcNEQ_NET - one*kxxMzzFromfcNEQ_SWT - one*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/epsylon; - //cz = (four*vx3_SWT - four*vx3_NWB - four*vx3_SEB + four*vx3_NET + kxyFromfcNEQ_SWT - one*kxyFromfcNEQ_NWB - one*kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET + kxzFromfcNEQ_SWT - one*kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB - one*kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB - one*kyzFromfcNEQ_SEB - one*kyzFromfcNEQ_NET)/epsylon; - //cxx = (two*vx1_SWT - two*vx1_NWB + two*vx1_SEB - two*vx1_NET + two*vx2_SWT + two*vx2_NWB - two*vx2_SEB - two*vx2_NET - one*kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - one*kxxMyyFromfcNEQ_NET + kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET - two*kxzFromfcNEQ_SWT - two*kxzFromfcNEQ_NWB + two*kxzFromfcNEQ_SEB + two*kxzFromfcNEQ_NET)/(epsylon*epsylon); - //cyy = (two*vx1_SWT - two*vx1_NWB + two*vx1_SEB - two*vx1_NET + two*vx2_SWT + two*vx2_NWB - two*vx2_SEB - two*vx2_NET + kxxMyyFromfcNEQ_SWT - one*kxxMyyFromfcNEQ_NWB - one*kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET - two*kyzFromfcNEQ_SWT + two*kyzFromfcNEQ_NWB - two*kyzFromfcNEQ_SEB + two*kyzFromfcNEQ_NET)/(epsylon*epsylon); - //czz = (-two*vx1_SWT + two*vx1_NWB - two*vx1_SEB + two*vx1_NET - two*vx2_SWT - two*vx2_NWB + two*vx2_SEB + two*vx2_NET + kxxMyyFromfcNEQ_SWT - one*kxxMyyFromfcNEQ_NWB - one*kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET - two*kxxMzzFromfcNEQ_SWT + two*kxxMzzFromfcNEQ_NWB + two*kxxMzzFromfcNEQ_SEB - two*kxxMzzFromfcNEQ_NET - one*kxyFromfcNEQ_SWT - one*kxyFromfcNEQ_NWB - one*kxyFromfcNEQ_SEB - one*kxyFromfcNEQ_NET)/(epsylon*epsylon); - //cxy = (-one*kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB - one*kxyFromfcNEQ_NET - one*kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB - one*kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET - one*kyzFromfcNEQ_SWT - one*kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/(epsylon*epsylon); - //cxz = (two*vx2_SWT - two*vx2_NWB - two*vx2_SEB + two*vx2_NET - two*vx3_SWT + two*vx3_NWB - two*vx3_SEB + two*vx3_NET - one*kxxMyyFromfcNEQ_SWT - one*kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - one*kxxMzzFromfcNEQ_SEB - one*kxxMzzFromfcNEQ_NET - one*kyzFromfcNEQ_SWT - one*kyzFromfcNEQ_NWB - one*kyzFromfcNEQ_SEB - one*kyzFromfcNEQ_NET)/(epsylon*epsylon); - //cyz = (two*vx1_SWT - two*vx1_NWB - two*vx1_SEB + two*vx1_NET - two*vx3_SWT - two*vx3_NWB + two*vx3_SEB + two*vx3_NET + kxxMzzFromfcNEQ_SWT - one*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - one*kxxMzzFromfcNEQ_NET - one*kxzFromfcNEQ_SWT - one*kxzFromfcNEQ_NWB - one*kxzFromfcNEQ_SEB - one*kxzFromfcNEQ_NET)/(epsylon*epsylon); - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //merged - a0 += c8o1*vx1_SWT + c8o1*vx1_NWB + c8o1*vx1_SEB + c8o1*vx1_NET + c2o1*vx2_SWT - c2o1*vx2_NWB - c2o1*vx2_SEB + c2o1*vx2_NET - c2o1*vx3_SWT + c2o1*vx3_NWB - c2o1*vx3_SEB + c2o1*vx3_NET + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - c1o1*kxxMyyFromfcNEQ_SEB - c1o1*kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - c1o1*kxxMzzFromfcNEQ_SEB - c1o1*kxxMzzFromfcNEQ_NET + c2o1*kxyFromfcNEQ_SWT - c2o1*kxyFromfcNEQ_NWB + c2o1*kxyFromfcNEQ_SEB - c2o1*kxyFromfcNEQ_NET - c2o1*kxzFromfcNEQ_SWT + c2o1*kxzFromfcNEQ_NWB + c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_NET - c1o1*kyzFromfcNEQ_SWT - c1o1*kyzFromfcNEQ_NWB - c1o1*kyzFromfcNEQ_SEB - c1o1*kyzFromfcNEQ_NET; - ax += (-c4o1*vx1_SWT - c4o1*vx1_NWB + c4o1*vx1_SEB + c4o1*vx1_NET - c1o1*kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB - c1o1*kxyFromfcNEQ_NET + kxzFromfcNEQ_SWT - c1o1*kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB - c1o1*kxzFromfcNEQ_NET - c1o1*kyzFromfcNEQ_SWT - c1o1*kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/epsylon; - ay += (-c2o1*vx1_SWT + c2o1*vx1_NWB - c2o1*vx1_SEB + c2o1*vx1_NET + c2o1*vx2_SWT + c2o1*vx2_NWB - c2o1*vx2_SEB - c2o1*vx2_NET - c1o1*kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - c1o1*kxxMyyFromfcNEQ_NET + kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET)/epsylon; - az += (c2o1*vx1_SWT - c2o1*vx1_NWB - c2o1*vx1_SEB + c2o1*vx1_NET + c2o1*vx3_SWT + c2o1*vx3_NWB - c2o1*vx3_SEB - c2o1*vx3_NET + kxxMzzFromfcNEQ_SWT - c1o1*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - c1o1*kxxMzzFromfcNEQ_NET + kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET)/epsylon; - axx += (c2o1*vx2_SWT - c2o1*vx2_NWB - c2o1*vx2_SEB + c2o1*vx2_NET - c2o1*vx3_SWT + c2o1*vx3_NWB - c2o1*vx3_SEB + c2o1*vx3_NET - c1o1*kxxMyyFromfcNEQ_SWT - c1o1*kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET - c1o1*kxxMzzFromfcNEQ_SWT - c1o1*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - c1o1*kyzFromfcNEQ_SWT - c1o1*kyzFromfcNEQ_NWB - c1o1*kyzFromfcNEQ_SEB - c1o1*kyzFromfcNEQ_NET)/(epsylon*epsylon); - ayy += (-c2o1*vx2_SWT + c2o1*vx2_NWB + c2o1*vx2_SEB - c2o1*vx2_NET + c2o1*vx3_SWT - c2o1*vx3_NWB + c2o1*vx3_SEB - c2o1*vx3_NET - c1o1*kxxMyyFromfcNEQ_SWT - c1o1*kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - c1o1*kxxMzzFromfcNEQ_SEB - c1o1*kxxMzzFromfcNEQ_NET - c2o1*kxyFromfcNEQ_SWT + c2o1*kxyFromfcNEQ_NWB - c2o1*kxyFromfcNEQ_SEB + c2o1*kxyFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/(epsylon*epsylon); - azz += (-c2o1*vx2_SWT + c2o1*vx2_NWB + c2o1*vx2_SEB - c2o1*vx2_NET + c2o1*vx3_SWT - c2o1*vx3_NWB + c2o1*vx3_SEB - c2o1*vx3_NET + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - c1o1*kxxMyyFromfcNEQ_SEB - c1o1*kxxMyyFromfcNEQ_NET - c1o1*kxxMzzFromfcNEQ_SWT - c1o1*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_SWT - c2o1*kxzFromfcNEQ_NWB - c2o1*kxzFromfcNEQ_SEB + c2o1*kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/(epsylon*epsylon); - axy += (c2o1*vx1_SWT - c2o1*vx1_NWB - c2o1*vx1_SEB + c2o1*vx1_NET - c2o1*vx3_SWT - c2o1*vx3_NWB + c2o1*vx3_SEB + c2o1*vx3_NET - c1o1*kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - c1o1*kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - c1o1*kxzFromfcNEQ_SWT - c1o1*kxzFromfcNEQ_NWB - c1o1*kxzFromfcNEQ_SEB - c1o1*kxzFromfcNEQ_NET)/(epsylon*epsylon); - axz += (-c2o1*vx1_SWT + c2o1*vx1_NWB - c2o1*vx1_SEB + c2o1*vx1_NET - c2o1*vx2_SWT - c2o1*vx2_NWB + c2o1*vx2_SEB + c2o1*vx2_NET + kxxMyyFromfcNEQ_SWT - c1o1*kxxMyyFromfcNEQ_NWB - c1o1*kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET - c1o1*kxyFromfcNEQ_SWT - c1o1*kxyFromfcNEQ_NWB - c1o1*kxyFromfcNEQ_SEB - c1o1*kxyFromfcNEQ_NET)/(epsylon*epsylon); - ayz += (kxyFromfcNEQ_SWT - c1o1*kxyFromfcNEQ_NWB - c1o1*kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET - c1o1*kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB - c1o1*kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB - c1o1*kyzFromfcNEQ_SEB - c1o1*kyzFromfcNEQ_NET)/(epsylon*epsylon); - b0 += c2o1*vx1_SWT - c2o1*vx1_NWB - c2o1*vx1_SEB + c2o1*vx1_NET + c8o1*vx2_SWT + c8o1*vx2_NWB + c8o1*vx2_SEB + c8o1*vx2_NET - c2o1*vx3_SWT - c2o1*vx3_NWB + c2o1*vx3_SEB + c2o1*vx3_NET - c2o1*kxxMyyFromfcNEQ_SWT + c2o1*kxxMyyFromfcNEQ_NWB - c2o1*kxxMyyFromfcNEQ_SEB + c2o1*kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT - c1o1*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - c1o1*kxxMzzFromfcNEQ_NET + c2o1*kxyFromfcNEQ_SWT + c2o1*kxyFromfcNEQ_NWB - c2o1*kxyFromfcNEQ_SEB - c2o1*kxyFromfcNEQ_NET - c1o1*kxzFromfcNEQ_SWT - c1o1*kxzFromfcNEQ_NWB - c1o1*kxzFromfcNEQ_SEB - c1o1*kxzFromfcNEQ_NET - c2o1*kyzFromfcNEQ_SWT + c2o1*kyzFromfcNEQ_NWB + c2o1*kyzFromfcNEQ_SEB - c2o1*kyzFromfcNEQ_NET; - bx += (c2o1*vx1_SWT - c2o1*vx1_NWB + c2o1*vx1_SEB - c2o1*vx1_NET - c2o1*vx2_SWT - c2o1*vx2_NWB + c2o1*vx2_SEB + c2o1*vx2_NET + kxxMyyFromfcNEQ_SWT - c1o1*kxxMyyFromfcNEQ_NWB - c1o1*kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET)/epsylon; - by += (-c4o1*vx2_SWT + c4o1*vx2_NWB - c4o1*vx2_SEB + c4o1*vx2_NET - c1o1*kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB - c1o1*kxyFromfcNEQ_NET - c1o1*kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB - c1o1*kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB - c1o1*kyzFromfcNEQ_SEB - c1o1*kyzFromfcNEQ_NET)/epsylon; - bz += (c2o1*vx2_SWT - c2o1*vx2_NWB - c2o1*vx2_SEB + c2o1*vx2_NET + c2o1*vx3_SWT - c2o1*vx3_NWB + c2o1*vx3_SEB - c2o1*vx3_NET - c1o1*kxxMyyFromfcNEQ_SWT - c1o1*kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - c1o1*kxxMzzFromfcNEQ_SEB - c1o1*kxxMzzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/epsylon; - bxx += (-c2o1*vx1_SWT + c2o1*vx1_NWB + c2o1*vx1_SEB - c2o1*vx1_NET + c2o1*vx3_SWT + c2o1*vx3_NWB - c2o1*vx3_SEB - c2o1*vx3_NET + kxxMzzFromfcNEQ_SWT - c1o1*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - c1o1*kxxMzzFromfcNEQ_NET - c2o1*kxyFromfcNEQ_SWT - c2o1*kxyFromfcNEQ_NWB + c2o1*kxyFromfcNEQ_SEB + c2o1*kxyFromfcNEQ_NET + kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET)/(epsylon*epsylon); - byy += (c2o1*vx1_SWT - c2o1*vx1_NWB - c2o1*vx1_SEB + c2o1*vx1_NET - c2o1*vx3_SWT - c2o1*vx3_NWB + c2o1*vx3_SEB + c2o1*vx3_NET + c2o1*kxxMyyFromfcNEQ_SWT - c2o1*kxxMyyFromfcNEQ_NWB + c2o1*kxxMyyFromfcNEQ_SEB - c2o1*kxxMyyFromfcNEQ_NET - c1o1*kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - c1o1*kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - c1o1*kxzFromfcNEQ_SWT - c1o1*kxzFromfcNEQ_NWB - c1o1*kxzFromfcNEQ_SEB - c1o1*kxzFromfcNEQ_NET)/(epsylon*epsylon); - bzz += (-c2o1*vx1_SWT + c2o1*vx1_NWB + c2o1*vx1_SEB - c2o1*vx1_NET + c2o1*vx3_SWT + c2o1*vx3_NWB - c2o1*vx3_SEB - c2o1*vx3_NET - c1o1*kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - c1o1*kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET + kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET + c2o1*kyzFromfcNEQ_SWT - c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_SEB + c2o1*kyzFromfcNEQ_NET)/(epsylon*epsylon); - bxy += (c2o1*vx2_SWT - c2o1*vx2_NWB - c2o1*vx2_SEB + c2o1*vx2_NET - c2o1*vx3_SWT + c2o1*vx3_NWB - c2o1*vx3_SEB + c2o1*vx3_NET + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - c1o1*kxxMyyFromfcNEQ_SEB - c1o1*kxxMyyFromfcNEQ_NET - c1o1*kxxMzzFromfcNEQ_SWT - c1o1*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - c1o1*kyzFromfcNEQ_SWT - c1o1*kyzFromfcNEQ_NWB - c1o1*kyzFromfcNEQ_SEB - c1o1*kyzFromfcNEQ_NET)/(epsylon*epsylon); - bxz += (kxyFromfcNEQ_SWT - c1o1*kxyFromfcNEQ_NWB - c1o1*kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET + kxzFromfcNEQ_SWT - c1o1*kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB - c1o1*kxzFromfcNEQ_NET - c1o1*kyzFromfcNEQ_SWT - c1o1*kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/(epsylon*epsylon); - byz += (-c2o1*vx1_SWT + c2o1*vx1_NWB - c2o1*vx1_SEB + c2o1*vx1_NET - c2o1*vx2_SWT - c2o1*vx2_NWB + c2o1*vx2_SEB + c2o1*vx2_NET - c1o1*kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - c1o1*kxxMyyFromfcNEQ_NET - c1o1*kxyFromfcNEQ_SWT - c1o1*kxyFromfcNEQ_NWB - c1o1*kxyFromfcNEQ_SEB - c1o1*kxyFromfcNEQ_NET)/(epsylon*epsylon); - c0 += -c2o1*vx1_SWT + c2o1*vx1_NWB - c2o1*vx1_SEB + c2o1*vx1_NET - c2o1*vx2_SWT - c2o1*vx2_NWB + c2o1*vx2_SEB + c2o1*vx2_NET + c8o1*vx3_SWT + c8o1*vx3_NWB + c8o1*vx3_SEB + c8o1*vx3_NET - c1o1*kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - c1o1*kxxMyyFromfcNEQ_NET + c2o1*kxxMzzFromfcNEQ_SWT - c2o1*kxxMzzFromfcNEQ_NWB - c2o1*kxxMzzFromfcNEQ_SEB + c2o1*kxxMzzFromfcNEQ_NET - c1o1*kxyFromfcNEQ_SWT - c1o1*kxyFromfcNEQ_NWB - c1o1*kxyFromfcNEQ_SEB - c1o1*kxyFromfcNEQ_NET + c2o1*kxzFromfcNEQ_SWT + c2o1*kxzFromfcNEQ_NWB - c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_NET + c2o1*kyzFromfcNEQ_SWT - c2o1*kyzFromfcNEQ_NWB + c2o1*kyzFromfcNEQ_SEB - c2o1*kyzFromfcNEQ_NET; - cx += (-c2o1*vx1_SWT + c2o1*vx1_NWB + c2o1*vx1_SEB - c2o1*vx1_NET - c2o1*vx3_SWT - c2o1*vx3_NWB + c2o1*vx3_SEB + c2o1*vx3_NET - c1o1*kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - c1o1*kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET + kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET)/epsylon; - cy += (-c2o1*vx2_SWT + c2o1*vx2_NWB + c2o1*vx2_SEB - c2o1*vx2_NET - c2o1*vx3_SWT + c2o1*vx3_NWB - c2o1*vx3_SEB + c2o1*vx3_NET + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - c1o1*kxxMyyFromfcNEQ_SEB - c1o1*kxxMyyFromfcNEQ_NET - c1o1*kxxMzzFromfcNEQ_SWT - c1o1*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/epsylon; - cz += (c4o1*vx3_SWT - c4o1*vx3_NWB - c4o1*vx3_SEB + c4o1*vx3_NET + kxyFromfcNEQ_SWT - c1o1*kxyFromfcNEQ_NWB - c1o1*kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET + kxzFromfcNEQ_SWT - c1o1*kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB - c1o1*kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB - c1o1*kyzFromfcNEQ_SEB - c1o1*kyzFromfcNEQ_NET)/epsylon; - cxx += (c2o1*vx1_SWT - c2o1*vx1_NWB + c2o1*vx1_SEB - c2o1*vx1_NET + c2o1*vx2_SWT + c2o1*vx2_NWB - c2o1*vx2_SEB - c2o1*vx2_NET - c1o1*kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - c1o1*kxxMyyFromfcNEQ_NET + kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET - c2o1*kxzFromfcNEQ_SWT - c2o1*kxzFromfcNEQ_NWB + c2o1*kxzFromfcNEQ_SEB + c2o1*kxzFromfcNEQ_NET)/(epsylon*epsylon); - cyy += (c2o1*vx1_SWT - c2o1*vx1_NWB + c2o1*vx1_SEB - c2o1*vx1_NET + c2o1*vx2_SWT + c2o1*vx2_NWB - c2o1*vx2_SEB - c2o1*vx2_NET + kxxMyyFromfcNEQ_SWT - c1o1*kxxMyyFromfcNEQ_NWB - c1o1*kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET - c2o1*kyzFromfcNEQ_SWT + c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_SEB + c2o1*kyzFromfcNEQ_NET)/(epsylon*epsylon); - czz += (-c2o1*vx1_SWT + c2o1*vx1_NWB - c2o1*vx1_SEB + c2o1*vx1_NET - c2o1*vx2_SWT - c2o1*vx2_NWB + c2o1*vx2_SEB + c2o1*vx2_NET + kxxMyyFromfcNEQ_SWT - c1o1*kxxMyyFromfcNEQ_NWB - c1o1*kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET - c2o1*kxxMzzFromfcNEQ_SWT + c2o1*kxxMzzFromfcNEQ_NWB + c2o1*kxxMzzFromfcNEQ_SEB - c2o1*kxxMzzFromfcNEQ_NET - c1o1*kxyFromfcNEQ_SWT - c1o1*kxyFromfcNEQ_NWB - c1o1*kxyFromfcNEQ_SEB - c1o1*kxyFromfcNEQ_NET)/(epsylon*epsylon); - cxy += (-c1o1*kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB - c1o1*kxyFromfcNEQ_NET - c1o1*kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB - c1o1*kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET - c1o1*kyzFromfcNEQ_SWT - c1o1*kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/(epsylon*epsylon); - cxz += (c2o1*vx2_SWT - c2o1*vx2_NWB - c2o1*vx2_SEB + c2o1*vx2_NET - c2o1*vx3_SWT + c2o1*vx3_NWB - c2o1*vx3_SEB + c2o1*vx3_NET - c1o1*kxxMyyFromfcNEQ_SWT - c1o1*kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - c1o1*kxxMzzFromfcNEQ_SEB - c1o1*kxxMzzFromfcNEQ_NET - c1o1*kyzFromfcNEQ_SWT - c1o1*kyzFromfcNEQ_NWB - c1o1*kyzFromfcNEQ_SEB - c1o1*kyzFromfcNEQ_NET)/(epsylon*epsylon); - cyz += (c2o1*vx1_SWT - c2o1*vx1_NWB - c2o1*vx1_SEB + c2o1*vx1_NET - c2o1*vx3_SWT - c2o1*vx3_NWB + c2o1*vx3_SEB + c2o1*vx3_NET + kxxMzzFromfcNEQ_SWT - c1o1*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - c1o1*kxxMzzFromfcNEQ_NET - c1o1*kxzFromfcNEQ_SWT - c1o1*kxzFromfcNEQ_NWB - c1o1*kxzFromfcNEQ_SEB - c1o1*kxzFromfcNEQ_NET)/(epsylon*epsylon); - a0 /= c2o1; - ax /= c2o1; - ay /= c2o1; - az /= c2o1; - axx /= c2o1; - ayy /= c2o1; - azz /= c2o1; - axy /= c2o1; - axz /= c2o1; - ayz /= c2o1; - b0 /= c2o1; - bx /= c2o1; - by /= c2o1; - bz /= c2o1; - bxx /= c2o1; - byy /= c2o1; - bzz /= c2o1; - bxy /= c2o1; - bxz /= c2o1; - byz /= c2o1; - c0 /= c2o1; - cx /= c2o1; - cy /= c2o1; - cz /= c2o1; - cxx /= c2o1; - cyy /= c2o1; - czz /= c2o1; - cxy /= c2o1; - cxz /= c2o1; - cyz /= c2o1; - ////////////////////////////////////////////////////////////////////////// - a0 /= c32o1; - ax /= c8o1; - ay /= c8o1; - az /= c8o1; - axx /= c8o1; - ayy /= c8o1; - azz /= c8o1; - axy /= c4o1; - axz /= c4o1; - ayz /= c4o1; - b0 /= c32o1; - bx /= c8o1; - by /= c8o1; - bz /= c8o1; - bxx /= c8o1; - byy /= c8o1; - bzz /= c8o1; - bxy /= c4o1; - bxz /= c4o1; - byz /= c4o1; - c0 /= c32o1; - cx /= c8o1; - cy /= c8o1; - cz /= c8o1; - cxx /= c8o1; - cyy /= c8o1; - czz /= c8o1; - cxy /= c4o1; - cxz /= c4o1; - cyz /= c4o1; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //Position C 0.5, 0.5, 0.5 - x = c0o1; - y = c0o1; - z = c0o1; - - //drho = (drho_SWB + drho_NWB + drho_NEB + drho_SEB + drho_SWT + drho_NWT + drho_NET + drho_SET)/8.; - drho = (drho_NEB*(c1o1 + c2o1*x + c2o1*y + c4o1*x*y - c2o1*z - c4o1*x*z - c4o1*y*z - c8o1*x*y*z) + - drho_SET*(c1o1 + c2o1*x - c2o1*y - c4o1*x*y + c2o1*z + c4o1*x*z - c4o1*y*z - c8o1*x*y*z) + - drho_NWT*(c1o1 - c2o1*x + c2o1*y - c4o1*x*y + c2o1*z - c4o1*x*z + c4o1*y*z - c8o1*x*y*z) + - drho_SWB*(c1o1 - c2o1*x - c2o1*y + c4o1*x*y - c2o1*z + c4o1*x*z + c4o1*y*z - c8o1*x*y*z) + - drho_SWT*(c1o1 - c2o1*x - c2o1*y + c4o1*x*y + c2o1*z - c4o1*x*z - c4o1*y*z + c8o1*x*y*z) + - drho_NWB*(c1o1 - c2o1*x + c2o1*y - c4o1*x*y - c2o1*z + c4o1*x*z - c4o1*y*z + c8o1*x*y*z) + - drho_SEB*(c1o1 + c2o1*x - c2o1*y - c4o1*x*y - c2o1*z - c4o1*x*z + c4o1*y*z + c8o1*x*y*z) + - drho_NET*(c1o1 + c2o1*x + c2o1*y + c4o1*x*y + c2o1*z + c4o1*x*z + c4o1*y*z + c8o1*x*y*z))/c8o1; - vx1 = a0 + ax*x + ay*y + az*z + axx*x*x + ayy*y*y + azz*z*z + axy*x*y + axz*x*z + ayz*y*z; - vx2 = b0 + bx*x + by*y + bz*z + bxx*x*x + byy*y*y + bzz*z*z + bxy*x*y + bxz*x*z + byz*y*z; - vx3 = c0 + cx*x + cy*y + cz*z + cxx*x*x + cyy*y*y + czz*z*z + cxy*x*y + cxz*x*z + cyz*y*z; - - cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - - feq_ZERO = c8o27* (drho-cu_sq); - feq_E = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - feq_W = c2o27* (drho+c3o1*(-vx1 )+c9o2*(-vx1 )*(-vx1 )-cu_sq); - feq_N = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - feq_S = c2o27* (drho+c3o1*( -vx2 )+c9o2*( -vx2 )*( -vx2 )-cu_sq); - feq_T = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - feq_B = c2o27* (drho+c3o1*( -vx3)+c9o2*( -vx3)*( -vx3)-cu_sq); - feq_NE = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - feq_SW = c1o54* (drho+c3o1*(-vx1-vx2 )+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq); - feq_SE = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - feq_NW = c1o54* (drho+c3o1*(-vx1+vx2 )+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq); - feq_TE = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - feq_BW = c1o54* (drho+c3o1*(-vx1 -vx3)+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq); - feq_BE = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - feq_TW = c1o54* (drho+c3o1*(-vx1 +vx3)+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq); - feq_TN = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - feq_BS = c1o54* (drho+c3o1*( -vx2-vx3)+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq); - feq_BN = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - feq_TS = c1o54* (drho+c3o1*( -vx2+vx3)+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq); - feq_TNE = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - feq_BSW = c1o216*(drho+c3o1*(-vx1-vx2-vx3)+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq); - feq_BNE = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - feq_TSW = c1o216*(drho+c3o1*(-vx1-vx2+vx3)+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq); - feq_TSE = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - feq_BNW = c1o216*(drho+c3o1*(-vx1+vx2-vx3)+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq); - feq_BSE = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - feq_TNW = c1o216*(drho+c3o1*(-vx1+vx2+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq); - - f_E = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o - c8o1*ax*op + c4o1*by*op + c4o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - 16*axx*op*x + c4o1*bxy*op*x + c4o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c8o1*axy*op*y + c8o1*byy*op*y + c4o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(-c2o1*axz + byz + c2o1*czz)*op)*z)/(c72o1*o*op)); - f_W = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o - c8o1*ax*op + c4o1*by*op + c4o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - 16*axx*op*x + c4o1*bxy*op*x + c4o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c8o1*axy*op*y + c8o1*byy*op*y + c4o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(-c2o1*axz + byz + c2o1*czz)*op)*z)/(c72o1*o*op)); - f_N = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o + c4o1*ax*op - c8o1*by*op + c4o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c8o1*axx*op*x - c8o1*bxy*op*x + c4o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + c4o1*axy*op*y - 16*byy*op*y + c4o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(axz - c2o1*byz + c2o1*czz)*op)*z)/(c72o1*o*op)); - f_S = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o + c4o1*ax*op - c8o1*by*op + c4o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c8o1*axx*op*x - c8o1*bxy*op*x + c4o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + c4o1*axy*op*y - 16*byy*op*y + c4o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(axz - c2o1*byz + c2o1*czz)*op)*z)/(c72o1*o*op)); - f_T = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o + c4o1*ax*op + c4o1*by*op - c8o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c8o1*axx*op*x + c4o1*bxy*op*x - c8o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + c4o1*axy*op*y + c8o1*byy*op*y - c8o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(axz + byz - c4o1*czz)*op)*z)/(c72o1*o*op)); - f_B = eps_new *((c5o1*ax*o + c5o1*by*o + c5o1*cz*o + c4o1*ax*op + c4o1*by*op - c8o1*cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c8o1*axx*op*x + c4o1*bxy*op*x - c8o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + c4o1*axy*op*y + c8o1*byy*op*y - c8o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + c4o1*(axz + byz - c4o1*czz)*op)*z)/(c72o1*o*op)); - f_NE = eps_new *(-(c5o1*cz*o + c3o1*(ay + bx)*op - c2o1*cz*op + ax*(c5o1*o + op) + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x + c3o1*axy*op*x + c6o1*bxx*op*x + bxy*op*x - c2o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y + c6o1*ayy*op*y + c3o1*bxy*op*y + c2o1*byy*op*y - c2o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz + c3o1*ayz + c3o1*bxz + byz - c4o1*czz)*op)*z)/(c72o1*o*op)); - f_SW = eps_new *(-(c5o1*cz*o + c3o1*(ay + bx)*op - c2o1*cz*op + ax*(c5o1*o + op) + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x + c3o1*axy*op*x + c6o1*bxx*op*x + bxy*op*x - c2o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y + c6o1*ayy*op*y + c3o1*bxy*op*y + c2o1*byy*op*y - c2o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz + c3o1*ayz + c3o1*bxz + byz - c4o1*czz)*op)*z)/(c72o1*o*op)); - f_SE = eps_new *(-(c5o1*cz*o - c3o1*(ay + bx)*op - c2o1*cz*op + ax*(c5o1*o + op) + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x - c3o1*axy*op*x - c6o1*bxx*op*x + bxy*op*x - c2o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y - c6o1*ayy*op*y - c3o1*bxy*op*y + c2o1*byy*op*y - c2o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz - c3o1*ayz - c3o1*bxz + byz - c4o1*czz)*op)*z)/(c72o1*o*op)); - f_NW = eps_new *(-(c5o1*cz*o - c3o1*(ay + bx)*op - c2o1*cz*op + ax*(c5o1*o + op) + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x - c3o1*axy*op*x - c6o1*bxx*op*x + bxy*op*x - c2o1*cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y - c6o1*ayy*op*y - c3o1*bxy*op*y + c2o1*byy*op*y - c2o1*cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz - c3o1*ayz - c3o1*bxz + byz - c4o1*czz)*op)*z)/(c72o1*o*op)); - f_TE = eps_new *(-(c5o1*cz*o + by*(c5o1*o - c2o1*op) + c3o1*(az + cx)*op + cz*op + ax*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x + c3o1*axz*op*x - c2o1*bxy*op*x + c6o1*cxx*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y + c3o1*ayz*op*y - c4o1*byy*op*y + c3o1*cxy*op*y + cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz + c6o1*azz - c2o1*byz + c3o1*cxz + c2o1*czz)*op)*z)/(c72o1*o*op)); - f_BW = eps_new *(-(c5o1*cz*o + by*(c5o1*o - c2o1*op) + c3o1*(az + cx)*op + cz*op + ax*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x + c3o1*axz*op*x - c2o1*bxy*op*x + c6o1*cxx*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y + c3o1*ayz*op*y - c4o1*byy*op*y + c3o1*cxy*op*y + cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (axz + c6o1*azz - c2o1*byz + c3o1*cxz + c2o1*czz)*op)*z)/(c72o1*o*op)); - f_BE = eps_new *(-(c5o1*cz*o + by*(c5o1*o - c2o1*op) - c3o1*(az + cx)*op + cz*op + ax*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x - c3o1*axz*op*x - c2o1*bxy*op*x - c6o1*cxx*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y - c3o1*ayz*op*y - c4o1*byy*op*y - c3o1*cxy*op*y + cyz*op*y + c5o1*axz*o*z + c5o1*byz*o*z + c10o1*czz*o*z + axz*op*z - c6o1*azz*op*z - c2o1*byz*op*z - c3o1*cxz*op*z + c2o1*czz*op*z)/(c72o1*o*op)); - f_TW = eps_new *(-(c5o1*cz*o + by*(c5o1*o - c2o1*op) - c3o1*(az + cx)*op + cz*op + ax*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x + c2o1*axx*op*x - c3o1*axz*op*x - c2o1*bxy*op*x - c6o1*cxx*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y + axy*op*y - c3o1*ayz*op*y - c4o1*byy*op*y - c3o1*cxy*op*y + cyz*op*y + c5o1*axz*o*z + c5o1*byz*o*z + c10o1*czz*o*z + axz*op*z - c6o1*azz*op*z - c2o1*byz*op*z - c3o1*cxz*op*z + c2o1*czz*op*z)/(c72o1*o*op)); - f_TN = eps_new *(-(c5o1*ax*o + c5o1*by*o + c5o1*cz*o - c2o1*ax*op + by*op + c3o1*bz*op + c3o1*cy*op + cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - c4o1*axx*op*x + bxy*op*x + c3o1*bxz*op*x + c3o1*cxy*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c2o1*axy*op*y + c2o1*byy*op*y + c3o1*byz*op*y + c6o1*cyy*op*y + cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (-c2o1*axz + byz + c6o1*bzz + c3o1*cyz + c2o1*czz)*op)*z)/(c72o1*o*op)); - f_BS = eps_new *(-(c5o1*ax*o + c5o1*by*o + c5o1*cz*o - c2o1*ax*op + by*op + c3o1*bz*op + c3o1*cy*op + cz*op + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - c4o1*axx*op*x + bxy*op*x + c3o1*bxz*op*x + c3o1*cxy*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c2o1*axy*op*y + c2o1*byy*op*y + c3o1*byz*op*y + c6o1*cyy*op*y + cyz*op*y + (c5o1*(axz + byz + c2o1*czz)*o + (-c2o1*axz + byz + c6o1*bzz + c3o1*cyz + c2o1*czz)*op)*z)/(c72o1*o*op)); - f_BN = eps_new *(-(c5o1*cz*o + ax*(c5o1*o - c2o1*op) - c3o1*(bz + cy)*op + cz*op + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - c4o1*axx*op*x + bxy*op*x - c3o1*bxz*op*x - c3o1*cxy*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c2o1*axy*op*y + c2o1*byy*op*y - c3o1*byz*op*y - c6o1*cyy*op*y + cyz*op*y + c5o1*axz*o*z + c5o1*byz*o*z + c10o1*czz*o*z - c2o1*axz*op*z + byz*op*z - c6o1*bzz*op*z - c3o1*cyz*op*z + c2o1*czz*op*z)/(c72o1*o*op)); - f_TS = eps_new *(-(c5o1*cz*o + ax*(c5o1*o - c2o1*op) - c3o1*(bz + cy)*op + cz*op + by*(c5o1*o + op) + c10o1*axx*o*x + c5o1*bxy*o*x + c5o1*cxz*o*x - c4o1*axx*op*x + bxy*op*x - c3o1*bxz*op*x - c3o1*cxy*op*x + cxz*op*x + c5o1*axy*o*y + c10o1*byy*o*y + c5o1*cyz*o*y - c2o1*axy*op*y + c2o1*byy*op*y - c3o1*byz*op*y - c6o1*cyy*op*y + cyz*op*y + c5o1*axz*o*z + c5o1*byz*o*z + c10o1*czz*o*z - c2o1*axz*op*z + byz*op*z - c6o1*bzz*op*z - c3o1*cyz*op*z + c2o1*czz*op*z)/(c72o1*o*op)); - f_ZERO = eps_new *((c5o1*(ax + by + cz + (c2o1*axx + bxy + cxz)*x + (axy + c2o1*byy + cyz)*y + (axz + byz + c2o1*czz)*z))/(9.*op)); - f_TNE = eps_new *(-(ay + az + bx + bz + cx + cy + axy*x + axz*x + c2o1*bxx*x + bxz*x + c2o1*cxx*x + cxy*x + (c2o1*ayy + ayz + bxy + byz)*y + cxy*y + c2o1*cyy*y + (ayz + c2o1*azz)*z + (bxz + c2o1*bzz + cxz + cyz)*z)/(c72o1*o)); - f_TSW = eps_new *((-ay + az - bx + bz + cx + cy - axy*x + axz*x - c2o1*bxx*x + bxz*x + c2o1*cxx*x + cxy*x - c2o1*ayy*y + ayz*y - bxy*y + byz*y + cxy*y + c2o1*cyy*y + (-ayz + c2o1*azz - bxz + c2o1*bzz + cxz + cyz)*z)/(c72o1*o)); - f_TSE = eps_new *((ay - az + bx + bz - cx + cy + axy*x - axz*x + c2o1*bxx*x + bxz*x - c2o1*cxx*x + cxy*x + c2o1*ayy*y - ayz*y + bxy*y + byz*y - cxy*y + c2o1*cyy*y + (ayz - c2o1*azz + bxz + c2o1*bzz - cxz + cyz)*z)/(c72o1*o)); - f_TNW = eps_new *((ay + az + bx - bz + cx - cy + axy*x + axz*x + c2o1*bxx*x - bxz*x + c2o1*cxx*x - cxy*x + c2o1*ayy*y + ayz*y + bxy*y - byz*y + cxy*y - c2o1*cyy*y + (ayz + c2o1*azz + bxz - c2o1*bzz + cxz - cyz)*z)/(c72o1*o)); - f_BNE = eps_new *((-ay + az - bx + bz + cx + cy - axy*x + axz*x - c2o1*bxx*x + bxz*x + c2o1*cxx*x + cxy*x - c2o1*ayy*y + ayz*y - bxy*y + byz*y + cxy*y + c2o1*cyy*y + (-ayz + c2o1*azz - bxz + c2o1*bzz + cxz + cyz)*z)/(c72o1*o)); - f_BSW = eps_new *(-(ay + az + bx + bz + cx + cy + axy*x + axz*x + c2o1*bxx*x + bxz*x + c2o1*cxx*x + cxy*x + (c2o1*ayy + ayz + bxy + byz)*y + cxy*y + c2o1*cyy*y + (ayz + c2o1*azz)*z + (bxz + c2o1*bzz + cxz + cyz)*z)/(c72o1*o)); - f_BSE = eps_new *((ay + az + bx - bz + cx - cy + axy*x + axz*x + c2o1*bxx*x - bxz*x + c2o1*cxx*x - cxy*x + c2o1*ayy*y + ayz*y + bxy*y - byz*y + cxy*y - c2o1*cyy*y + (ayz + c2o1*azz + bxz - c2o1*bzz + cxz - cyz)*z)/(c72o1*o)); - f_BNW = eps_new *((ay - az + bx + bz - cx + cy + axy*x - axz*x + c2o1*bxx*x + bxz*x - c2o1*cxx*x + cxy*x + c2o1*ayy*y - ayz*y + bxy*y + byz*y - cxy*y + c2o1*cyy*y + (ayz - c2o1*azz + bxz + c2o1*bzz - cxz + cyz)*z)/(c72o1*o)); - - ////////////////////////////////////////////////////////////////////////// - //index 0 - kzero= posC[k]; - kw = neighborCX[kzero]; - ks = neighborCY[kzero]; - kb = neighborCZ[kzero]; - ksw = neighborCY[kw]; - kbw = neighborCZ[kw]; - kbs = neighborCZ[ks]; - kbsw = neighborCZ[ksw]; - //////////////////////////////////////////////////////////////////////////////// - feC[kzero] = f_E + feq_E; - fwC[kw] = f_W + feq_W; - fnC[kzero] = f_N + feq_N; - fsC[ks] = f_S + feq_S; - ftC[kzero] = f_T + feq_T; - fbC[kb] = f_B + feq_B; - fneC[kzero] = f_NE + feq_NE; - fswC[ksw] = f_SW + feq_SW; - fseC[ks] = f_SE + feq_SE; - fnwC[kw] = f_NW + feq_NW; - fteC[kzero] = f_TE + feq_TE; - fbwC[kbw] = f_BW + feq_BW; - fbeC[kb] = f_BE + feq_BE; - ftwC[kw] = f_TW + feq_TW; - ftnC[kzero] = f_TN + feq_TN; - fbsC[kbs] = f_BS + feq_BS; - fbnC[kb] = f_BN + feq_BN; - ftsC[ks] = f_TS + feq_TS; - fzeroC[kzero]= f_ZERO + feq_ZERO; - ftneC[kzero] = f_TNE + feq_TNE; - ftswC[ksw] = f_TSW + feq_TSW; - ftseC[ks] = f_TSE + feq_TSE; - ftnwC[kw] = f_TNW + feq_TNW; - fbneC[kb] = f_BNE + feq_BNE; - fbswC[kbsw] = f_BSW + feq_BSW; - fbseC[kbs] = f_BSE + feq_BSE; - fbnwC[kbw] = f_BNW + feq_BNW; - } -} diff --git a/src/gpu/core/GridScaling/ScaleFC_F3_27.cu b/src/gpu/core/GridScaling/ScaleFC_F3_27.cu deleted file mode 100644 index a4dd03113e16bbbe7872962c9f6293831e904b3e..0000000000000000000000000000000000000000 --- a/src/gpu/core/GridScaling/ScaleFC_F3_27.cu +++ /dev/null @@ -1,2503 +0,0 @@ -// _ ___ __ __________ _ __ ______________ __ -// | | / (_)____/ /___ ______ _/ / ____/ /_ __(_)___/ /____ / ___/ __ / / / / -// | | / / / ___/ __/ / / / __ `/ / /_ / / / / / / __ / ___/ / /___/ /_/ / / / / -// | |/ / / / / /_/ /_/ / /_/ / / __/ / / /_/ / / /_/ (__ ) / /_) / ____/ /__/ / -// |___/_/_/ \__/\__,_/\__,_/_/_/ /_/\__,_/_/\__,_/____/ \____/_/ \_____/ -// -////////////////////////////////////////////////////////////////////////// -/* Device code */ -#include "Calculation/Calculation.h" -#include "lbm/constants/D3Q27.h" -#include <basics/constants/NumericConstants.h> - -using namespace vf::basics::constant; -using namespace vf::lbm::dir; - -////////////////////////////////////////////////////////////////////////// -__global__ void scaleFC_comp_D3Q27F3_2018(real* DC, - real* DF, - real* G6, - unsigned int* neighborCX, - unsigned int* neighborCY, - unsigned int* neighborCZ, - unsigned int* neighborFX, - unsigned int* neighborFY, - unsigned int* neighborFZ, - unsigned long long numberOfLBnodesCoarse, - unsigned long long numberOfLBnodesFine, - bool isEvenTimestep, - unsigned int* posC, - unsigned int* posFSWB, - unsigned int kFC, - real omCoarse, - real omFine, - real nu, - unsigned int nxC, - unsigned int nyC, - unsigned int nxF, - unsigned int nyF, - ICellNeigh offFC) -{ - real - *fP00source, *fM00source, *f0P0source, *f0M0source, *f00Psource, *f00Msource, *fPP0source, *fMM0source, *fPM0source, - *fMP0source, *fP0Psource, *fM0Msource, *fP0Msource, *fM0Psource, *f0PPsource, *f0MMsource, *f0PMsource, *f0MPsource, - *f000source, *fMMMsource, *fMMPsource, *fMPPsource, *fMPMsource, *fPPMsource, *fPPPsource, *fPMPsource, *fPMMsource; - - - fP00source = &DF[dP00 * numberOfLBnodesFine]; - fM00source = &DF[dM00 * numberOfLBnodesFine]; - f0P0source = &DF[d0P0 * numberOfLBnodesFine]; - f0M0source = &DF[d0M0 * numberOfLBnodesFine]; - f00Psource = &DF[d00P * numberOfLBnodesFine]; - f00Msource = &DF[d00M * numberOfLBnodesFine]; - fPP0source = &DF[dPP0 * numberOfLBnodesFine]; - fMM0source = &DF[dMM0 * numberOfLBnodesFine]; - fPM0source = &DF[dPM0 * numberOfLBnodesFine]; - fMP0source = &DF[dMP0 * numberOfLBnodesFine]; - fP0Psource = &DF[dP0P * numberOfLBnodesFine]; - fM0Msource = &DF[dM0M * numberOfLBnodesFine]; - fP0Msource = &DF[dP0M * numberOfLBnodesFine]; - fM0Psource = &DF[dM0P * numberOfLBnodesFine]; - f0PPsource = &DF[d0PP * numberOfLBnodesFine]; - f0MMsource = &DF[d0MM * numberOfLBnodesFine]; - f0PMsource = &DF[d0PM * numberOfLBnodesFine]; - f0MPsource = &DF[d0MP * numberOfLBnodesFine]; - f000source = &DF[d000 * numberOfLBnodesFine]; - fMMMsource = &DF[dMMM * numberOfLBnodesFine]; - fMMPsource = &DF[dMMP * numberOfLBnodesFine]; - fMPPsource = &DF[dMPP * numberOfLBnodesFine]; - fMPMsource = &DF[dMPM * numberOfLBnodesFine]; - fPPMsource = &DF[dPPM * numberOfLBnodesFine]; - fPPPsource = &DF[dPPP * numberOfLBnodesFine]; - fPMPsource = &DF[dPMP * numberOfLBnodesFine]; - fPMMsource = &DF[dPMM * numberOfLBnodesFine]; - - real - *fP00dest, *fM00dest, *f0P0dest, *f0M0dest, *f00Pdest, *f00Mdest, *fPP0dest, *fMM0dest, *fPM0dest, - *fMP0dest, *fP0Pdest, *fM0Mdest, *fP0Mdest, *fM0Pdest, *f0PPdest, *f0MMdest, *f0PMdest, *f0MPdest, - *f000dest, *fMMMdest, *fMMPdest, *fMPPdest, *fMPMdest, *fPPMdest, *fPPPdest, *fPMPdest, *fPMMdest; - - if (isEvenTimestep==true) - { - fP00dest = &DC[dP00 * numberOfLBnodesCoarse]; - fM00dest = &DC[dM00 * numberOfLBnodesCoarse]; - f0P0dest = &DC[d0P0 * numberOfLBnodesCoarse]; - f0M0dest = &DC[d0M0 * numberOfLBnodesCoarse]; - f00Pdest = &DC[d00P * numberOfLBnodesCoarse]; - f00Mdest = &DC[d00M * numberOfLBnodesCoarse]; - fPP0dest = &DC[dPP0 * numberOfLBnodesCoarse]; - fMM0dest = &DC[dMM0 * numberOfLBnodesCoarse]; - fPM0dest = &DC[dPM0 * numberOfLBnodesCoarse]; - fMP0dest = &DC[dMP0 * numberOfLBnodesCoarse]; - fP0Pdest = &DC[dP0P * numberOfLBnodesCoarse]; - fM0Mdest = &DC[dM0M * numberOfLBnodesCoarse]; - fP0Mdest = &DC[dP0M * numberOfLBnodesCoarse]; - fM0Pdest = &DC[dM0P * numberOfLBnodesCoarse]; - f0PPdest = &DC[d0PP * numberOfLBnodesCoarse]; - f0MMdest = &DC[d0MM * numberOfLBnodesCoarse]; - f0PMdest = &DC[d0PM * numberOfLBnodesCoarse]; - f0MPdest = &DC[d0MP * numberOfLBnodesCoarse]; - f000dest = &DC[d000 * numberOfLBnodesCoarse]; - fMMMdest = &DC[dMMM * numberOfLBnodesCoarse]; - fMMPdest = &DC[dMMP * numberOfLBnodesCoarse]; - fMPPdest = &DC[dMPP * numberOfLBnodesCoarse]; - fMPMdest = &DC[dMPM * numberOfLBnodesCoarse]; - fPPMdest = &DC[dPPM * numberOfLBnodesCoarse]; - fPPPdest = &DC[dPPP * numberOfLBnodesCoarse]; - fPMPdest = &DC[dPMP * numberOfLBnodesCoarse]; - fPMMdest = &DC[dPMM * numberOfLBnodesCoarse]; - } - else - { - fP00dest = &DC[dM00 * numberOfLBnodesCoarse]; - fM00dest = &DC[dP00 * numberOfLBnodesCoarse]; - f0P0dest = &DC[d0M0 * numberOfLBnodesCoarse]; - f0M0dest = &DC[d0P0 * numberOfLBnodesCoarse]; - f00Pdest = &DC[d00M * numberOfLBnodesCoarse]; - f00Mdest = &DC[d00P * numberOfLBnodesCoarse]; - fPP0dest = &DC[dMM0 * numberOfLBnodesCoarse]; - fMM0dest = &DC[dPP0 * numberOfLBnodesCoarse]; - fPM0dest = &DC[dMP0 * numberOfLBnodesCoarse]; - fMP0dest = &DC[dPM0 * numberOfLBnodesCoarse]; - fP0Pdest = &DC[dM0M * numberOfLBnodesCoarse]; - fM0Mdest = &DC[dP0P * numberOfLBnodesCoarse]; - fP0Mdest = &DC[dM0P * numberOfLBnodesCoarse]; - fM0Pdest = &DC[dP0M * numberOfLBnodesCoarse]; - f0PPdest = &DC[d0MM * numberOfLBnodesCoarse]; - f0MMdest = &DC[d0PP * numberOfLBnodesCoarse]; - f0PMdest = &DC[d0MP * numberOfLBnodesCoarse]; - f0MPdest = &DC[d0PM * numberOfLBnodesCoarse]; - f000dest = &DC[d000 * numberOfLBnodesCoarse]; - fMMMdest = &DC[dPPP * numberOfLBnodesCoarse]; - fMMPdest = &DC[dPPM * numberOfLBnodesCoarse]; - fMPPdest = &DC[dPMM * numberOfLBnodesCoarse]; - fMPMdest = &DC[dPMP * numberOfLBnodesCoarse]; - fPPMdest = &DC[dMMP * numberOfLBnodesCoarse]; - fPPPdest = &DC[dMMM * numberOfLBnodesCoarse]; - fPMPdest = &DC[dMPM * numberOfLBnodesCoarse]; - fPMMdest = &DC[dMPP * numberOfLBnodesCoarse]; - } - - Distributions6 G; - if (isEvenTimestep == true) - { - G.g[dP00] = &G6[dP00 * numberOfLBnodesCoarse]; - G.g[dM00] = &G6[dM00 * numberOfLBnodesCoarse]; - G.g[d0P0] = &G6[d0P0 * numberOfLBnodesCoarse]; - G.g[d0M0] = &G6[d0M0 * numberOfLBnodesCoarse]; - G.g[d00P] = &G6[d00P * numberOfLBnodesCoarse]; - G.g[d00M] = &G6[d00M * numberOfLBnodesCoarse]; - } - else - { - G.g[dM00] = &G6[dP00 * numberOfLBnodesCoarse]; - G.g[dP00] = &G6[dM00 * numberOfLBnodesCoarse]; - G.g[d0M0] = &G6[d0P0 * numberOfLBnodesCoarse]; - G.g[d0P0] = &G6[d0M0 * numberOfLBnodesCoarse]; - G.g[d00M] = &G6[d00P * numberOfLBnodesCoarse]; - G.g[d00P] = &G6[d00M * numberOfLBnodesCoarse]; - } - - //////////////////////////////////////////////////////////////////////////////// - const unsigned ix = threadIdx.x; // Globaler x-Index - const unsigned iy = blockIdx.x; // Globaler y-Index - const unsigned iz = blockIdx.y; // Globaler z-Index - - const unsigned nx = blockDim.x; - const unsigned ny = gridDim.x; - - const unsigned k = nx*(ny*iz + iy) + ix; - ////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////// - real eps_new = c2o1; - real omegaS = omFine;//-omFine; - real o = omCoarse;//-omCoarse; - //real op = one; - //real cu_sq; - - real xoff, yoff, zoff; - real xoff_sq, yoff_sq, zoff_sq; - - // real drho; - real vvx, vvy, vvz, vx2, vy2, vz2; - real press;//,drho,vx1,vx2,vx3; - real /*pressMMM,*/drhoMMM,vx1MMM,vx2MMM,vx3MMM; - real /*pressMMP,*/drhoMMP,vx1MMP,vx2MMP,vx3MMP; - real /*pressMPP,*/drhoMPP,vx1MPP,vx2MPP,vx3MPP; - real /*pressMPM,*/drhoMPM,vx1MPM,vx2MPM,vx3MPM; - real /*pressPPM,*/drhoPPM,vx1PPM,vx2PPM,vx3PPM; - real /*pressPPP,*/drhoPPP,vx1PPP,vx2PPP,vx3PPP; - real /*pressPMP,*/drhoPMP,vx1PMP,vx2PMP,vx3PMP; - real /*pressPMM,*/drhoPMM,vx1PMM,vx2PMM,vx3PMM; - real fP00,fM00,f0P0,f0M0,f00P,f00M,fPP0,fMM0,fPM0,fMP0,fP0P,fM0M,fP0M,fM0P,f0PP,f0MM,f0PM,f0MP,f000,fPPP, fMMP, fPMP, fMPP, fPPM, fMMM, fPMM, fMPM; - real kxyFromfcNEQMMM, kyzFromfcNEQMMM, kxzFromfcNEQMMM, kxxMyyFromfcNEQMMM, kxxMzzFromfcNEQMMM, kyyMzzFromfcNEQMMM; - real kxyFromfcNEQMMP, kyzFromfcNEQMMP, kxzFromfcNEQMMP, kxxMyyFromfcNEQMMP, kxxMzzFromfcNEQMMP, kyyMzzFromfcNEQMMP; - real kxyFromfcNEQMPP, kyzFromfcNEQMPP, kxzFromfcNEQMPP, kxxMyyFromfcNEQMPP, kxxMzzFromfcNEQMPP, kyyMzzFromfcNEQMPP; - real kxyFromfcNEQMPM, kyzFromfcNEQMPM, kxzFromfcNEQMPM, kxxMyyFromfcNEQMPM, kxxMzzFromfcNEQMPM, kyyMzzFromfcNEQMPM; - real kxyFromfcNEQPPM, kyzFromfcNEQPPM, kxzFromfcNEQPPM, kxxMyyFromfcNEQPPM, kxxMzzFromfcNEQPPM, kyyMzzFromfcNEQPPM; - real kxyFromfcNEQPPP, kyzFromfcNEQPPP, kxzFromfcNEQPPP, kxxMyyFromfcNEQPPP, kxxMzzFromfcNEQPPP, kyyMzzFromfcNEQPPP; - real kxyFromfcNEQPMP, kyzFromfcNEQPMP, kxzFromfcNEQPMP, kxxMyyFromfcNEQPMP, kxxMzzFromfcNEQPMP, kyyMzzFromfcNEQPMP; - real kxyFromfcNEQPMM, kyzFromfcNEQPMM, kxzFromfcNEQPMM, kxxMyyFromfcNEQPMM, kxxMzzFromfcNEQPMM, kyyMzzFromfcNEQPMM; - real a0, ax, ay, az, axx, ayy, azz, axy, axz, ayz, b0, bx, by, bz, bxx, byy, bzz, bxy, bxz, byz, c0, cx, cy, cz, cxx, cyy, czz, cxy, cxz, cyz/*, axyz, bxyz, cxyz*/; - real d0, dx, dy, dz, dxy, dxz, dyz/*, dxyz*/; - - if(k<kFC) - { - ////////////////////////////////////////////////////////////////////////// - xoff = offFC.x[k]; - yoff = offFC.y[k]; - zoff = offFC.z[k]; - xoff_sq = xoff * xoff; - yoff_sq = yoff * yoff; - zoff_sq = zoff * zoff; - ////////////////////////////////////////////////////////////////////////// - //SWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - unsigned int k000base = posFSWB[k]; - unsigned int kM00base = neighborFX[k000base]; - unsigned int k0M0base = neighborFY[k000base]; - unsigned int k00Mbase = neighborFZ[k000base]; - unsigned int kMM0base = neighborFY[kM00base]; - unsigned int kM0Mbase = neighborFZ[kM00base]; - unsigned int k0MMbase = neighborFZ[k0M0base]; - unsigned int kMMMbase = neighborFZ[kMM0base]; - ////////////////////////////////////////////////////////////////////////// - //index - unsigned int k000 = k000base; - unsigned int kM00 = kM00base; - unsigned int k0M0 = k0M0base; - unsigned int k00M = k00Mbase; - unsigned int kMM0 = kMM0base; - unsigned int kM0M = kM0Mbase; - unsigned int k0MM = k0MMbase; - unsigned int kMMM = kMMMbase; - //////////////////////////////////////////////////////////////////////////////// - fP00 = fP00source[k000]; - fM00 = fM00source[kM00]; - f0P0 = f0P0source[k000]; - f0M0 = f0M0source[k0M0]; - f00P = f00Psource[k000]; - f00M = f00Msource[k00M]; - fPP0 = fPP0source[k000]; - fMM0 = fMM0source[kMM0]; - fPM0 = fPM0source[k0M0]; - fMP0 = fMP0source[kM00]; - fP0P = fP0Psource[k000]; - fM0M = fM0Msource[kM0M]; - fP0M = fP0Msource[k00M]; - fM0P = fM0Psource[kM00]; - f0PP = f0PPsource[k000]; - f0MM = f0MMsource[k0MM]; - f0PM = f0PMsource[k00M]; - f0MP = f0MPsource[k0M0]; - f000 = f000source[k000]; - fMMM = fMMMsource[kMMM]; - fMMP = fMMPsource[kMM0]; - fMPP = fMPPsource[kM00]; - fMPM = fMPMsource[kM0M]; - fPPM = fPPMsource[k00M]; - fPPP = fPPPsource[k000]; - fPMP = fPMPsource[k0M0]; - fPMM = fPMMsource[k0MM]; - - drhoMMM = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM; - vx1MMM = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoMMM); - vx2MMM = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMMM); - vx3MMM = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMMM); - - kxyFromfcNEQMMM = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMM) - ((vx1MMM*vx2MMM))); - kyzFromfcNEQMMM = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMMM) - ((vx2MMM*vx3MMM))); - kxzFromfcNEQMMM = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMM) - ((vx1MMM*vx3MMM))); - kxxMyyFromfcNEQMMM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMMM) - ((vx1MMM*vx1MMM - vx2MMM*vx2MMM))); - kxxMzzFromfcNEQMMM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMMM) - ((vx1MMM*vx1MMM - vx3MMM*vx3MMM))); - kyyMzzFromfcNEQMMM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMMM) - ((vx2MMM*vx2MMM - vx3MMM*vx3MMM))); - - ////////////////////////////////////////////////////////////////////////// - //SWT// - ////////////////////////////////////////////////////////////////////////// - //index - k000 = k00M; - kM00 = kM0M; - k0M0 = k0MM; - k00M = neighborFZ[k00M]; - kMM0 = kMMM; - kM0M = neighborFZ[kM0M]; - k0MM = neighborFZ[k0MM]; - kMMM = neighborFZ[kMMM]; - //////////////////////////////////////////////////////////////////////////////// - fP00 = fP00source[k000]; - fM00 = fM00source[kM00]; - f0P0 = f0P0source[k000]; - f0M0 = f0M0source[k0M0]; - f00P = f00Psource[k000]; - f00M = f00Msource[k00M]; - fPP0 = fPP0source[k000]; - fMM0 = fMM0source[kMM0]; - fPM0 = fPM0source[k0M0]; - fMP0 = fMP0source[kM00]; - fP0P = fP0Psource[k000]; - fM0M = fM0Msource[kM0M]; - fP0M = fP0Msource[k00M]; - fM0P = fM0Psource[kM00]; - f0PP = f0PPsource[k000]; - f0MM = f0MMsource[k0MM]; - f0PM = f0PMsource[k00M]; - f0MP = f0MPsource[k0M0]; - f000 = f000source[k000]; - fMMM = fMMMsource[kMMM]; - fMMP = fMMPsource[kMM0]; - fMPP = fMPPsource[kM00]; - fMPM = fMPMsource[kM0M]; - fPPM = fPPMsource[k00M]; - fPPP = fPPPsource[k000]; - fPMP = fPMPsource[k0M0]; - fPMM = fPMMsource[k0MM]; - - drhoMMP = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM; - vx1MMP = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoMMP); - vx2MMP = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMMP); - vx3MMP = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMMP); - - kxyFromfcNEQMMP = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMP) - ((vx1MMP*vx2MMP))); - kyzFromfcNEQMMP = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMMP) - ((vx2MMP*vx3MMP))); - kxzFromfcNEQMMP = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMP) - ((vx1MMP*vx3MMP))); - kxxMyyFromfcNEQMMP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMMP) - ((vx1MMP*vx1MMP - vx2MMP*vx2MMP))); - kxxMzzFromfcNEQMMP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMMP) - ((vx1MMP*vx1MMP - vx3MMP*vx3MMP))); - kyyMzzFromfcNEQMMP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMMP) - ((vx2MMP*vx2MMP - vx3MMP*vx3MMP))); - - ////////////////////////////////////////////////////////////////////////// - //SET// - ////////////////////////////////////////////////////////////////////////// - //index - k000 = kM00; - kM00 = neighborFX[kM00]; - k0M0 = kMM0; - k00M = kM0M; - kMM0 = neighborFX[kMM0]; - kM0M = neighborFX[kM0M]; - k0MM = kMMM; - kMMM = neighborFX[kMMM]; - //////////////////////////////////////////////////////////////////////////////// - fP00 = fP00source[k000]; - fM00 = fM00source[kM00]; - f0P0 = f0P0source[k000]; - f0M0 = f0M0source[k0M0]; - f00P = f00Psource[k000]; - f00M = f00Msource[k00M]; - fPP0 = fPP0source[k000]; - fMM0 = fMM0source[kMM0]; - fPM0 = fPM0source[k0M0]; - fMP0 = fMP0source[kM00]; - fP0P = fP0Psource[k000]; - fM0M = fM0Msource[kM0M]; - fP0M = fP0Msource[k00M]; - fM0P = fM0Psource[kM00]; - f0PP = f0PPsource[k000]; - f0MM = f0MMsource[k0MM]; - f0PM = f0PMsource[k00M]; - f0MP = f0MPsource[k0M0]; - f000 = f000source[k000]; - fMMM = fMMMsource[kMMM]; - fMMP = fMMPsource[kMM0]; - fMPP = fMPPsource[kM00]; - fMPM = fMPMsource[kM0M]; - fPPM = fPPMsource[k00M]; - fPPP = fPPPsource[k000]; - fPMP = fPMPsource[k0M0]; - fPMM = fPMMsource[k0MM]; - - drhoPMP = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM; - vx1PMP = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoPMP); - vx2PMP = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPMP); - vx3PMP = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPMP); - - kxyFromfcNEQPMP = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMP) - ((vx1PMP*vx2PMP))); - kyzFromfcNEQPMP = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPMP) - ((vx2PMP*vx3PMP))); - kxzFromfcNEQPMP = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMP) - ((vx1PMP*vx3PMP))); - kxxMyyFromfcNEQPMP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPMP) - ((vx1PMP*vx1PMP - vx2PMP*vx2PMP))); - kxxMzzFromfcNEQPMP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPMP) - ((vx1PMP*vx1PMP - vx3PMP*vx3PMP))); - kyyMzzFromfcNEQPMP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPMP) - ((vx2PMP*vx2PMP - vx3PMP*vx3PMP))); - - ////////////////////////////////////////////////////////////////////////// - //SEB// - ////////////////////////////////////////////////////////////////////////// - //index - k00M = k000; - kM0M = kM00; - k0MM = k0M0; - kMMM = kMM0; - k000 = kM00base; - kM00 = neighborFX[kM00base]; - k0M0 = kMM0base; - kMM0 = neighborFX[kMM0base]; - //////////////////////////////////////////////////////////////////////////////// - fP00 = fP00source[k000]; - fM00 = fM00source[kM00]; - f0P0 = f0P0source[k000]; - f0M0 = f0M0source[k0M0]; - f00P = f00Psource[k000]; - f00M = f00Msource[k00M]; - fPP0 = fPP0source[k000]; - fMM0 = fMM0source[kMM0]; - fPM0 = fPM0source[k0M0]; - fMP0 = fMP0source[kM00]; - fP0P = fP0Psource[k000]; - fM0M = fM0Msource[kM0M]; - fP0M = fP0Msource[k00M]; - fM0P = fM0Psource[kM00]; - f0PP = f0PPsource[k000]; - f0MM = f0MMsource[k0MM]; - f0PM = f0PMsource[k00M]; - f0MP = f0MPsource[k0M0]; - f000 = f000source[k000]; - fMMM = fMMMsource[kMMM]; - fMMP = fMMPsource[kMM0]; - fMPP = fMPPsource[kM00]; - fMPM = fMPMsource[kM0M]; - fPPM = fPPMsource[k00M]; - fPPP = fPPPsource[k000]; - fPMP = fPMPsource[k0M0]; - fPMM = fPMMsource[k0MM]; - - drhoPMM = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM; - vx1PMM = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoPMM); - vx2PMM = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPMM); - vx3PMM = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPMM); - - kxyFromfcNEQPMM = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMM) - ((vx1PMM*vx2PMM))); - kyzFromfcNEQPMM = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPMM) - ((vx2PMM*vx3PMM))); - kxzFromfcNEQPMM = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMM) - ((vx1PMM*vx3PMM))); - kxxMyyFromfcNEQPMM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPMM) - ((vx1PMM*vx1PMM - vx2PMM*vx2PMM))); - kxxMzzFromfcNEQPMM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPMM) - ((vx1PMM*vx1PMM - vx3PMM*vx3PMM))); - kyyMzzFromfcNEQPMM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPMM) - ((vx2PMM*vx2PMM - vx3PMM*vx3PMM))); - - ////////////////////////////////////////////////////////////////////////// - //NWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - k000base = k0M0base; - kM00base = kMM0base; - k0M0base = neighborFY[k0M0base]; - k00Mbase = k0MMbase; - kMM0base = neighborFY[kMM0base]; - kM0Mbase = kMMMbase; - k0MMbase = neighborFY[k0MMbase]; - kMMMbase = neighborFY[kMMMbase]; - ////////////////////////////////////////////////////////////////////////// - //index - k000 = k000base; - kM00 = kM00base; - k0M0 = k0M0base; - k00M = k00Mbase; - kMM0 = kMM0base; - kM0M = kM0Mbase; - k0MM = k0MMbase; - kMMM = kMMMbase; - //////////////////////////////////////////////////////////////////////////////// - fP00 = fP00source[k000]; - fM00 = fM00source[kM00]; - f0P0 = f0P0source[k000]; - f0M0 = f0M0source[k0M0]; - f00P = f00Psource[k000]; - f00M = f00Msource[k00M]; - fPP0 = fPP0source[k000]; - fMM0 = fMM0source[kMM0]; - fPM0 = fPM0source[k0M0]; - fMP0 = fMP0source[kM00]; - fP0P = fP0Psource[k000]; - fM0M = fM0Msource[kM0M]; - fP0M = fP0Msource[k00M]; - fM0P = fM0Psource[kM00]; - f0PP = f0PPsource[k000]; - f0MM = f0MMsource[k0MM]; - f0PM = f0PMsource[k00M]; - f0MP = f0MPsource[k0M0]; - f000 = f000source[k000]; - fMMM = fMMMsource[kMMM]; - fMMP = fMMPsource[kMM0]; - fMPP = fMPPsource[kM00]; - fMPM = fMPMsource[kM0M]; - fPPM = fPPMsource[k00M]; - fPPP = fPPPsource[k000]; - fPMP = fPMPsource[k0M0]; - fPMM = fPMMsource[k0MM]; - - drhoMPM = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM; - vx1MPM = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoMPM); - vx2MPM = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMPM); - vx3MPM = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMPM); - - kxyFromfcNEQMPM = -c3o1*omegaS* ((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPM) - ((vx1MPM*vx2MPM))); - kyzFromfcNEQMPM = -c3o1*omegaS* ((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMPM) - ((vx2MPM*vx3MPM))); - kxzFromfcNEQMPM = -c3o1*omegaS* ((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPM) - ((vx1MPM*vx3MPM))); - kxxMyyFromfcNEQMPM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMPM) - ((vx1MPM*vx1MPM - vx2MPM*vx2MPM))); - kxxMzzFromfcNEQMPM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMPM) - ((vx1MPM*vx1MPM - vx3MPM*vx3MPM))); - kyyMzzFromfcNEQMPM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMPM) - ((vx2MPM*vx2MPM - vx3MPM*vx3MPM))); - - ////////////////////////////////////////////////////////////////////////// - //NWT// - ////////////////////////////////////////////////////////////////////////// - //index - k000 = k00M; - kM00 = kM0M; - k0M0 = k0MM; - k00M = neighborFZ[k00M]; - kMM0 = kMMM; - kM0M = neighborFZ[kM0M]; - k0MM = neighborFZ[k0MM]; - kMMM = neighborFZ[kMMM]; - //////////////////////////////////////////////////////////////////////////////// - fP00 = fP00source[k000]; - fM00 = fM00source[kM00]; - f0P0 = f0P0source[k000]; - f0M0 = f0M0source[k0M0]; - f00P = f00Psource[k000]; - f00M = f00Msource[k00M]; - fPP0 = fPP0source[k000]; - fMM0 = fMM0source[kMM0]; - fPM0 = fPM0source[k0M0]; - fMP0 = fMP0source[kM00]; - fP0P = fP0Psource[k000]; - fM0M = fM0Msource[kM0M]; - fP0M = fP0Msource[k00M]; - fM0P = fM0Psource[kM00]; - f0PP = f0PPsource[k000]; - f0MM = f0MMsource[k0MM]; - f0PM = f0PMsource[k00M]; - f0MP = f0MPsource[k0M0]; - f000 = f000source[k000]; - fMMM = fMMMsource[kMMM]; - fMMP = fMMPsource[kMM0]; - fMPP = fMPPsource[kM00]; - fMPM = fMPMsource[kM0M]; - fPPM = fPPMsource[k00M]; - fPPP = fPPPsource[k000]; - fPMP = fPMPsource[k0M0]; - fPMM = fPMMsource[k0MM]; - - drhoMPP = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM; - vx1MPP = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoMPP); - vx2MPP = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMPP); - vx3MPP = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMPP); - - kxyFromfcNEQMPP = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPP) - ((vx1MPP*vx2MPP))); - kyzFromfcNEQMPP = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMPP) - ((vx2MPP*vx3MPP))); - kxzFromfcNEQMPP = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPP) - ((vx1MPP*vx3MPP))); - kxxMyyFromfcNEQMPP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMPP) - ((vx1MPP*vx1MPP - vx2MPP*vx2MPP))); - kxxMzzFromfcNEQMPP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMPP) - ((vx1MPP*vx1MPP - vx3MPP*vx3MPP))); - kyyMzzFromfcNEQMPP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMPP) - ((vx2MPP*vx2MPP - vx3MPP*vx3MPP))); - - ////////////////////////////////////////////////////////////////////////// - //NET// - ////////////////////////////////////////////////////////////////////////// - //index - k000 = kM00; - kM00 = neighborFX[kM00]; - k0M0 = kMM0; - k00M = kM0M; - kMM0 = neighborFX[kMM0]; - kM0M = neighborFX[kM0M]; - k0MM = kMMM; - kMMM = neighborFX[kMMM]; - //////////////////////////////////////////////////////////////////////////////// - fP00 = fP00source[k000]; - fM00 = fM00source[kM00]; - f0P0 = f0P0source[k000]; - f0M0 = f0M0source[k0M0]; - f00P = f00Psource[k000]; - f00M = f00Msource[k00M]; - fPP0 = fPP0source[k000]; - fMM0 = fMM0source[kMM0]; - fPM0 = fPM0source[k0M0]; - fMP0 = fMP0source[kM00]; - fP0P = fP0Psource[k000]; - fM0M = fM0Msource[kM0M]; - fP0M = fP0Msource[k00M]; - fM0P = fM0Psource[kM00]; - f0PP = f0PPsource[k000]; - f0MM = f0MMsource[k0MM]; - f0PM = f0PMsource[k00M]; - f0MP = f0MPsource[k0M0]; - f000 = f000source[k000]; - fMMM = fMMMsource[kMMM]; - fMMP = fMMPsource[kMM0]; - fMPP = fMPPsource[kM00]; - fMPM = fMPMsource[kM0M]; - fPPM = fPPMsource[k00M]; - fPPP = fPPPsource[k000]; - fPMP = fPMPsource[k0M0]; - fPMM = fPMMsource[k0MM]; - - drhoPPP = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM; - vx1PPP = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoPPP); - vx2PPP = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPPP); - vx3PPP = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPPP); - - kxyFromfcNEQPPP = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPP) - ((vx1PPP*vx2PPP))); - kyzFromfcNEQPPP = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPPP) - ((vx2PPP*vx3PPP))); - kxzFromfcNEQPPP = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPP) - ((vx1PPP*vx3PPP))); - kxxMyyFromfcNEQPPP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPPP) - ((vx1PPP*vx1PPP - vx2PPP*vx2PPP))); - kxxMzzFromfcNEQPPP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPPP) - ((vx1PPP*vx1PPP - vx3PPP*vx3PPP))); - kyyMzzFromfcNEQPPP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPPP) - ((vx2PPP*vx2PPP - vx3PPP*vx3PPP))); - - ////////////////////////////////////////////////////////////////////////// - //NEB// - ////////////////////////////////////////////////////////////////////////// - //index - k00M = k000; - kM0M = kM00; - k0MM = k0M0; - kMMM = kMM0; - k000 = kM00base; - kM00 = neighborFX[kM00base]; - k0M0 = kMM0base; - kMM0 = neighborFX[kMM0base]; - //////////////////////////////////////////////////////////////////////////////// - fP00 = fP00source[k000]; - fM00 = fM00source[kM00]; - f0P0 = f0P0source[k000]; - f0M0 = f0M0source[k0M0]; - f00P = f00Psource[k000]; - f00M = f00Msource[k00M]; - fPP0 = fPP0source[k000]; - fMM0 = fMM0source[kMM0]; - fPM0 = fPM0source[k0M0]; - fMP0 = fMP0source[kM00]; - fP0P = fP0Psource[k000]; - fM0M = fM0Msource[kM0M]; - fP0M = fP0Msource[k00M]; - fM0P = fM0Psource[kM00]; - f0PP = f0PPsource[k000]; - f0MM = f0MMsource[k0MM]; - f0PM = f0PMsource[k00M]; - f0MP = f0MPsource[k0M0]; - f000 = f000source[k000]; - fMMM = fMMMsource[kMMM]; - fMMP = fMMPsource[kMM0]; - fMPP = fMPPsource[kM00]; - fMPM = fMPMsource[kM0M]; - fPPM = fPPMsource[k00M]; - fPPP = fPPPsource[k000]; - fPMP = fPMPsource[k0M0]; - fPMM = fPMMsource[k0MM]; - - drhoPPM = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM; - vx1PPM = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoPPM); - vx2PPM = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPPM); - vx3PPM = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPPM); - - kxyFromfcNEQPPM = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPM) - ((vx1PPM*vx2PPM))); - kyzFromfcNEQPPM = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPPM) - ((vx2PPM*vx3PPM))); - kxzFromfcNEQPPM = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPM) - ((vx1PPM*vx3PPM))); - kxxMyyFromfcNEQPPM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPPM) - ((vx1PPM*vx1PPM - vx2PPM*vx2PPM))); - kxxMzzFromfcNEQPPM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPPM) - ((vx1PPM*vx1PPM - vx3PPM*vx3PPM))); - kyyMzzFromfcNEQPPM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPPM) - ((vx2PPM*vx2PPM - vx3PPM*vx3PPM))); - - ////////////////////////////////////////////////////////////////////////// - //3 - ////////////////////////////////////////////////////////////////////////// - a0 = c1o8*(((vx1PPM + vx1MMP) + (vx1MPM + vx1PMP)) + ((vx1PMM + vx1MPP) + (vx1MMM + vx1PPP))); - ax = c1o4*(((vx1PPM - vx1MMP) + (vx1PPP - vx1MMM)) + ((vx1PMP - vx1MPM) + (vx1PMM - vx1MPP))); - ay = c1o4*(((vx1PPM - vx1MMP) + (vx1PPP - vx1MMM)) + ((vx1MPM - vx1PMP) + (vx1MPP - vx1PMM))); - az = c1o4*(((vx1MMP - vx1PPM) + (vx1PPP - vx1MMM)) + ((vx1PMP - vx1MPM) + (vx1MPP - vx1PMM))); - axy = c1o2*(((vx1PPM - vx1PMP) + (vx1MMM - vx1MPP)) + ((vx1MMP - vx1MPM) + (vx1PPP - vx1PMM))); - axz = c1o2*(((vx1PMP - vx1PPM) + (vx1MMM - vx1MPP)) + ((vx1MPM - vx1MMP) + (vx1PPP - vx1PMM))); - ayz = c1o2*(((vx1PPP - vx1MPM) + (vx1PMM - vx1MMP)) + ((vx1MPP - vx1PPM) + (vx1MMM - vx1PMP))); - //axyz= ((vx1MMP - vx1PPM) + (vx1PPP - vx1MMM)) + ((vx1MPM - vx1PMP) + (vx1PMM - vx1MPP)) ; - b0 = c1o8*(((vx2PPM + vx2MMP) + (vx2MPM + vx2PMP)) + ((vx2PMM + vx2MPP) + (vx2MMM + vx2PPP))); - bx = c1o4*(((vx2PPM - vx2MMP) + (vx2PPP - vx2MMM)) + ((vx2PMP - vx2MPM) + (vx2PMM - vx2MPP))); - by = c1o4*(((vx2PPM - vx2MMP) + (vx2PPP - vx2MMM)) + ((vx2MPM - vx2PMP) + (vx2MPP - vx2PMM))); - bz = c1o4*(((vx2MMP - vx2PPM) + (vx2PPP - vx2MMM)) + ((vx2PMP - vx2MPM) + (vx2MPP - vx2PMM))); - bxy = c1o2*(((vx2PPM - vx2MPP) + (vx2MMM - vx2PMP)) + ((vx2MMP - vx2PMM) + (vx2PPP - vx2MPM))); - bxz = c1o2*(((vx2MMM - vx2PPM) + (vx2PMP - vx2MPP)) + ((vx2MPM - vx2PMM) + (vx2PPP - vx2MMP))); - byz = c1o2*(((vx2MPP - vx2PPM) + (vx2MMM - vx2PMP)) + ((vx2PMM - vx2MMP) + (vx2PPP - vx2MPM))); - //bxyz= ((vx2MMP - vx2PPM) + (vx2PPP - vx2MMM)) + ((vx2MPM - vx2PMP) + (vx2PMM - vx2MPP)) ; - c0 = c1o8*(((vx3PPM + vx3MMP) + (vx3MPM + vx3PMP)) + ((vx3PMM + vx3MPP) + (vx3MMM + vx3PPP))); - cx = c1o4*(((vx3PPM - vx3MMP) + (vx3PPP - vx3MMM)) + ((vx3PMP - vx3MPM) + (vx3PMM - vx3MPP))); - cy = c1o4*(((vx3PPM - vx3MMP) + (vx3PPP - vx3MMM)) + ((vx3MPM - vx3PMP) + (vx3MPP - vx3PMM))); - cz = c1o4*(((vx3MMP - vx3PPM) + (vx3PPP - vx3MMM)) + ((vx3PMP - vx3MPM) + (vx3MPP - vx3PMM))); - cxy = c1o2*(((vx3PPM - vx3PMP) + (vx3MMM - vx3MPP)) + ((vx3MMP - vx3MPM) + (vx3PPP - vx3PMM))); - cxz = c1o2*(((vx3MMM - vx3PPM) + (vx3PMP - vx3MPP)) + ((vx3MPM - vx3PMM) + (vx3PPP - vx3MMP))); - cyz = c1o2*(((vx3MMM - vx3PPM) + (vx3MPP - vx3PMP)) + ((vx3PMM - vx3MPM) + (vx3PPP - vx3MMP))); - //cxyz= ((vx3MMP - vx3PPM) + (vx3PPP - vx3MMM)) + ((vx3MPM - vx3PMP) + (vx3PMM - vx3MPP)) ; - - //bxx = zero; - //cxx = zero; - //ayy = zero; - //cyy = zero; - //azz = zero; - //bzz = zero; - //axx = zero; - //byy = zero; - //czz = zero; - - bxx = c1o8*(((kxyFromfcNEQPPP - kxyFromfcNEQMMM) + (kxyFromfcNEQPMM - kxyFromfcNEQMPP)) + ((kxyFromfcNEQPMP - kxyFromfcNEQMPM) + (kxyFromfcNEQPPM - kxyFromfcNEQMMP))) - c1o2*axy; - cxx = c1o8*(((kxzFromfcNEQPPP - kxzFromfcNEQMMM) + (kxzFromfcNEQPMM - kxzFromfcNEQMPP)) + ((kxzFromfcNEQPMP - kxzFromfcNEQMPM) + (kxzFromfcNEQPPM - kxzFromfcNEQMMP))) - c1o2*axz; - - ayy = c1o8*(((kxyFromfcNEQPPP - kxyFromfcNEQMMM) + (kxyFromfcNEQPPM - kxyFromfcNEQMMP)) - ((kxyFromfcNEQPMM - kxyFromfcNEQMPP) + (kxyFromfcNEQPMP - kxyFromfcNEQMPM))) - c1o2*bxy; - cyy = c1o8*(((kyzFromfcNEQPPP - kyzFromfcNEQMMM) + (kyzFromfcNEQPPM - kyzFromfcNEQMMP)) - ((kyzFromfcNEQPMM - kyzFromfcNEQMPP) + (kyzFromfcNEQPMP - kyzFromfcNEQMPM))) - c1o2*byz; - - azz = c1o8*(((kxzFromfcNEQPPP - kxzFromfcNEQMMM) - (kxzFromfcNEQPMM - kxzFromfcNEQMPP)) + ((kxzFromfcNEQPMP - kxzFromfcNEQMPM) - (kxzFromfcNEQPPM - kxzFromfcNEQMMP))) - c1o2*cxz; - bzz = c1o8*(((kyzFromfcNEQPPP - kyzFromfcNEQMMM) - (kyzFromfcNEQPMM - kyzFromfcNEQMPP)) + ((kyzFromfcNEQPMP - kyzFromfcNEQMPM) - (kyzFromfcNEQPPM - kyzFromfcNEQMMP))) - c1o2*cyz; - - axx = ( c1o16*(((kxxMyyFromfcNEQPPP - kxxMyyFromfcNEQMMM) + (kxxMyyFromfcNEQPMM - kxxMyyFromfcNEQMPP)) + ((kxxMyyFromfcNEQPMP - kxxMyyFromfcNEQMPM) + (kxxMyyFromfcNEQPPM - kxxMyyFromfcNEQMMP))) - c1o4*bxy) - + ( c1o16*(((kxxMzzFromfcNEQPPP - kxxMzzFromfcNEQMMM) + (kxxMzzFromfcNEQPMM - kxxMzzFromfcNEQMPP)) + ((kxxMzzFromfcNEQPMP - kxxMzzFromfcNEQMPM) + (kxxMzzFromfcNEQPPM - kxxMzzFromfcNEQMMP))) - c1o4*cxz); - - byy = (-c1o16*(((kxxMyyFromfcNEQPPP - kxxMyyFromfcNEQMMM) - (kxxMyyFromfcNEQPMM - kxxMyyFromfcNEQMPP)) + ((kxxMyyFromfcNEQPPM - kxxMyyFromfcNEQMMP) - (kxxMyyFromfcNEQPMP - kxxMyyFromfcNEQMPM))) - c1o4*axy) - + ( c1o16*(((kyyMzzFromfcNEQPPP - kyyMzzFromfcNEQMMM) - (kyyMzzFromfcNEQPMM - kyyMzzFromfcNEQMPP)) + ((kyyMzzFromfcNEQPPM - kyyMzzFromfcNEQMMP) - (kyyMzzFromfcNEQPMP - kyyMzzFromfcNEQMPM))) - c1o4*cyz); - - czz = (-c1o16*(((kxxMzzFromfcNEQPPP - kxxMzzFromfcNEQMMM) - (kxxMzzFromfcNEQPMM - kxxMzzFromfcNEQMPP)) - ((kxxMzzFromfcNEQPPM - kxxMzzFromfcNEQMMP) - (kxxMzzFromfcNEQPMP - kxxMzzFromfcNEQMPM))) - c1o4*axz) - + ( c1o16*(((kyyMzzFromfcNEQPPP - kyyMzzFromfcNEQMMM) - (kyyMzzFromfcNEQPMM - kyyMzzFromfcNEQMPP)) - ((kyyMzzFromfcNEQPPM - kyyMzzFromfcNEQMMP) - (kyyMzzFromfcNEQPMP - kyyMzzFromfcNEQMPM))) - c1o4*byz); - - a0 -= c1o4*(axx + ayy + azz); - b0 -= c1o4*(bxx + byy + bzz); - c0 -= c1o4*(cxx + cyy + czz); - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real kxyAverage = c0; - real kyzAverage = c0; - real kxzAverage = c0; - real kxxMyyAverage = c0; - real kxxMzzAverage = c0; - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - ////Press - //d0 = ( pressPPM + pressPPP + pressMPM + pressMPP + pressPMM + pressPMP + pressMMM + pressMMP) * c1o8; - //dx = ( pressPPM + pressPPP - pressMPM - pressMPP + pressPMM + pressPMP - pressMMM - pressMMP) * c1o4; - //dy = ( pressPPM + pressPPP + pressMPM + pressMPP - pressPMM - pressPMP - pressMMM - pressMMP) * c1o4; - //dz = (-pressPPM + pressPPP - pressMPM + pressMPP - pressPMM + pressPMP - pressMMM + pressMMP) * c1o4; - //dxy = ( pressPPM + pressPPP - pressMPM - pressMPP - pressPMM - pressPMP + pressMMM + pressMMP) * c1o2; - //dxz = (-pressPPM + pressPPP + pressMPM - pressMPP - pressPMM + pressPMP + pressMMM - pressMMP) * c1o2; - //dyz = (-pressPPM + pressPPP - pressMPM + pressMPP + pressPMM - pressPMP + pressMMM - pressMMP) * c1o2; - //dxyz = -pressPPM + pressPPP + pressMPM - pressMPP + pressPMM - pressPMP - pressMMM + pressMMP; - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho - d0 = ( ((drhoPPM + drhoMMP) + (drhoMPM + drhoPMP)) + ((drhoPMM + drhoMPP) + (drhoMMM + drhoPPP))) * c1o8; - dx = ( ((drhoPPM - drhoMMP) + (drhoPMM - drhoMPP)) + ((drhoPMP - drhoMPM) + (drhoPPP - drhoMMM))) * c1o4; - dy = ( ((drhoPPM - drhoMMP) + (drhoMPP - drhoPMM)) + ((drhoMPM - drhoPMP) + (drhoPPP - drhoMMM))) * c1o4; - dz = ( ((drhoMMP - drhoPPM) + (drhoPPP - drhoMMM)) + ((drhoPMP - drhoMPM) + (drhoMPP - drhoPMM))) * c1o4; - dxy = ( ((drhoPPM - drhoPMP) + (drhoPPP - drhoPMM)) + ((drhoMMP - drhoMPM) + (drhoMMM - drhoMPP))) * c1o2; - dxz = ( ((drhoMMM - drhoPPM) + (drhoPPP - drhoMMP)) + ((drhoMPM - drhoPMM) + (drhoPMP - drhoMPP))) * c1o2; - dyz = ( ((drhoMPP - drhoPPM) + (drhoPPP - drhoMPM)) + ((drhoPMM - drhoMMP) + (drhoMMM - drhoPMP))) * c1o2; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - // Bernd das Brot - // - // - // x------x - // | | - // | ---+--->X - // | | \ - // x------x \ - // off-vector - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - a0 = a0 + xoff * ax + yoff * ay + zoff * az + xoff_sq * axx + yoff_sq * ayy + zoff_sq * azz + xoff*yoff*axy + xoff*zoff*axz + yoff*zoff*ayz; - ax = ax + c2o1 * xoff * axx + yoff * axy + zoff * axz; - ay = ay + c2o1 * yoff * ayy + xoff * axy + zoff * ayz; - az = az + c2o1 * zoff * azz + xoff * axz + yoff * ayz; - b0 = b0 + xoff * bx + yoff * by + zoff * bz + xoff_sq * bxx + yoff_sq * byy + zoff_sq * bzz + xoff*yoff*bxy + xoff*zoff*bxz + yoff*zoff*byz; - bx = bx + c2o1 * xoff * bxx + yoff * bxy + zoff * bxz; - by = by + c2o1 * yoff * byy + xoff * bxy + zoff * byz; - bz = bz + c2o1 * zoff * bzz + xoff * bxz + yoff * byz; - c0 = c0 + xoff * cx + yoff * cy + zoff * cz + xoff_sq * cxx + yoff_sq * cyy + zoff_sq * czz + xoff*yoff*cxy + xoff*zoff*cxz + yoff*zoff*cyz; - cx = cx + c2o1 * xoff * cxx + yoff * cxy + zoff * cxz; - cy = cy + c2o1 * yoff * cyy + xoff * cxy + zoff * cyz; - cz = cz + c2o1 * zoff * czz + xoff * cxz + yoff * cyz; - d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = c0; - real mfabb = c0; - real mfbcb = c0; - real mfbab = c0; - real mfbbc = c0; - real mfbba = c0; - real mfccb = c0; - real mfaab = c0; - real mfcab = c0; - real mfacb = c0; - real mfcbc = c0; - real mfaba = c0; - real mfcba = c0; - real mfabc = c0; - real mfbcc = c0; - real mfbaa = c0; - real mfbca = c0; - real mfbac = c0; - real mfbbb = c0; - real mfccc = c0; - real mfaac = c0; - real mfcac = c0; - real mfacc = c0; - real mfcca = c0; - real mfaaa = c0; - real mfcaa = c0; - real mfaca = c0; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mgcbb = c0; - real mgabb = c0; - real mgbcb = c0; - real mgbab = c0; - real mgbbc = c0; - real mgbba = c0; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real m0, m1, m2, oMdrho; - real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz; - //real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein - //real O3 = c2o1 - o; - //real residu, residutmp; - //residutmp = c0;///*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new; - real NeqOn = c1o1;//zero;//one; //.... one = on ..... zero = off - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position C 0., 0., 0. - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //x = 0.; - //y = 0.; - //z = 0.; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //real mxoff = -xoff; - //real myoff = -yoff; - //real mzoff = -zoff; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //press = pressPPP * (c1o8 - c1o4 * mxoff - c1o4 * myoff - c1o4 * mzoff) + - // pressMPP * (c1o8 + c1o4 * mxoff - c1o4 * myoff - c1o4 * mzoff) + - // pressPMP * (c1o8 - c1o4 * mxoff + c1o4 * myoff - c1o4 * mzoff) + - // pressMMP * (c1o8 + c1o4 * mxoff + c1o4 * myoff - c1o4 * mzoff) + - // pressPPM * (c1o8 - c1o4 * mxoff - c1o4 * myoff + c1o4 * mzoff) + - // pressMPM * (c1o8 + c1o4 * mxoff - c1o4 * myoff + c1o4 * mzoff) + - // pressPMM * (c1o8 - c1o4 * mxoff + c1o4 * myoff + c1o4 * mzoff) + - // pressMMM * (c1o8 + c1o4 * mxoff + c1o4 * myoff + c1o4 * mzoff); - //drho = drhoPPP * (c1o8 - c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + - // drhoMPP * (c1o8 + c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + - // drhoPMP * (c1o8 - c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + - // drhoMMP * (c1o8 + c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + - // drhoPPM * (c1o8 - c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + - // drhoMPM * (c1o8 + c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + - // drhoPMM * (c1o8 - c1o4 * xoff + c1o4 * yoff + c1o4 * zoff) + - // drhoMMM * (c1o8 + c1o4 * xoff + c1o4 * yoff + c1o4 * zoff); - press = d0; - vvx = a0; - vvy = b0; - vvz = c0; - - //mfaaa = drho; - //mfaaa = press + (ax+by+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //two - // linear combinations - real oP = o;// :( - mxxPyyPzz = mfaaa -c2o3*(ax+by+cz)*eps_new/oP*(c1o1+press); - //mxxMyy = -c2o3*(ax - by)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy)*eps_new/o; - //mfbab = -c1o3 * (az + cx)*eps_new/o; - //mfbba = -c1o3 * (ay + bx)*eps_new/o; - mxxMyy = -c2o3*((ax - by)+kxxMyyAverage)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*((ax - cz)+kxxMzzAverage)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * ((bz + cy)+kyzAverage)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * ((az + cx)+kxzAverage)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * ((ay + bx)+kxyAverage)*eps_new/o * (c1o1 + press); - - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //3. - // linear combinations - //residu = residutmp * (ayz + bxz + cxy ); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz ); - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz )); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz ); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz ); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy ); - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy )); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy ); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy ); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz ); - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz ); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz ); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz ); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0; - - //////////////////////////////////////////////////////////////////////////////////// - // D3Q27F - mgcbb = (vvx * axx + ax * ax) * (eps_new * eps_new) * (c1o1 + press); - mgabb = -(vvx * axx + ax * ax) * (eps_new * eps_new) * (c1o1 + press); - mgbcb = (vvy * byy + by * by) * (eps_new * eps_new) * (c1o1 + press); - mgbab = -(vvy * byy + by * by) * (eps_new * eps_new) * (c1o1 + press); - mgbbc = (vvz * czz + cz * cz) * (eps_new * eps_new) * (c1o1 + press); - mgbba = -(vvz * czz + cz * cz) * (eps_new * eps_new) * (c1o1 + press); - //mgcbb = zero; - //mgabb = zero; - //mgbcb = zero; - //mgbab = zero; - //mgbbc = zero; - //mgbba = zero; - //////////////////////////////////////////////////////////////////////////////////// - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4. - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - //index 0 - k000 = posC[k]; - kM00 = neighborCX[k000]; - k0M0 = neighborCY[k000]; - k00M = neighborCZ[k000]; - kMM0 = neighborCY[kM00]; - kM0M = neighborCZ[kM00]; - k0MM = neighborCZ[k0M0]; - kMMM = neighborCZ[kMM0]; - //////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - (G.g[dP00])[k000] = mgcbb; - (G.g[dM00])[kM00] = mgabb; - (G.g[d0P0])[k000] = mgbcb; - (G.g[d0M0])[k0M0] = mgbab; - (G.g[d00P])[k000] = mgbbc; - (G.g[d00M])[k00M] = mgbba; - //////////////////////////////////////////////////////////////////////////////////// - fP00dest[k000] = mfcbb; - fM00dest[kM00] = mfabb; - f0P0dest[k000] = mfbcb; - f0M0dest[k0M0] = mfbab; - f00Pdest[k000] = mfbbc; - f00Mdest[k00M] = mfbba; - fPP0dest[k000] = mfccb; - fMM0dest[kMM0] = mfaab; - fPM0dest[k0M0] = mfcab; - fMP0dest[kM00] = mfacb; - fP0Pdest[k000] = mfcbc; - fM0Mdest[kM0M] = mfaba; - fP0Mdest[k00M] = mfcba; - fM0Pdest[kM00] = mfabc; - f0PPdest[k000] = mfbcc; - f0MMdest[k0MM] = mfbaa; - f0PMdest[k00M] = mfbca; - f0MPdest[k0M0] = mfbac; - f000dest[k000] = mfbbb; - fMMMdest[kMMM] = mfaaa; - fMMPdest[kMM0] = mfaac; - fMPPdest[kM00] = mfacc; - fMPMdest[kM0M] = mfaca; - fPPMdest[k00M] = mfcca; - fPPPdest[k000] = mfccc; - fPMPdest[k0M0] = mfcac; - fPMMdest[k0MM] = mfcaa; - //////////////////////////////////////////////////////////////////////////////////// - } -} -////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -////////////////////////////////////////////////////////////////////////// -__global__ void scaleFC_comp_D3Q27F3( real* DC, - real* DF, - real* G6, - unsigned int* neighborCX, - unsigned int* neighborCY, - unsigned int* neighborCZ, - unsigned int* neighborFX, - unsigned int* neighborFY, - unsigned int* neighborFZ, - unsigned long long numberOfLBnodesCoarse, - unsigned long long numberOfLBnodesFine, - bool isEvenTimestep, - unsigned int* posC, - unsigned int* posFSWB, - unsigned int kFC, - real omCoarse, - real omFine, - real nu, - unsigned int nxC, - unsigned int nyC, - unsigned int nxF, - unsigned int nyF, - ICellNeigh offFC) -{ - real - *fP00source, *fM00source, *f0P0source, *f0M0source, *f00Psource, *f00Msource, *fPP0source, *fMM0source, *fPM0source, - *fMP0source, *fP0Psource, *fM0Msource, *fP0Msource, *fM0Psource, *f0PPsource, *f0MMsource, *f0PMsource, *f0MPsource, - *f000source, *fMMMsource, *fMMPsource, *fMPPsource, *fMPMsource, *fPPMsource, *fPPPsource, *fPMPsource, *fPMMsource; - - - fP00source = &DF[dP00 * numberOfLBnodesFine]; - fM00source = &DF[dM00 * numberOfLBnodesFine]; - f0P0source = &DF[d0P0 * numberOfLBnodesFine]; - f0M0source = &DF[d0M0 * numberOfLBnodesFine]; - f00Psource = &DF[d00P * numberOfLBnodesFine]; - f00Msource = &DF[d00M * numberOfLBnodesFine]; - fPP0source = &DF[dPP0 * numberOfLBnodesFine]; - fMM0source = &DF[dMM0 * numberOfLBnodesFine]; - fPM0source = &DF[dPM0 * numberOfLBnodesFine]; - fMP0source = &DF[dMP0 * numberOfLBnodesFine]; - fP0Psource = &DF[dP0P * numberOfLBnodesFine]; - fM0Msource = &DF[dM0M * numberOfLBnodesFine]; - fP0Msource = &DF[dP0M * numberOfLBnodesFine]; - fM0Psource = &DF[dM0P * numberOfLBnodesFine]; - f0PPsource = &DF[d0PP * numberOfLBnodesFine]; - f0MMsource = &DF[d0MM * numberOfLBnodesFine]; - f0PMsource = &DF[d0PM * numberOfLBnodesFine]; - f0MPsource = &DF[d0MP * numberOfLBnodesFine]; - f000source = &DF[d000 * numberOfLBnodesFine]; - fMMMsource = &DF[dMMM * numberOfLBnodesFine]; - fMMPsource = &DF[dMMP * numberOfLBnodesFine]; - fMPPsource = &DF[dMPP * numberOfLBnodesFine]; - fMPMsource = &DF[dMPM * numberOfLBnodesFine]; - fPPMsource = &DF[dPPM * numberOfLBnodesFine]; - fPPPsource = &DF[dPPP * numberOfLBnodesFine]; - fPMPsource = &DF[dPMP * numberOfLBnodesFine]; - fPMMsource = &DF[dPMM * numberOfLBnodesFine]; - - real - *fP00dest, *fM00dest, *f0P0dest, *f0M0dest, *f00Pdest, *f00Mdest, *fPP0dest, *fMM0dest, *fPM0dest, - *fMP0dest, *fP0Pdest, *fM0Mdest, *fP0Mdest, *fM0Pdest, *f0PPdest, *f0MMdest, *f0PMdest, *f0MPdest, - *f000dest, *fMMMdest, *fMMPdest, *fMPPdest, *fMPMdest, *fPPMdest, *fPPPdest, *fPMPdest, *fPMMdest; - - if (isEvenTimestep==true) - { - fP00dest = &DC[dP00 * numberOfLBnodesCoarse]; - fM00dest = &DC[dM00 * numberOfLBnodesCoarse]; - f0P0dest = &DC[d0P0 * numberOfLBnodesCoarse]; - f0M0dest = &DC[d0M0 * numberOfLBnodesCoarse]; - f00Pdest = &DC[d00P * numberOfLBnodesCoarse]; - f00Mdest = &DC[d00M * numberOfLBnodesCoarse]; - fPP0dest = &DC[dPP0 * numberOfLBnodesCoarse]; - fMM0dest = &DC[dMM0 * numberOfLBnodesCoarse]; - fPM0dest = &DC[dPM0 * numberOfLBnodesCoarse]; - fMP0dest = &DC[dMP0 * numberOfLBnodesCoarse]; - fP0Pdest = &DC[dP0P * numberOfLBnodesCoarse]; - fM0Mdest = &DC[dM0M * numberOfLBnodesCoarse]; - fP0Mdest = &DC[dP0M * numberOfLBnodesCoarse]; - fM0Pdest = &DC[dM0P * numberOfLBnodesCoarse]; - f0PPdest = &DC[d0PP * numberOfLBnodesCoarse]; - f0MMdest = &DC[d0MM * numberOfLBnodesCoarse]; - f0PMdest = &DC[d0PM * numberOfLBnodesCoarse]; - f0MPdest = &DC[d0MP * numberOfLBnodesCoarse]; - f000dest = &DC[d000 * numberOfLBnodesCoarse]; - fMMMdest = &DC[dMMM * numberOfLBnodesCoarse]; - fMMPdest = &DC[dMMP * numberOfLBnodesCoarse]; - fMPPdest = &DC[dMPP * numberOfLBnodesCoarse]; - fMPMdest = &DC[dMPM * numberOfLBnodesCoarse]; - fPPMdest = &DC[dPPM * numberOfLBnodesCoarse]; - fPPPdest = &DC[dPPP * numberOfLBnodesCoarse]; - fPMPdest = &DC[dPMP * numberOfLBnodesCoarse]; - fPMMdest = &DC[dPMM * numberOfLBnodesCoarse]; - } - else - { - fP00dest = &DC[dM00 * numberOfLBnodesCoarse]; - fM00dest = &DC[dP00 * numberOfLBnodesCoarse]; - f0P0dest = &DC[d0M0 * numberOfLBnodesCoarse]; - f0M0dest = &DC[d0P0 * numberOfLBnodesCoarse]; - f00Pdest = &DC[d00M * numberOfLBnodesCoarse]; - f00Mdest = &DC[d00P * numberOfLBnodesCoarse]; - fPP0dest = &DC[dMM0 * numberOfLBnodesCoarse]; - fMM0dest = &DC[dPP0 * numberOfLBnodesCoarse]; - fPM0dest = &DC[dMP0 * numberOfLBnodesCoarse]; - fMP0dest = &DC[dPM0 * numberOfLBnodesCoarse]; - fP0Pdest = &DC[dM0M * numberOfLBnodesCoarse]; - fM0Mdest = &DC[dP0P * numberOfLBnodesCoarse]; - fP0Mdest = &DC[dM0P * numberOfLBnodesCoarse]; - fM0Pdest = &DC[dP0M * numberOfLBnodesCoarse]; - f0PPdest = &DC[d0MM * numberOfLBnodesCoarse]; - f0MMdest = &DC[d0PP * numberOfLBnodesCoarse]; - f0PMdest = &DC[d0MP * numberOfLBnodesCoarse]; - f0MPdest = &DC[d0PM * numberOfLBnodesCoarse]; - f000dest = &DC[d000 * numberOfLBnodesCoarse]; - fMMMdest = &DC[dPPP * numberOfLBnodesCoarse]; - fMMPdest = &DC[dPPM * numberOfLBnodesCoarse]; - fMPPdest = &DC[dPMM * numberOfLBnodesCoarse]; - fMPMdest = &DC[dPMP * numberOfLBnodesCoarse]; - fPPMdest = &DC[dMMP * numberOfLBnodesCoarse]; - fPPPdest = &DC[dMMM * numberOfLBnodesCoarse]; - fPMPdest = &DC[dMPM * numberOfLBnodesCoarse]; - fPMMdest = &DC[dMPP * numberOfLBnodesCoarse]; - } - - Distributions6 G; - if (isEvenTimestep == true) - { - G.g[dP00] = &G6[dP00 * numberOfLBnodesCoarse]; - G.g[dM00] = &G6[dM00 * numberOfLBnodesCoarse]; - G.g[d0P0] = &G6[d0P0 * numberOfLBnodesCoarse]; - G.g[d0M0] = &G6[d0M0 * numberOfLBnodesCoarse]; - G.g[d00P] = &G6[d00P * numberOfLBnodesCoarse]; - G.g[d00M] = &G6[d00M * numberOfLBnodesCoarse]; - } - else - { - G.g[dM00] = &G6[dP00 * numberOfLBnodesCoarse]; - G.g[dP00] = &G6[dM00 * numberOfLBnodesCoarse]; - G.g[d0M0] = &G6[d0P0 * numberOfLBnodesCoarse]; - G.g[d0P0] = &G6[d0M0 * numberOfLBnodesCoarse]; - G.g[d00M] = &G6[d00P * numberOfLBnodesCoarse]; - G.g[d00P] = &G6[d00M * numberOfLBnodesCoarse]; - } - - //////////////////////////////////////////////////////////////////////////////// - const unsigned ix = threadIdx.x; // Globaler x-Index - const unsigned iy = blockIdx.x; // Globaler y-Index - const unsigned iz = blockIdx.y; // Globaler z-Index - - const unsigned nx = blockDim.x; - const unsigned ny = gridDim.x; - - const unsigned k = nx*(ny*iz + iy) + ix; - ////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////// - real eps_new = c2o1; - real omegaS = omFine;//-omFine; - real o = omCoarse;//-omCoarse; - //real op = one; - //real cu_sq; - - real xoff, yoff, zoff; - real xoff_sq, yoff_sq, zoff_sq; - - // real drho; - real vvx, vvy, vvz, vx2, vy2, vz2; - real press;//,drho,vx1,vx2,vx3; - real /*pressMMM,*/drhoMMM,vx1MMM,vx2MMM,vx3MMM; - real /*pressMMP,*/drhoMMP,vx1MMP,vx2MMP,vx3MMP; - real /*pressMPP,*/drhoMPP,vx1MPP,vx2MPP,vx3MPP; - real /*pressMPM,*/drhoMPM,vx1MPM,vx2MPM,vx3MPM; - real /*pressPPM,*/drhoPPM,vx1PPM,vx2PPM,vx3PPM; - real /*pressPPP,*/drhoPPP,vx1PPP,vx2PPP,vx3PPP; - real /*pressPMP,*/drhoPMP,vx1PMP,vx2PMP,vx3PMP; - real /*pressPMM,*/drhoPMM,vx1PMM,vx2PMM,vx3PMM; - real fP00,fM00,f0P0,f0M0,f00P,f00M,fPP0,fMM0,fPM0,fMP0,fP0P,fM0M,fP0M,fM0P,f0PP,f0MM,f0PM,f0MP,f000,fPPP, fMMP, fPMP, fMPP, fPPM, fMMM, fPMM, fMPM; - real kxyFromfcNEQMMM, kyzFromfcNEQMMM, kxzFromfcNEQMMM, kxxMyyFromfcNEQMMM, kxxMzzFromfcNEQMMM, kyyMzzFromfcNEQMMM; - real kxyFromfcNEQMMP, kyzFromfcNEQMMP, kxzFromfcNEQMMP, kxxMyyFromfcNEQMMP, kxxMzzFromfcNEQMMP, kyyMzzFromfcNEQMMP; - real kxyFromfcNEQMPP, kyzFromfcNEQMPP, kxzFromfcNEQMPP, kxxMyyFromfcNEQMPP, kxxMzzFromfcNEQMPP, kyyMzzFromfcNEQMPP; - real kxyFromfcNEQMPM, kyzFromfcNEQMPM, kxzFromfcNEQMPM, kxxMyyFromfcNEQMPM, kxxMzzFromfcNEQMPM, kyyMzzFromfcNEQMPM; - real kxyFromfcNEQPPM, kyzFromfcNEQPPM, kxzFromfcNEQPPM, kxxMyyFromfcNEQPPM, kxxMzzFromfcNEQPPM, kyyMzzFromfcNEQPPM; - real kxyFromfcNEQPPP, kyzFromfcNEQPPP, kxzFromfcNEQPPP, kxxMyyFromfcNEQPPP, kxxMzzFromfcNEQPPP, kyyMzzFromfcNEQPPP; - real kxyFromfcNEQPMP, kyzFromfcNEQPMP, kxzFromfcNEQPMP, kxxMyyFromfcNEQPMP, kxxMzzFromfcNEQPMP, kyyMzzFromfcNEQPMP; - real kxyFromfcNEQPMM, kyzFromfcNEQPMM, kxzFromfcNEQPMM, kxxMyyFromfcNEQPMM, kxxMzzFromfcNEQPMM, kyyMzzFromfcNEQPMM; - real a0, ax, ay, az, axx, ayy, azz, axy, axz, ayz, b0, bx, by, bz, bxx, byy, bzz, bxy, bxz, byz, c0, cx, cy, cz, cxx, cyy, czz, cxy, cxz, cyz/*, axyz, bxyz, cxyz*/; - real d0, dx, dy, dz, dxy, dxz, dyz/*, dxyz*/; - - if(k<kFC) - { - ////////////////////////////////////////////////////////////////////////// - xoff = offFC.x[k]; - yoff = offFC.y[k]; - zoff = offFC.z[k]; - xoff_sq = xoff * xoff; - yoff_sq = yoff * yoff; - zoff_sq = zoff * zoff; - ////////////////////////////////////////////////////////////////////////// - //SWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - unsigned int k000base = posFSWB[k]; - unsigned int kM00base = neighborFX[k000base]; - unsigned int k0M0base = neighborFY[k000base]; - unsigned int k00Mbase = neighborFZ[k000base]; - unsigned int kMM0base = neighborFY[kM00base]; - unsigned int kM0Mbase = neighborFZ[kM00base]; - unsigned int k0MMbase = neighborFZ[k0M0base]; - unsigned int kMMMbase = neighborFZ[kMM0base]; - ////////////////////////////////////////////////////////////////////////// - //index - unsigned int k000 = k000base; - unsigned int kM00 = kM00base; - unsigned int k0M0 = k0M0base; - unsigned int k00M = k00Mbase; - unsigned int kMM0 = kMM0base; - unsigned int kM0M = kM0Mbase; - unsigned int k0MM = k0MMbase; - unsigned int kMMM = kMMMbase; - //////////////////////////////////////////////////////////////////////////////// - fP00 = fP00source[k000]; - fM00 = fM00source[kM00]; - f0P0 = f0P0source[k000]; - f0M0 = f0M0source[k0M0]; - f00P = f00Psource[k000]; - f00M = f00Msource[k00M]; - fPP0 = fPP0source[k000]; - fMM0 = fMM0source[kMM0]; - fPM0 = fPM0source[k0M0]; - fMP0 = fMP0source[kM00]; - fP0P = fP0Psource[k000]; - fM0M = fM0Msource[kM0M]; - fP0M = fP0Msource[k00M]; - fM0P = fM0Psource[kM00]; - f0PP = f0PPsource[k000]; - f0MM = f0MMsource[k0MM]; - f0PM = f0PMsource[k00M]; - f0MP = f0MPsource[k0M0]; - f000 = f000source[k000]; - fMMM = fMMMsource[kMMM]; - fMMP = fMMPsource[kMM0]; - fMPP = fMPPsource[kM00]; - fMPM = fMPMsource[kM0M]; - fPPM = fPPMsource[k00M]; - fPPP = fPPPsource[k000]; - fPMP = fPMPsource[k0M0]; - fPMM = fPMMsource[k0MM]; - - drhoMMM = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM; - vx1MMM = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoMMM); - vx2MMM = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMMM); - vx3MMM = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMMM); - - kxyFromfcNEQMMM = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMM) - ((vx1MMM*vx2MMM))); - kyzFromfcNEQMMM = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMMM) - ((vx2MMM*vx3MMM))); - kxzFromfcNEQMMM = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMM) - ((vx1MMM*vx3MMM))); - kxxMyyFromfcNEQMMM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMMM) - ((vx1MMM*vx1MMM - vx2MMM*vx2MMM))); - kxxMzzFromfcNEQMMM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMMM) - ((vx1MMM*vx1MMM - vx3MMM*vx3MMM))); - kyyMzzFromfcNEQMMM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMMM) - ((vx2MMM*vx2MMM - vx3MMM*vx3MMM))); - - ////////////////////////////////////////////////////////////////////////// - //SWT// - ////////////////////////////////////////////////////////////////////////// - //index - k000 = k00M; - kM00 = kM0M; - k0M0 = k0MM; - k00M = neighborFZ[k00M]; - kMM0 = kMMM; - kM0M = neighborFZ[kM0M]; - k0MM = neighborFZ[k0MM]; - kMMM = neighborFZ[kMMM]; - //////////////////////////////////////////////////////////////////////////////// - fP00 = fP00source[k000]; - fM00 = fM00source[kM00]; - f0P0 = f0P0source[k000]; - f0M0 = f0M0source[k0M0]; - f00P = f00Psource[k000]; - f00M = f00Msource[k00M]; - fPP0 = fPP0source[k000]; - fMM0 = fMM0source[kMM0]; - fPM0 = fPM0source[k0M0]; - fMP0 = fMP0source[kM00]; - fP0P = fP0Psource[k000]; - fM0M = fM0Msource[kM0M]; - fP0M = fP0Msource[k00M]; - fM0P = fM0Psource[kM00]; - f0PP = f0PPsource[k000]; - f0MM = f0MMsource[k0MM]; - f0PM = f0PMsource[k00M]; - f0MP = f0MPsource[k0M0]; - f000 = f000source[k000]; - fMMM = fMMMsource[kMMM]; - fMMP = fMMPsource[kMM0]; - fMPP = fMPPsource[kM00]; - fMPM = fMPMsource[kM0M]; - fPPM = fPPMsource[k00M]; - fPPP = fPPPsource[k000]; - fPMP = fPMPsource[k0M0]; - fPMM = fPMMsource[k0MM]; - - drhoMMP = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM; - vx1MMP = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoMMP); - vx2MMP = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMMP); - vx3MMP = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMMP); - - kxyFromfcNEQMMP = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMP) - ((vx1MMP*vx2MMP))); - kyzFromfcNEQMMP = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMMP) - ((vx2MMP*vx3MMP))); - kxzFromfcNEQMMP = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMP) - ((vx1MMP*vx3MMP))); - kxxMyyFromfcNEQMMP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMMP) - ((vx1MMP*vx1MMP - vx2MMP*vx2MMP))); - kxxMzzFromfcNEQMMP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMMP) - ((vx1MMP*vx1MMP - vx3MMP*vx3MMP))); - kyyMzzFromfcNEQMMP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMMP) - ((vx2MMP*vx2MMP - vx3MMP*vx3MMP))); - - ////////////////////////////////////////////////////////////////////////// - //SET// - ////////////////////////////////////////////////////////////////////////// - //index - k000 = kM00; - kM00 = neighborFX[kM00]; - k0M0 = kMM0; - k00M = kM0M; - kMM0 = neighborFX[kMM0]; - kM0M = neighborFX[kM0M]; - k0MM = kMMM; - kMMM = neighborFX[kMMM]; - //////////////////////////////////////////////////////////////////////////////// - fP00 = fP00source[k000]; - fM00 = fM00source[kM00]; - f0P0 = f0P0source[k000]; - f0M0 = f0M0source[k0M0]; - f00P = f00Psource[k000]; - f00M = f00Msource[k00M]; - fPP0 = fPP0source[k000]; - fMM0 = fMM0source[kMM0]; - fPM0 = fPM0source[k0M0]; - fMP0 = fMP0source[kM00]; - fP0P = fP0Psource[k000]; - fM0M = fM0Msource[kM0M]; - fP0M = fP0Msource[k00M]; - fM0P = fM0Psource[kM00]; - f0PP = f0PPsource[k000]; - f0MM = f0MMsource[k0MM]; - f0PM = f0PMsource[k00M]; - f0MP = f0MPsource[k0M0]; - f000 = f000source[k000]; - fMMM = fMMMsource[kMMM]; - fMMP = fMMPsource[kMM0]; - fMPP = fMPPsource[kM00]; - fMPM = fMPMsource[kM0M]; - fPPM = fPPMsource[k00M]; - fPPP = fPPPsource[k000]; - fPMP = fPMPsource[k0M0]; - fPMM = fPMMsource[k0MM]; - - drhoPMP = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM; - vx1PMP = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoPMP); - vx2PMP = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPMP); - vx3PMP = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPMP); - - kxyFromfcNEQPMP = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMP) - ((vx1PMP*vx2PMP))); - kyzFromfcNEQPMP = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPMP) - ((vx2PMP*vx3PMP))); - kxzFromfcNEQPMP = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMP) - ((vx1PMP*vx3PMP))); - kxxMyyFromfcNEQPMP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPMP) - ((vx1PMP*vx1PMP - vx2PMP*vx2PMP))); - kxxMzzFromfcNEQPMP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPMP) - ((vx1PMP*vx1PMP - vx3PMP*vx3PMP))); - kyyMzzFromfcNEQPMP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPMP) - ((vx2PMP*vx2PMP - vx3PMP*vx3PMP))); - - ////////////////////////////////////////////////////////////////////////// - //SEB// - ////////////////////////////////////////////////////////////////////////// - //index - k00M = k000; - kM0M = kM00; - k0MM = k0M0; - kMMM = kMM0; - k000 = kM00base; - kM00 = neighborFX[kM00base]; - k0M0 = kMM0base; - kMM0 = neighborFX[kMM0base]; - //////////////////////////////////////////////////////////////////////////////// - fP00 = fP00source[k000]; - fM00 = fM00source[kM00]; - f0P0 = f0P0source[k000]; - f0M0 = f0M0source[k0M0]; - f00P = f00Psource[k000]; - f00M = f00Msource[k00M]; - fPP0 = fPP0source[k000]; - fMM0 = fMM0source[kMM0]; - fPM0 = fPM0source[k0M0]; - fMP0 = fMP0source[kM00]; - fP0P = fP0Psource[k000]; - fM0M = fM0Msource[kM0M]; - fP0M = fP0Msource[k00M]; - fM0P = fM0Psource[kM00]; - f0PP = f0PPsource[k000]; - f0MM = f0MMsource[k0MM]; - f0PM = f0PMsource[k00M]; - f0MP = f0MPsource[k0M0]; - f000 = f000source[k000]; - fMMM = fMMMsource[kMMM]; - fMMP = fMMPsource[kMM0]; - fMPP = fMPPsource[kM00]; - fMPM = fMPMsource[kM0M]; - fPPM = fPPMsource[k00M]; - fPPP = fPPPsource[k000]; - fPMP = fPMPsource[k0M0]; - fPMM = fPMMsource[k0MM]; - - drhoPMM = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM; - vx1PMM = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoPMM); - vx2PMM = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPMM); - vx3PMM = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPMM); - - kxyFromfcNEQPMM = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMM) - ((vx1PMM*vx2PMM))); - kyzFromfcNEQPMM = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPMM) - ((vx2PMM*vx3PMM))); - kxzFromfcNEQPMM = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMM) - ((vx1PMM*vx3PMM))); - kxxMyyFromfcNEQPMM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPMM) - ((vx1PMM*vx1PMM - vx2PMM*vx2PMM))); - kxxMzzFromfcNEQPMM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPMM) - ((vx1PMM*vx1PMM - vx3PMM*vx3PMM))); - kyyMzzFromfcNEQPMM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPMM) - ((vx2PMM*vx2PMM - vx3PMM*vx3PMM))); - - ////////////////////////////////////////////////////////////////////////// - //NWB// - ////////////////////////////////////////////////////////////////////////// - //index 0 - k000base = k0M0base; - kM00base = kMM0base; - k0M0base = neighborFY[k0M0base]; - k00Mbase = k0MMbase; - kMM0base = neighborFY[kMM0base]; - kM0Mbase = kMMMbase; - k0MMbase = neighborFY[k0MMbase]; - kMMMbase = neighborFY[kMMMbase]; - ////////////////////////////////////////////////////////////////////////// - //index - k000 = k000base; - kM00 = kM00base; - k0M0 = k0M0base; - k00M = k00Mbase; - kMM0 = kMM0base; - kM0M = kM0Mbase; - k0MM = k0MMbase; - kMMM = kMMMbase; - //////////////////////////////////////////////////////////////////////////////// - fP00 = fP00source[k000]; - fM00 = fM00source[kM00]; - f0P0 = f0P0source[k000]; - f0M0 = f0M0source[k0M0]; - f00P = f00Psource[k000]; - f00M = f00Msource[k00M]; - fPP0 = fPP0source[k000]; - fMM0 = fMM0source[kMM0]; - fPM0 = fPM0source[k0M0]; - fMP0 = fMP0source[kM00]; - fP0P = fP0Psource[k000]; - fM0M = fM0Msource[kM0M]; - fP0M = fP0Msource[k00M]; - fM0P = fM0Psource[kM00]; - f0PP = f0PPsource[k000]; - f0MM = f0MMsource[k0MM]; - f0PM = f0PMsource[k00M]; - f0MP = f0MPsource[k0M0]; - f000 = f000source[k000]; - fMMM = fMMMsource[kMMM]; - fMMP = fMMPsource[kMM0]; - fMPP = fMPPsource[kM00]; - fMPM = fMPMsource[kM0M]; - fPPM = fPPMsource[k00M]; - fPPP = fPPPsource[k000]; - fPMP = fPMPsource[k0M0]; - fPMM = fPMMsource[k0MM]; - - drhoMPM = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM; - vx1MPM = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoMPM); - vx2MPM = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMPM); - vx3MPM = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMPM); - - kxyFromfcNEQMPM = -c3o1*omegaS* ((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPM) - ((vx1MPM*vx2MPM))); - kyzFromfcNEQMPM = -c3o1*omegaS* ((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMPM) - ((vx2MPM*vx3MPM))); - kxzFromfcNEQMPM = -c3o1*omegaS* ((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPM) - ((vx1MPM*vx3MPM))); - kxxMyyFromfcNEQMPM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMPM) - ((vx1MPM*vx1MPM - vx2MPM*vx2MPM))); - kxxMzzFromfcNEQMPM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMPM) - ((vx1MPM*vx1MPM - vx3MPM*vx3MPM))); - kyyMzzFromfcNEQMPM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMPM) - ((vx2MPM*vx2MPM - vx3MPM*vx3MPM))); - - ////////////////////////////////////////////////////////////////////////// - //NWT// - ////////////////////////////////////////////////////////////////////////// - //index - k000 = k00M; - kM00 = kM0M; - k0M0 = k0MM; - k00M = neighborFZ[k00M]; - kMM0 = kMMM; - kM0M = neighborFZ[kM0M]; - k0MM = neighborFZ[k0MM]; - kMMM = neighborFZ[kMMM]; - //////////////////////////////////////////////////////////////////////////////// - fP00 = fP00source[k000]; - fM00 = fM00source[kM00]; - f0P0 = f0P0source[k000]; - f0M0 = f0M0source[k0M0]; - f00P = f00Psource[k000]; - f00M = f00Msource[k00M]; - fPP0 = fPP0source[k000]; - fMM0 = fMM0source[kMM0]; - fPM0 = fPM0source[k0M0]; - fMP0 = fMP0source[kM00]; - fP0P = fP0Psource[k000]; - fM0M = fM0Msource[kM0M]; - fP0M = fP0Msource[k00M]; - fM0P = fM0Psource[kM00]; - f0PP = f0PPsource[k000]; - f0MM = f0MMsource[k0MM]; - f0PM = f0PMsource[k00M]; - f0MP = f0MPsource[k0M0]; - f000 = f000source[k000]; - fMMM = fMMMsource[kMMM]; - fMMP = fMMPsource[kMM0]; - fMPP = fMPPsource[kM00]; - fMPM = fMPMsource[kM0M]; - fPPM = fPPMsource[k00M]; - fPPP = fPPPsource[k000]; - fPMP = fPMPsource[k0M0]; - fPMM = fPMMsource[k0MM]; - - drhoMPP = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM; - vx1MPP = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoMPP); - vx2MPP = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMPP); - vx3MPP = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMPP); - - kxyFromfcNEQMPP = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPP) - ((vx1MPP*vx2MPP))); - kyzFromfcNEQMPP = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMPP) - ((vx2MPP*vx3MPP))); - kxzFromfcNEQMPP = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPP) - ((vx1MPP*vx3MPP))); - kxxMyyFromfcNEQMPP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMPP) - ((vx1MPP*vx1MPP - vx2MPP*vx2MPP))); - kxxMzzFromfcNEQMPP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMPP) - ((vx1MPP*vx1MPP - vx3MPP*vx3MPP))); - kyyMzzFromfcNEQMPP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMPP) - ((vx2MPP*vx2MPP - vx3MPP*vx3MPP))); - - ////////////////////////////////////////////////////////////////////////// - //NET// - ////////////////////////////////////////////////////////////////////////// - //index - k000 = kM00; - kM00 = neighborFX[kM00]; - k0M0 = kMM0; - k00M = kM0M; - kMM0 = neighborFX[kMM0]; - kM0M = neighborFX[kM0M]; - k0MM = kMMM; - kMMM = neighborFX[kMMM]; - //////////////////////////////////////////////////////////////////////////////// - fP00 = fP00source[k000]; - fM00 = fM00source[kM00]; - f0P0 = f0P0source[k000]; - f0M0 = f0M0source[k0M0]; - f00P = f00Psource[k000]; - f00M = f00Msource[k00M]; - fPP0 = fPP0source[k000]; - fMM0 = fMM0source[kMM0]; - fPM0 = fPM0source[k0M0]; - fMP0 = fMP0source[kM00]; - fP0P = fP0Psource[k000]; - fM0M = fM0Msource[kM0M]; - fP0M = fP0Msource[k00M]; - fM0P = fM0Psource[kM00]; - f0PP = f0PPsource[k000]; - f0MM = f0MMsource[k0MM]; - f0PM = f0PMsource[k00M]; - f0MP = f0MPsource[k0M0]; - f000 = f000source[k000]; - fMMM = fMMMsource[kMMM]; - fMMP = fMMPsource[kMM0]; - fMPP = fMPPsource[kM00]; - fMPM = fMPMsource[kM0M]; - fPPM = fPPMsource[k00M]; - fPPP = fPPPsource[k000]; - fPMP = fPMPsource[k0M0]; - fPMM = fPMMsource[k0MM]; - - drhoPPP = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM; - vx1PPP = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoPPP); - vx2PPP = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPPP); - vx3PPP = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPPP); - - kxyFromfcNEQPPP = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPP) - ((vx1PPP*vx2PPP))); - kyzFromfcNEQPPP = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPPP) - ((vx2PPP*vx3PPP))); - kxzFromfcNEQPPP = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPP) - ((vx1PPP*vx3PPP))); - kxxMyyFromfcNEQPPP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPPP) - ((vx1PPP*vx1PPP - vx2PPP*vx2PPP))); - kxxMzzFromfcNEQPPP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPPP) - ((vx1PPP*vx1PPP - vx3PPP*vx3PPP))); - kyyMzzFromfcNEQPPP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPPP) - ((vx2PPP*vx2PPP - vx3PPP*vx3PPP))); - - ////////////////////////////////////////////////////////////////////////// - //NEB// - ////////////////////////////////////////////////////////////////////////// - //index - k00M = k000; - kM0M = kM00; - k0MM = k0M0; - kMMM = kMM0; - k000 = kM00base; - kM00 = neighborFX[kM00base]; - k0M0 = kMM0base; - kMM0 = neighborFX[kMM0base]; - //////////////////////////////////////////////////////////////////////////////// - fP00 = fP00source[k000]; - fM00 = fM00source[kM00]; - f0P0 = f0P0source[k000]; - f0M0 = f0M0source[k0M0]; - f00P = f00Psource[k000]; - f00M = f00Msource[k00M]; - fPP0 = fPP0source[k000]; - fMM0 = fMM0source[kMM0]; - fPM0 = fPM0source[k0M0]; - fMP0 = fMP0source[kM00]; - fP0P = fP0Psource[k000]; - fM0M = fM0Msource[kM0M]; - fP0M = fP0Msource[k00M]; - fM0P = fM0Psource[kM00]; - f0PP = f0PPsource[k000]; - f0MM = f0MMsource[k0MM]; - f0PM = f0PMsource[k00M]; - f0MP = f0MPsource[k0M0]; - f000 = f000source[k000]; - fMMM = fMMMsource[kMMM]; - fMMP = fMMPsource[kMM0]; - fMPP = fMPPsource[kM00]; - fMPM = fMPMsource[kM0M]; - fPPM = fPPMsource[k00M]; - fPPP = fPPPsource[k000]; - fPMP = fPMPsource[k0M0]; - fPMM = fPMMsource[k0MM]; - - drhoPPM = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM; - vx1PPM = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoPPM); - vx2PPM = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPPM); - vx3PPM = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPPM); - - kxyFromfcNEQPPM = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPM) - ((vx1PPM*vx2PPM))); - kyzFromfcNEQPPM = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPPM) - ((vx2PPM*vx3PPM))); - kxzFromfcNEQPPM = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPM) - ((vx1PPM*vx3PPM))); - kxxMyyFromfcNEQPPM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPPM) - ((vx1PPM*vx1PPM - vx2PPM*vx2PPM))); - kxxMzzFromfcNEQPPM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPPM) - ((vx1PPM*vx1PPM - vx3PPM*vx3PPM))); - kyyMzzFromfcNEQPPM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPPM) - ((vx2PPM*vx2PPM - vx3PPM*vx3PPM))); - - ////////////////////////////////////////////////////////////////////////// - //3 - ////////////////////////////////////////////////////////////////////////// - a0 = c1o8*(((vx1PPM + vx1MMP) + (vx1MPM + vx1PMP)) + ((vx1PMM + vx1MPP) + (vx1MMM + vx1PPP))); - ax = c1o4*(((vx1PPM - vx1MMP) + (vx1PPP - vx1MMM)) + ((vx1PMP - vx1MPM) + (vx1PMM - vx1MPP))); - ay = c1o4*(((vx1PPM - vx1MMP) + (vx1PPP - vx1MMM)) + ((vx1MPM - vx1PMP) + (vx1MPP - vx1PMM))); - az = c1o4*(((vx1MMP - vx1PPM) + (vx1PPP - vx1MMM)) + ((vx1PMP - vx1MPM) + (vx1MPP - vx1PMM))); - axy = c1o2*(((vx1PPM - vx1PMP) + (vx1MMM - vx1MPP)) + ((vx1MMP - vx1MPM) + (vx1PPP - vx1PMM))); - axz = c1o2*(((vx1PMP - vx1PPM) + (vx1MMM - vx1MPP)) + ((vx1MPM - vx1MMP) + (vx1PPP - vx1PMM))); - ayz = c1o2*(((vx1PPP - vx1MPM) + (vx1PMM - vx1MMP)) + ((vx1MPP - vx1PPM) + (vx1MMM - vx1PMP))); - //axyz= ((vx1MMP - vx1PPM) + (vx1PPP - vx1MMM)) + ((vx1MPM - vx1PMP) + (vx1PMM - vx1MPP)) ; - b0 = c1o8*(((vx2PPM + vx2MMP) + (vx2MPM + vx2PMP)) + ((vx2PMM + vx2MPP) + (vx2MMM + vx2PPP))); - bx = c1o4*(((vx2PPM - vx2MMP) + (vx2PPP - vx2MMM)) + ((vx2PMP - vx2MPM) + (vx2PMM - vx2MPP))); - by = c1o4*(((vx2PPM - vx2MMP) + (vx2PPP - vx2MMM)) + ((vx2MPM - vx2PMP) + (vx2MPP - vx2PMM))); - bz = c1o4*(((vx2MMP - vx2PPM) + (vx2PPP - vx2MMM)) + ((vx2PMP - vx2MPM) + (vx2MPP - vx2PMM))); - bxy = c1o2*(((vx2PPM - vx2MPP) + (vx2MMM - vx2PMP)) + ((vx2MMP - vx2PMM) + (vx2PPP - vx2MPM))); - bxz = c1o2*(((vx2MMM - vx2PPM) + (vx2PMP - vx2MPP)) + ((vx2MPM - vx2PMM) + (vx2PPP - vx2MMP))); - byz = c1o2*(((vx2MPP - vx2PPM) + (vx2MMM - vx2PMP)) + ((vx2PMM - vx2MMP) + (vx2PPP - vx2MPM))); - //bxyz= ((vx2MMP - vx2PPM) + (vx2PPP - vx2MMM)) + ((vx2MPM - vx2PMP) + (vx2PMM - vx2MPP)) ; - c0 = c1o8*(((vx3PPM + vx3MMP) + (vx3MPM + vx3PMP)) + ((vx3PMM + vx3MPP) + (vx3MMM + vx3PPP))); - cx = c1o4*(((vx3PPM - vx3MMP) + (vx3PPP - vx3MMM)) + ((vx3PMP - vx3MPM) + (vx3PMM - vx3MPP))); - cy = c1o4*(((vx3PPM - vx3MMP) + (vx3PPP - vx3MMM)) + ((vx3MPM - vx3PMP) + (vx3MPP - vx3PMM))); - cz = c1o4*(((vx3MMP - vx3PPM) + (vx3PPP - vx3MMM)) + ((vx3PMP - vx3MPM) + (vx3MPP - vx3PMM))); - cxy = c1o2*(((vx3PPM - vx3PMP) + (vx3MMM - vx3MPP)) + ((vx3MMP - vx3MPM) + (vx3PPP - vx3PMM))); - cxz = c1o2*(((vx3MMM - vx3PPM) + (vx3PMP - vx3MPP)) + ((vx3MPM - vx3PMM) + (vx3PPP - vx3MMP))); - cyz = c1o2*(((vx3MMM - vx3PPM) + (vx3MPP - vx3PMP)) + ((vx3PMM - vx3MPM) + (vx3PPP - vx3MMP))); - //cxyz= ((vx3MMP - vx3PPM) + (vx3PPP - vx3MMM)) + ((vx3MPM - vx3PMP) + (vx3PMM - vx3MPP)) ; - - //bxx = zero; - //cxx = zero; - //ayy = zero; - //cyy = zero; - //azz = zero; - //bzz = zero; - //axx = zero; - //byy = zero; - //czz = zero; - - bxx = c1o8*(((kxyFromfcNEQPPP - kxyFromfcNEQMMM) + (kxyFromfcNEQPMM - kxyFromfcNEQMPP)) + ((kxyFromfcNEQPMP - kxyFromfcNEQMPM) + (kxyFromfcNEQPPM - kxyFromfcNEQMMP))) - c1o2*axy; - cxx = c1o8*(((kxzFromfcNEQPPP - kxzFromfcNEQMMM) + (kxzFromfcNEQPMM - kxzFromfcNEQMPP)) + ((kxzFromfcNEQPMP - kxzFromfcNEQMPM) + (kxzFromfcNEQPPM - kxzFromfcNEQMMP))) - c1o2*axz; - - ayy = c1o8*(((kxyFromfcNEQPPP - kxyFromfcNEQMMM) + (kxyFromfcNEQPPM - kxyFromfcNEQMMP)) - ((kxyFromfcNEQPMM - kxyFromfcNEQMPP) + (kxyFromfcNEQPMP - kxyFromfcNEQMPM))) - c1o2*bxy; - cyy = c1o8*(((kyzFromfcNEQPPP - kyzFromfcNEQMMM) + (kyzFromfcNEQPPM - kyzFromfcNEQMMP)) - ((kyzFromfcNEQPMM - kyzFromfcNEQMPP) + (kyzFromfcNEQPMP - kyzFromfcNEQMPM))) - c1o2*byz; - - azz = c1o8*(((kxzFromfcNEQPPP - kxzFromfcNEQMMM) - (kxzFromfcNEQPMM - kxzFromfcNEQMPP)) + ((kxzFromfcNEQPMP - kxzFromfcNEQMPM) - (kxzFromfcNEQPPM - kxzFromfcNEQMMP))) - c1o2*cxz; - bzz = c1o8*(((kyzFromfcNEQPPP - kyzFromfcNEQMMM) - (kyzFromfcNEQPMM - kyzFromfcNEQMPP)) + ((kyzFromfcNEQPMP - kyzFromfcNEQMPM) - (kyzFromfcNEQPPM - kyzFromfcNEQMMP))) - c1o2*cyz; - - axx = ( c1o16*(((kxxMyyFromfcNEQPPP - kxxMyyFromfcNEQMMM) + (kxxMyyFromfcNEQPMM - kxxMyyFromfcNEQMPP)) + ((kxxMyyFromfcNEQPMP - kxxMyyFromfcNEQMPM) + (kxxMyyFromfcNEQPPM - kxxMyyFromfcNEQMMP))) - c1o4*bxy) - + ( c1o16*(((kxxMzzFromfcNEQPPP - kxxMzzFromfcNEQMMM) + (kxxMzzFromfcNEQPMM - kxxMzzFromfcNEQMPP)) + ((kxxMzzFromfcNEQPMP - kxxMzzFromfcNEQMPM) + (kxxMzzFromfcNEQPPM - kxxMzzFromfcNEQMMP))) - c1o4*cxz); - - byy = (-c1o16*(((kxxMyyFromfcNEQPPP - kxxMyyFromfcNEQMMM) - (kxxMyyFromfcNEQPMM - kxxMyyFromfcNEQMPP)) + ((kxxMyyFromfcNEQPPM - kxxMyyFromfcNEQMMP) - (kxxMyyFromfcNEQPMP - kxxMyyFromfcNEQMPM))) - c1o4*axy) - + ( c1o16*(((kyyMzzFromfcNEQPPP - kyyMzzFromfcNEQMMM) - (kyyMzzFromfcNEQPMM - kyyMzzFromfcNEQMPP)) + ((kyyMzzFromfcNEQPPM - kyyMzzFromfcNEQMMP) - (kyyMzzFromfcNEQPMP - kyyMzzFromfcNEQMPM))) - c1o4*cyz); - - czz = (-c1o16*(((kxxMzzFromfcNEQPPP - kxxMzzFromfcNEQMMM) - (kxxMzzFromfcNEQPMM - kxxMzzFromfcNEQMPP)) - ((kxxMzzFromfcNEQPPM - kxxMzzFromfcNEQMMP) - (kxxMzzFromfcNEQPMP - kxxMzzFromfcNEQMPM))) - c1o4*axz) - + ( c1o16*(((kyyMzzFromfcNEQPPP - kyyMzzFromfcNEQMMM) - (kyyMzzFromfcNEQPMM - kyyMzzFromfcNEQMPP)) - ((kyyMzzFromfcNEQPPM - kyyMzzFromfcNEQMMP) - (kyyMzzFromfcNEQPMP - kyyMzzFromfcNEQMPM))) - c1o4*byz); - - a0 -= c1o4*(axx + ayy + azz); - b0 -= c1o4*(bxx + byy + bzz); - c0 -= c1o4*(cxx + cyy + czz); - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real kxyAverage = c0; - real kyzAverage = c0; - real kxzAverage = c0; - real kxxMyyAverage = c0; - real kxxMzzAverage = c0; - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - ////Press - //d0 = ( pressPPM + pressPPP + pressMPM + pressMPP + pressPMM + pressPMP + pressMMM + pressMMP) * c1o8; - //dx = ( pressPPM + pressPPP - pressMPM - pressMPP + pressPMM + pressPMP - pressMMM - pressMMP) * c1o4; - //dy = ( pressPPM + pressPPP + pressMPM + pressMPP - pressPMM - pressPMP - pressMMM - pressMMP) * c1o4; - //dz = (-pressPPM + pressPPP - pressMPM + pressMPP - pressPMM + pressPMP - pressMMM + pressMMP) * c1o4; - //dxy = ( pressPPM + pressPPP - pressMPM - pressMPP - pressPMM - pressPMP + pressMMM + pressMMP) * c1o2; - //dxz = (-pressPPM + pressPPP + pressMPM - pressMPP - pressPMM + pressPMP + pressMMM - pressMMP) * c1o2; - //dyz = (-pressPPM + pressPPP - pressMPM + pressMPP + pressPMM - pressPMP + pressMMM - pressMMP) * c1o2; - //dxyz = -pressPPM + pressPPP + pressMPM - pressMPP + pressPMM - pressPMP - pressMMM + pressMMP; - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //drho - d0 = ( ((drhoPPM + drhoMMP) + (drhoMPM + drhoPMP)) + ((drhoPMM + drhoMPP) + (drhoMMM + drhoPPP))) * c1o8; - dx = ( ((drhoPPM - drhoMMP) + (drhoPMM - drhoMPP)) + ((drhoPMP - drhoMPM) + (drhoPPP - drhoMMM))) * c1o4; - dy = ( ((drhoPPM - drhoMMP) + (drhoMPP - drhoPMM)) + ((drhoMPM - drhoPMP) + (drhoPPP - drhoMMM))) * c1o4; - dz = ( ((drhoMMP - drhoPPM) + (drhoPPP - drhoMMM)) + ((drhoPMP - drhoMPM) + (drhoMPP - drhoPMM))) * c1o4; - dxy = ( ((drhoPPM - drhoPMP) + (drhoPPP - drhoPMM)) + ((drhoMMP - drhoMPM) + (drhoMMM - drhoMPP))) * c1o2; - dxz = ( ((drhoMMM - drhoPPM) + (drhoPPP - drhoMMP)) + ((drhoMPM - drhoPMM) + (drhoPMP - drhoMPP))) * c1o2; - dyz = ( ((drhoMPP - drhoPPM) + (drhoPPP - drhoMPM)) + ((drhoPMM - drhoMMP) + (drhoMMM - drhoPMP))) * c1o2; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - // Bernd das Brot - // - // - // x------x - // | | - // | ---+--->X - // | | \ - // x------x \ - // off-vector - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - a0 = a0 + xoff * ax + yoff * ay + zoff * az + xoff_sq * axx + yoff_sq * ayy + zoff_sq * azz + xoff*yoff*axy + xoff*zoff*axz + yoff*zoff*ayz; - ax = ax + c2o1 * xoff * axx + yoff * axy + zoff * axz; - ay = ay + c2o1 * yoff * ayy + xoff * axy + zoff * ayz; - az = az + c2o1 * zoff * azz + xoff * axz + yoff * ayz; - b0 = b0 + xoff * bx + yoff * by + zoff * bz + xoff_sq * bxx + yoff_sq * byy + zoff_sq * bzz + xoff*yoff*bxy + xoff*zoff*bxz + yoff*zoff*byz; - bx = bx + c2o1 * xoff * bxx + yoff * bxy + zoff * bxz; - by = by + c2o1 * yoff * byy + xoff * bxy + zoff * byz; - bz = bz + c2o1 * zoff * bzz + xoff * bxz + yoff * byz; - c0 = c0 + xoff * cx + yoff * cy + zoff * cz + xoff_sq * cxx + yoff_sq * cyy + zoff_sq * czz + xoff*yoff*cxy + xoff*zoff*cxz + yoff*zoff*cyz; - cx = cx + c2o1 * xoff * cxx + yoff * cxy + zoff * cxz; - cy = cy + c2o1 * yoff * cyy + xoff * cxy + zoff * cyz; - cz = cz + c2o1 * zoff * czz + xoff * cxz + yoff * cyz; - d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = c0; - real mfabb = c0; - real mfbcb = c0; - real mfbab = c0; - real mfbbc = c0; - real mfbba = c0; - real mfccb = c0; - real mfaab = c0; - real mfcab = c0; - real mfacb = c0; - real mfcbc = c0; - real mfaba = c0; - real mfcba = c0; - real mfabc = c0; - real mfbcc = c0; - real mfbaa = c0; - real mfbca = c0; - real mfbac = c0; - real mfbbb = c0; - real mfccc = c0; - real mfaac = c0; - real mfcac = c0; - real mfacc = c0; - real mfcca = c0; - real mfaaa = c0; - real mfcaa = c0; - real mfaca = c0; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mgcbb = c0; - real mgabb = c0; - real mgbcb = c0; - real mgbab = c0; - real mgbbc = c0; - real mgbba = c0; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real m0, m1, m2, oMdrho; - real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz; - //real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein - //real O3 = c2o1 - o; - //real residu, residutmp; - //residutmp = c0;///*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new; - real NeqOn = c1o1;//zero;//one; //.... one = on ..... zero = off - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - //Position C 0., 0., 0. - // - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //x = 0.; - //y = 0.; - //z = 0.; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //real mxoff = -xoff; - //real myoff = -yoff; - //real mzoff = -zoff; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //press = pressPPP * (c1o8 - c1o4 * mxoff - c1o4 * myoff - c1o4 * mzoff) + - // pressMPP * (c1o8 + c1o4 * mxoff - c1o4 * myoff - c1o4 * mzoff) + - // pressPMP * (c1o8 - c1o4 * mxoff + c1o4 * myoff - c1o4 * mzoff) + - // pressMMP * (c1o8 + c1o4 * mxoff + c1o4 * myoff - c1o4 * mzoff) + - // pressPPM * (c1o8 - c1o4 * mxoff - c1o4 * myoff + c1o4 * mzoff) + - // pressMPM * (c1o8 + c1o4 * mxoff - c1o4 * myoff + c1o4 * mzoff) + - // pressPMM * (c1o8 - c1o4 * mxoff + c1o4 * myoff + c1o4 * mzoff) + - // pressMMM * (c1o8 + c1o4 * mxoff + c1o4 * myoff + c1o4 * mzoff); - //drho = drhoPPP * (c1o8 - c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + - // drhoMPP * (c1o8 + c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + - // drhoPMP * (c1o8 - c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + - // drhoMMP * (c1o8 + c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + - // drhoPPM * (c1o8 - c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + - // drhoMPM * (c1o8 + c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + - // drhoPMM * (c1o8 - c1o4 * xoff + c1o4 * yoff + c1o4 * zoff) + - // drhoMMM * (c1o8 + c1o4 * xoff + c1o4 * yoff + c1o4 * zoff); - press = d0; - vvx = a0; - vvy = b0; - vvz = c0; - - //mfaaa = drho; - //mfaaa = press + (ax+by+cz)/three; // 1/3 = 2/3*(1/op-1/2) - mfaaa = press; // if drho is interpolated directly - - vx2 = vvx*vvx; - vy2 = vvy*vvy; - vz2 = vvz*vvz; - oMdrho = c1o1; - //oMdrho = one - mfaaa; - - //two - // linear combinations - real oP = o;// :( - mxxPyyPzz = mfaaa -c2o3*(ax+by+cz)*eps_new/oP*(c1o1+press); - //mxxMyy = -c2o3*(ax - by)*eps_new/o; - //mxxMzz = -c2o3*(ax - cz)*eps_new/o; - - //mfabb = -c1o3 * (bz + cy)*eps_new/o; - //mfbab = -c1o3 * (az + cx)*eps_new/o; - //mfbba = -c1o3 * (ay + bx)*eps_new/o; - mxxMyy = -c2o3*((ax - by)+kxxMyyAverage)*eps_new/o * (c1o1 + press); - mxxMzz = -c2o3*((ax - cz)+kxxMzzAverage)*eps_new/o * (c1o1 + press); - - mfabb = -c1o3 * ((bz + cy)+kyzAverage)*eps_new/o * (c1o1 + press); - mfbab = -c1o3 * ((az + cx)+kxzAverage)*eps_new/o * (c1o1 + press); - mfbba = -c1o3 * ((ay + bx)+kxyAverage)*eps_new/o * (c1o1 + press); - - - // linear combinations back - mfcaa = c1o3 * ( mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * NeqOn; - mfaac = c1o3 * ( mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn; - - //3. - // linear combinations - //residu = residutmp * (ayz + bxz + cxy ); - //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mfbbb = c0; - - //residu = residutmp * (axy + two*bxx + two*bzz + cyz ); - //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz )); - //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyPyzz = c0; - - //residu = residutmp * (axy + two*bxx - two*bzz - cyz ); - //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz ); - //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxyMyzz = c0; - - //residu = residutmp * (axz + byz + two*cxx + two*cyy ); - //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy )); - //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzPyyz = c0; - - //residu = residutmp * (axz - byz + two*cxx - two*cyy ); - //residu = c1o9*(axz - byz - 2*cxx + 2*cyy ); - //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxxzMyyz = c0; - - //residu = residutmp * (two*ayy + two*azz + bxy + cxz ); - //residu = c1o9*(2*ayy + 2*azz - bxy - cxz ); - //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyPxzz = c0; - - //residu = residutmp * (two*ayy - two*azz + bxy - cxz ); - //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz ); - //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu)); - mxyyMxzz = c0; - - //////////////////////////////////////////////////////////////////////////////////// - // D3Q27F - mgcbb = (ax - c4o1 * axx) * eps_new; - mgabb = (ax + c4o1 * axx) * eps_new; - mgbcb = (by - c4o1 * byy) * eps_new; - mgbab = (by + c4o1 * byy) * eps_new; - mgbbc = (cz - c4o1 * czz) * eps_new; - mgbba = (cz + c4o1 * czz) * eps_new; - //////////////////////////////////////////////////////////////////////////////////// - - // linear combinations back - mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2; - mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; - mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2; - mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; - mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2; - mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; - - //4. - mfacc = mfaaa*c1o9; - mfcac = mfacc; - mfcca = mfacc; - //5. - - //6. - mfccc = mfaaa*c1o27; - //////////////////////////////////////////////////////////////////////////////////// - //back - //////////////////////////////////////////////////////////////////////////////////// - //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaaa = m0; - mfaab = m1; - mfaac = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * ( vz2 - vvz) * c1o2; - m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - vz2); - m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * ( vz2 + vvz) * c1o2; - mfaba = m0; - mfabb = m1; - mfabc = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfaca = m0; - mfacb = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * ( vz2 - vvz) * c1o2; - m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - vz2); - m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * ( vz2 + vvz) * c1o2; - mfbaa = m0; - mfbab = m1; - mfbac = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * ( vz2 - vvz) * c1o2; - m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - vz2); - m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * ( vz2 + vvz) * c1o2; - mfbba = m0; - mfbbb = m1; - mfbbc = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * ( vz2 - vvz) * c1o2; - m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); - m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * ( vz2 + vvz) * c1o2; - mfbca = m0; - mfbcb = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - vz2) - c1o3 * oMdrho * vz2; - m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcaa = m0; - mfcab = m1; - mfcac = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * ( vz2 - vvz) * c1o2; - m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - vz2); - m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * ( vz2 + vvz) * c1o2; - mfcba = m0; - mfcbb = m1; - mfcbc = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 - vvz) * c1o2; - m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; - m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * ( vz2 + vvz) * c1o2; - mfcca = m0; - mfccb = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // Y - Dir - m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaaa = m0; - mfaba = m1; - mfaca = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - vy2) - c2o3 * oMdrho * vy2; - m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaab = m0; - mfabb = m1; - mfacb = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; - m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * ( vy2 + vvy) * c1o2; - mfaac = m0; - mfabc = m1; - mfacc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * ( vy2 - vvy) * c1o2; - m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - vy2); - m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * ( vy2 + vvy) * c1o2; - mfbaa = m0; - mfbba = m1; - mfbca = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * ( vy2 - vvy) * c1o2; - m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - vy2); - m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * ( vy2 + vvy) * c1o2; - mfbab = m0; - mfbbb = m1; - mfbcb = m2; - /////////b////////////////////////////////////////////////////////////////////////// - m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * ( vy2 - vvy) * c1o2; - m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); - m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * ( vy2 + vvy) * c1o2; - mfbac = m0; - mfbbc = m1; - mfbcc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcaa = m0; - mfcba = m1; - mfcca = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - vy2) - c2o9 * oMdrho * vy2; - m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcab = m0; - mfcbb = m1; - mfccb = m2; - /////////c////////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 - vvy) * c1o2; - m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; - m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * ( vy2 + vvy) * c1o2; - mfcac = m0; - mfcbc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren - //////////////////////////////////////////////////////////////////////////////////// - // X - Dir - m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaaa = m0; - mfbaa = m1; - mfcaa = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaba = m0; - mfbba = m1; - mfcba = m2; - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaca = m0; - mfbca = m1; - mfcca = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaab = m0; - mfbab = m1; - mfcab = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - vx2) - c4o9 * oMdrho * vx2; - m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabb = m0; - mfbbb = m1; - mfcbb = m2; - ///////////b//////////////////////////////////////////////////////////////////////// - m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacb = m0; - mfbcb = m1; - mfccb = m2; - //////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////// - m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfaac = m0; - mfbac = m1; - mfcac = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - vx2) - c1o9 * oMdrho * vx2; - m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * ( vx2 + vvx) * c1o2; - mfabc = m0; - mfbbc = m1; - mfcbc = m2; - ///////////c//////////////////////////////////////////////////////////////////////// - m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 - vvx) * c1o2; - m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; - m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * ( vx2 + vvx) * c1o2; - mfacc = m0; - mfbcc = m1; - mfccc = m2; - //////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - //index 0 - k000 = posC[k]; - kM00 = neighborCX[k000]; - k0M0 = neighborCY[k000]; - k00M = neighborCZ[k000]; - kMM0 = neighborCY[kM00]; - kM0M = neighborCZ[kM00]; - k0MM = neighborCZ[k0M0]; - kMMM = neighborCZ[kMM0]; - //////////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////////// - (G.g[dP00])[k000] = mgcbb; - (G.g[dM00])[kM00] = mgabb; - (G.g[d0P0])[k000] = mgbcb; - (G.g[d0M0])[k0M0] = mgbab; - (G.g[d00P])[k000] = mgbbc; - (G.g[d00M])[k00M] = mgbba; - //////////////////////////////////////////////////////////////////////////////////// - fP00dest[k000] = mfcbb; - fM00dest[kM00] = mfabb; - f0P0dest[k000] = mfbcb; - f0M0dest[k0M0] = mfbab; - f00Pdest[k000] = mfbbc; - f00Mdest[k00M] = mfbba; - fPP0dest[k000] = mfccb; - fMM0dest[kMM0] = mfaab; - fPM0dest[k0M0] = mfcab; - fMP0dest[kM00] = mfacb; - fP0Pdest[k000] = mfcbc; - fM0Mdest[kM0M] = mfaba; - fP0Mdest[k00M] = mfcba; - fM0Pdest[kM00] = mfabc; - f0PPdest[k000] = mfbcc; - f0MMdest[k0MM] = mfbaa; - f0PMdest[k00M] = mfbca; - f0MPdest[k0M0] = mfbac; - f000dest[k000] = mfbbb; - fMMMdest[kMMM] = mfaaa; - fMMPdest[kMM0] = mfaac; - fMPPdest[kM00] = mfacc; - fMPMdest[kM0M] = mfaca; - fPPMdest[k00M] = mfcca; - fPPPdest[k000] = mfccc; - fPMPdest[k0M0] = mfcac; - fPMMdest[k0MM] = mfcaa; - //////////////////////////////////////////////////////////////////////////////////// - } -} -////////////////////////////////////////////////////////////////////////// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/gpu/core/GridScaling/Scaling.cu b/src/gpu/core/GridScaling/Scaling.cu index 8f14cdbe76ec20fb1f5521c779fcc0e8230efb53..a802226dbccd0a58eb3d215e1e8ada2903bb2990 100644 --- a/src/gpu/core/GridScaling/Scaling.cu +++ b/src/gpu/core/GridScaling/Scaling.cu @@ -31,13 +31,12 @@ #include "Scaling.cuh" #include <helper_cuda.h> - #include <cuda_helper/CudaGrid.h> -#include <lbm/MacroscopicQuantities.h> -#include <lbm/constants/D3Q27.h> +#include "lbm/MacroscopicQuantities.h" +#include "lbm/constants/D3Q27.h" -#include <basics/constants/NumericConstants.h> +#include "basics/constants/NumericConstants.h" #include "Utilities/KernelUtilities.h" #include "Calculation/Calculation.h" @@ -47,837 +46,152 @@ using namespace vf::basics::constant; using namespace vf::lbm::dir; using namespace vf::gpu; -__global__ void scaleCF27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, unsigned int* neighborCZ, - unsigned int* neighborFX, unsigned int* neighborFY, unsigned int* neighborFZ, - unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, bool isEvenTimestep, - unsigned int* posCSWB, unsigned int* posFSWB, unsigned int kCF, real omCoarse, real omFine, - real nu, unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF); - -__global__ void scaleCFEff27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, - unsigned int* neighborFZ, unsigned long long numberOfLBnodesC, - unsigned long long numberOfLBnodesF, bool isEvenTimestep, unsigned int* posCSWB, - unsigned int* posFSWB, unsigned int kCF, real omCoarse, real omFine, real nu, unsigned int nxC, - unsigned int nyC, unsigned int nxF, unsigned int nyF, ICellNeigh neighborCoarseToFine); - -__global__ void scaleCFLast27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, - unsigned int* neighborFZ, unsigned long long numberOfLBnodesC, - unsigned long long numberOfLBnodesF, bool isEvenTimestep, unsigned int* posCSWB, - unsigned int* posFSWB, unsigned int kCF, real omCoarse, real omFine, real nu, unsigned int nxC, - unsigned int nyC, unsigned int nxF, unsigned int nyF, ICellNeigh neighborCoarseToFine); - -__global__ void scaleCFpress27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, - unsigned int* neighborFZ, unsigned long long numberOfLBnodesC, - unsigned long long numberOfLBnodesF, bool isEvenTimestep, unsigned int* posCSWB, - unsigned int* posFSWB, unsigned int kCF, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, - ICellNeigh neighborCoarseToFine); - -__global__ void scaleCF_Fix_27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, - unsigned int* neighborFZ, unsigned long long numberOfLBnodesC, - unsigned long long numberOfLBnodesF, bool isEvenTimestep, unsigned int* posCSWB, - unsigned int* posFSWB, unsigned int kCF, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, - ICellNeigh neighborCoarseToFine); - -__global__ void scaleCF_Fix_comp_27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, - unsigned int* neighborFZ, unsigned long long numberOfLBnodesC, - unsigned long long numberOfLBnodesF, bool isEvenTimestep, unsigned int* posCSWB, - unsigned int* posFSWB, unsigned int kCF, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, - ICellNeigh neighborCoarseToFine); - -__global__ void scaleCF_0817_comp_27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, - unsigned int* neighborFZ, unsigned long long numberOfLBnodesC, - unsigned long long numberOfLBnodesF, bool isEvenTimestep, unsigned int* posCSWB, - unsigned int* posFSWB, unsigned int kCF, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, - ICellNeigh neighborCoarseToFine); - -__global__ void scaleCF_comp_D3Q27F3_2018(real* DC, real* DF, real* G6, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, - unsigned int* neighborFZ, unsigned long long numberOfLBnodesC, - unsigned long long numberOfLBnodesF, bool isEvenTimestep, unsigned int* posCSWB, - unsigned int* posFSWB, unsigned int kCF, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, - ICellNeigh neighborCoarseToFine); - -__global__ void scaleCF_comp_D3Q27F3(real* DC, real* DF, real* G6, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, - unsigned int* neighborFZ, unsigned long long numberOfLBnodesC, - unsigned long long numberOfLBnodesF, bool isEvenTimestep, unsigned int* posCSWB, - unsigned int* posFSWB, unsigned int kCF, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, - ICellNeigh neighborCoarseToFine); - -__global__ void scaleCF_staggered_time_comp_27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, - unsigned int* neighborFZ, unsigned long long numberOfLBnodesC, - unsigned long long numberOfLBnodesF, bool isEvenTimestep, - unsigned int* posCSWB, unsigned int* posFSWB, unsigned int kCF, real omCoarse, - real omFine, real nu, unsigned int nxC, unsigned int nyC, unsigned int nxF, - unsigned int nyF, ICellNeigh neighborCoarseToFine); - -__global__ void scaleCF_RhoSq_comp_27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, - unsigned int* neighborFZ, unsigned long long numberOfLBnodesC, - unsigned long long numberOfLBnodesF, bool isEvenTimestep, unsigned int* posCSWB, - unsigned int* posFSWB, unsigned int kCF, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, - ICellNeigh neighborCoarseToFine); +////////////////////////////////////////////////////////////////////////// +// coarse to fine template <bool hasTurbulentViscosity> -__global__ void scaleCF_compressible(real* distributionsCoarse, real* distributionsFine, unsigned int* neighborXcoarse, - unsigned int* neighborYcoarse, unsigned int* neighborZcoarse, - unsigned int* neighborXfine, unsigned int* neighborYfine, unsigned int* neighborZfine, - unsigned long long numberOfLBnodesCoarse, unsigned long long numberOfLBnodesFine, - bool isEvenTimestep, unsigned int* indicesCoarseMMM, unsigned int* indicesFineMMM, - unsigned int numberOfInterfaceNodes, real omegaCoarse, real omegaFine, - real* turbulentViscosityCoarse, real* turbulentViscosityFine, ICellNeigh offsetCF); +__global__ void scaleCoarseToFineCompressible_Device( + real* distributionsCoarse, + real* distributionsFine, + uint* neighborXcoarse, + uint* neighborYcoarse, + uint* neighborZcoarse, + uint* neighborXfine, + uint* neighborYfine, + uint* neighborZfine, + unsigned long long numberOfLBnodesCoarse, + unsigned long long numberOfLBnodesFine, + bool isEvenTimestep, + uint* indicesCoarseMMM, + uint* indicesFineMMM, + uint numberOfInterfaceNodes, + real omegaCoarse, + real omegaFine, + real* turbulentViscosityCoarse, + real* turbulentViscosityFine, + ICellNeigh offsetCF); -__global__ void scaleCF_RhoSq_3rdMom_comp_27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, - unsigned int* neighborFZ, unsigned long long numberOfLBnodesC, - unsigned long long numberOfLBnodesF, bool isEvenTimestep, unsigned int* posCSWB, - unsigned int* posFSWB, unsigned int kCF, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, - ICellNeigh neighborCoarseToFine); - -__global__ void scaleCF_AA2016_comp_27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, - unsigned int* neighborFZ, unsigned long long numberOfLBnodesC, - unsigned long long numberOfLBnodesF, bool isEvenTimestep, unsigned int* posCSWB, - unsigned int* posFSWB, unsigned int kCF, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, - ICellNeigh neighborCoarseToFine); - -__global__ void scaleCF_NSPress_27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, - unsigned int* neighborFZ, unsigned long long numberOfLBnodesC, - unsigned long long numberOfLBnodesF, bool isEvenTimestep, unsigned int* posCSWB, - unsigned int* posFSWB, unsigned int kCF, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, - ICellNeigh neighborCoarseToFine); - -__global__ void scaleCFThSMG7(real* DC, real* DF, real* DD7C, real* DD7F, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, - unsigned int* neighborFZ, unsigned long long numberOfLBnodesC, - unsigned long long numberOfLBnodesF, bool isEvenTimestep, unsigned int* posCSWB, - unsigned int* posFSWB, unsigned int kCF, real nu, real diffusivity_fine, - ICellNeigh neighborCoarseToFine); - -__global__ void scaleCFThS7(real* DC, real* DF, real* DD7C, real* DD7F, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, - unsigned int* neighborFZ, unsigned long long numberOfLBnodesC, - unsigned long long numberOfLBnodesF, bool isEvenTimestep, unsigned int* posCSWB, - unsigned int* posFSWB, unsigned int kCF, real nu, real diffusivity_fine); - -__global__ void scaleCFThS27(real* DC, real* DF, real* DD27C, real* DD27F, unsigned int* neighborCX, - unsigned int* neighborCY, unsigned int* neighborCZ, unsigned int* neighborFX, - unsigned int* neighborFY, unsigned int* neighborFZ, unsigned long long numberOfLBnodesC, - unsigned long long numberOfLBnodesF, bool isEvenTimestep, unsigned int* posCSWB, - unsigned int* posFSWB, unsigned int kCF, real nu, real diffusivity_fine, - ICellNeigh neighborCoarseToFine); +////////////////////////////////////////////////////////////////////////// // fine to coarse -__global__ void scaleFC27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, unsigned int* neighborCZ, - unsigned int* neighborFX, unsigned int* neighborFY, unsigned int* neighborFZ, - unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, bool isEvenTimestep, - unsigned int* posC, unsigned int* posFSWB, unsigned int kFC, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF); - -__global__ void scaleFCEff27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, - unsigned int* neighborFZ, unsigned long long numberOfLBnodesC, - unsigned long long numberOfLBnodesF, bool isEvenTimestep, unsigned int* posC, - unsigned int* posFSWB, unsigned int kFC, real omCoarse, real omFine, real nu, unsigned int nxC, - unsigned int nyC, unsigned int nxF, unsigned int nyF, ICellNeigh neighborFineToCoarse); - -__global__ void scaleFCLast27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, - unsigned int* neighborFZ, unsigned long long numberOfLBnodesC, - unsigned long long numberOfLBnodesF, bool isEvenTimestep, unsigned int* posC, - unsigned int* posFSWB, unsigned int kFC, real omCoarse, real omFine, real nu, unsigned int nxC, - unsigned int nyC, unsigned int nxF, unsigned int nyF, ICellNeigh neighborFineToCoarse); - -__global__ void scaleFCpress27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, - unsigned int* neighborFZ, unsigned long long numberOfLBnodesC, - unsigned long long numberOfLBnodesF, bool isEvenTimestep, unsigned int* posC, - unsigned int* posFSWB, unsigned int kFC, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, - ICellNeigh neighborFineToCoarse); - -__global__ void scaleFC_Fix_27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, - unsigned int* neighborFZ, unsigned long long numberOfLBnodesC, - unsigned long long numberOfLBnodesF, bool isEvenTimestep, unsigned int* posC, - unsigned int* posFSWB, unsigned int kFC, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, - ICellNeigh neighborFineToCoarse); - -__global__ void scaleFC_Fix_comp_27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, - unsigned int* neighborFZ, unsigned long long numberOfLBnodesC, - unsigned long long numberOfLBnodesF, bool isEvenTimestep, unsigned int* posC, - unsigned int* posFSWB, unsigned int kFC, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, - ICellNeigh neighborFineToCoarse); - -__global__ void scaleFC_0817_comp_27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, - unsigned int* neighborFZ, unsigned long long numberOfLBnodesC, - unsigned long long numberOfLBnodesF, bool isEvenTimestep, unsigned int* posC, - unsigned int* posFSWB, unsigned int kFC, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, - ICellNeigh neighborFineToCoarse); - -__global__ void scaleFC_comp_D3Q27F3_2018(real* DC, real* DF, real* G6, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, - unsigned int* neighborFZ, unsigned long long numberOfLBnodesC, - unsigned long long numberOfLBnodesF, bool isEvenTimestep, unsigned int* posC, - unsigned int* posFSWB, unsigned int kFC, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, - ICellNeigh neighborFineToCoarse); - -__global__ void scaleFC_comp_D3Q27F3(real* DC, real* DF, real* G6, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, - unsigned int* neighborFZ, unsigned long long numberOfLBnodesC, - unsigned long long numberOfLBnodesF, bool isEvenTimestep, unsigned int* posC, - unsigned int* posFSWB, unsigned int kFC, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, - ICellNeigh neighborFineToCoarse); - -__global__ void scaleFC_staggered_time_comp_27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, - unsigned int* neighborFZ, unsigned long long numberOfLBnodesC, - unsigned long long numberOfLBnodesF, bool isEvenTimestep, unsigned int* posC, - unsigned int* posFSWB, unsigned int kFC, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, - ICellNeigh neighborFineToCoarse); - -__global__ void scaleFC_RhoSq_comp_27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, - unsigned int* neighborFZ, unsigned long long numberOfLBnodesC, - unsigned long long numberOfLBnodesF, bool isEvenTimestep, unsigned int* posC, - unsigned int* posFSWB, unsigned int kFC, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, - ICellNeigh neighborFineToCoarse); - template <bool hasTurbulentViscosity> -__global__ void scaleFC_compressible(real* distributionsCoarse, real* distributionsFine, unsigned int* neighborXcoarse, - unsigned int* neighborYcoarse, unsigned int* neighborZcoarse, - unsigned int* neighborXfine, unsigned int* neighborYfine, unsigned int* neighborZfine, - unsigned long long numberOfLBnodesCoarse, unsigned long long numberOfLBnodesFine, - bool isEvenTimestep, unsigned int* indicesCoarse000, unsigned int* indicesFineMMM, - unsigned int numberOfInterfaceNodes, real omegaCoarse, real omegaFine, - real* turbulentViscosityCoarse, real* turbulentViscosityFine, ICellNeigh offsetFC); - -__global__ void scaleFC_RhoSq_3rdMom_comp_27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, - unsigned int* neighborFZ, unsigned long long numberOfLBnodesC, - unsigned long long numberOfLBnodesF, bool isEvenTimestep, unsigned int* posC, - unsigned int* posFSWB, unsigned int kFC, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, - ICellNeigh neighborFineToCoarse); - -__global__ void scaleFC_AA2016_comp_27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, - unsigned int* neighborFZ, unsigned long long numberOfLBnodesC, - unsigned long long numberOfLBnodesF, bool isEvenTimestep, unsigned int* posC, - unsigned int* posFSWB, unsigned int kFC, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, - ICellNeigh neighborFineToCoarse); - -__global__ void scaleFC_NSPress_27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, - unsigned int* neighborFZ, unsigned long long numberOfLBnodesC, - unsigned long long numberOfLBnodesF, bool isEvenTimestep, unsigned int* posC, - unsigned int* posFSWB, unsigned int kFC, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, - ICellNeigh neighborFineToCoarse); - -__global__ void scaleFCThSMG7(real* DC, real* DF, real* DD7C, real* DD7F, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, - unsigned int* neighborFZ, unsigned long long numberOfLBnodesC, - unsigned long long numberOfLBnodesF, bool isEvenTimestep, unsigned int* posC, - unsigned int* posFSWB, unsigned int kFC, real nu, real diffusivity_coarse, - ICellNeigh neighborFineToCoarse); - -__global__ void scaleFCThS7(real* DC, real* DF, real* DD7C, real* DD7F, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, - unsigned int* neighborFZ, unsigned long long numberOfLBnodesC, - unsigned long long numberOfLBnodesF, bool isEvenTimestep, unsigned int* posC, - unsigned int* posFSWB, unsigned int kFC, real nu, real diffusivity_coarse); - -__global__ void scaleFCThS27(real* DC, real* DF, real* DD27C, real* DD27F, unsigned int* neighborCX, - unsigned int* neighborCY, unsigned int* neighborCZ, unsigned int* neighborFX, - unsigned int* neighborFY, unsigned int* neighborFZ, unsigned long long numberOfLBnodesC, - unsigned long long numberOfLBnodesF, bool isEvenTimestep, unsigned int* posC, - unsigned int* posFSWB, unsigned int kFC, real nu, real diffusivity_coarse, - ICellNeigh neighborFineToCoarse); - -void ScaleCF27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, unsigned int* neighborCZ, - unsigned int* neighborFX, unsigned int* neighborFY, unsigned int* neighborFZ, - unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, bool isEvenTimestep, - unsigned int* posCSWB, unsigned int* posFSWB, unsigned int kCF, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, unsigned int numberOfThreads) -{ - vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(numberOfThreads, kCF); - - scaleCF27<<<grid.grid, grid.threads>>>(DC, DF, neighborCX, neighborCY, neighborCZ, neighborFX, neighborFY, neighborFZ, - numberOfLBnodesC, numberOfLBnodesF, isEvenTimestep, posCSWB, posFSWB, kCF, - omCoarse, omFine, nu, nxC, nyC, nxF, nyF); - getLastCudaError("scaleCF27 execution failed"); -} -////////////////////////////////////////////////////////////////////////// -void ScaleCFEff27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, unsigned int* neighborCZ, - unsigned int* neighborFX, unsigned int* neighborFY, unsigned int* neighborFZ, - unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, bool isEvenTimestep, - unsigned int* posCSWB, unsigned int* posFSWB, unsigned int kCF, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, unsigned int numberOfThreads, - ICellNeigh neighborCoarseToFine) -{ - vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(numberOfThreads, kCF); - - scaleCFEff27<<<grid.grid, grid.threads>>>(DC, DF, neighborCX, neighborCY, neighborCZ, neighborFX, neighborFY, neighborFZ, - numberOfLBnodesC, numberOfLBnodesF, isEvenTimestep, posCSWB, posFSWB, kCF, - omCoarse, omFine, nu, nxC, nyC, nxF, nyF, neighborCoarseToFine); - getLastCudaError("scaleCFEff27 execution failed"); -} -////////////////////////////////////////////////////////////////////////// -void ScaleCFLast27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, unsigned int* neighborCZ, - unsigned int* neighborFX, unsigned int* neighborFY, unsigned int* neighborFZ, - unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, bool isEvenTimestep, - unsigned int* posCSWB, unsigned int* posFSWB, unsigned int kCF, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, unsigned int numberOfThreads, - ICellNeigh neighborCoarseToFine) -{ - vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(numberOfThreads, kCF); - - scaleCFLast27<<<grid.grid, grid.threads>>>(DC, DF, neighborCX, neighborCY, neighborCZ, neighborFX, neighborFY, - neighborFZ, numberOfLBnodesC, numberOfLBnodesF, isEvenTimestep, posCSWB, - posFSWB, kCF, omCoarse, omFine, nu, nxC, nyC, nxF, nyF, neighborCoarseToFine); - getLastCudaError("scaleCFLast27 execution failed"); -} -////////////////////////////////////////////////////////////////////////// -void ScaleCFpress27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, unsigned int* neighborCZ, - unsigned int* neighborFX, unsigned int* neighborFY, unsigned int* neighborFZ, - unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, bool isEvenTimestep, - unsigned int* posCSWB, unsigned int* posFSWB, unsigned int kCF, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, unsigned int numberOfThreads, - ICellNeigh neighborCoarseToFine) -{ - vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(numberOfThreads, kCF); - - scaleCFpress27<<<grid.grid, grid.threads>>>( - DC, DF, neighborCX, neighborCY, neighborCZ, neighborFX, neighborFY, neighborFZ, numberOfLBnodesC, numberOfLBnodesF, - isEvenTimestep, posCSWB, posFSWB, kCF, omCoarse, omFine, nu, nxC, nyC, nxF, nyF, neighborCoarseToFine); - getLastCudaError("scaleCFpress27 execution failed"); -} -////////////////////////////////////////////////////////////////////////// -void ScaleCF_Fix_27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, unsigned int* neighborCZ, - unsigned int* neighborFX, unsigned int* neighborFY, unsigned int* neighborFZ, - unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, bool isEvenTimestep, - unsigned int* posCSWB, unsigned int* posFSWB, unsigned int kCF, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, unsigned int numberOfThreads, - ICellNeigh neighborCoarseToFine) -{ - vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(numberOfThreads, kCF); - - scaleCF_Fix_27<<<grid.grid, grid.threads>>>( - DC, DF, neighborCX, neighborCY, neighborCZ, neighborFX, neighborFY, neighborFZ, numberOfLBnodesC, numberOfLBnodesF, - isEvenTimestep, posCSWB, posFSWB, kCF, omCoarse, omFine, nu, nxC, nyC, nxF, nyF, neighborCoarseToFine); - getLastCudaError("scaleCF_Fix_27 execution failed"); -} -////////////////////////////////////////////////////////////////////////// -void ScaleCF_Fix_comp_27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, unsigned int* neighborCZ, - unsigned int* neighborFX, unsigned int* neighborFY, unsigned int* neighborFZ, - unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, bool isEvenTimestep, - unsigned int* posCSWB, unsigned int* posFSWB, unsigned int kCF, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, - unsigned int numberOfThreads, ICellNeigh neighborCoarseToFine) -{ - vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(numberOfThreads, kCF); - - scaleCF_Fix_comp_27<<<grid.grid, grid.threads>>>( - DC, DF, neighborCX, neighborCY, neighborCZ, neighborFX, neighborFY, neighborFZ, numberOfLBnodesC, numberOfLBnodesF, - isEvenTimestep, posCSWB, posFSWB, kCF, omCoarse, omFine, nu, nxC, nyC, nxF, nyF, neighborCoarseToFine); - getLastCudaError("scaleCF_Fix_comp_27 execution failed"); -} -////////////////////////////////////////////////////////////////////////// -void ScaleCF_0817_comp_27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, unsigned int* neighborCZ, - unsigned int* neighborFX, unsigned int* neighborFY, unsigned int* neighborFZ, - unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, bool isEvenTimestep, - unsigned int* posCSWB, unsigned int* posFSWB, unsigned int kCF, real omCoarse, real omFine, - real nu, unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, - unsigned int numberOfThreads, ICellNeigh neighborCoarseToFine, CUstream_st* stream) -{ - vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(numberOfThreads, kCF); - - scaleCF_0817_comp_27<<<grid.grid, grid.threads, 0, stream>>>( - DC, DF, neighborCX, neighborCY, neighborCZ, neighborFX, neighborFY, neighborFZ, numberOfLBnodesC, numberOfLBnodesF, - isEvenTimestep, posCSWB, posFSWB, kCF, omCoarse, omFine, nu, nxC, nyC, nxF, nyF, neighborCoarseToFine); - getLastCudaError("scaleCF_0817_27 execution failed"); -} -////////////////////////////////////////////////////////////////////////// -void ScaleCF_comp_D3Q27F3_2018(real* DC, real* DF, real* G6, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, - unsigned int* neighborFZ, unsigned long long numberOfLBnodesC, - unsigned long long numberOfLBnodesF, bool isEvenTimestep, unsigned int* posCSWB, - unsigned int* posFSWB, unsigned int kCF, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, - unsigned int numberOfThreads, ICellNeigh neighborCoarseToFine) -{ - vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(numberOfThreads, kCF); - - scaleCF_comp_D3Q27F3_2018<<<grid.grid, grid.threads>>>(DC, DF, G6, neighborCX, neighborCY, neighborCZ, neighborFX, - neighborFY, neighborFZ, numberOfLBnodesC, numberOfLBnodesF, - isEvenTimestep, posCSWB, posFSWB, kCF, omCoarse, omFine, nu, nxC, - nyC, nxF, nyF, neighborCoarseToFine); - getLastCudaError("scaleCF_comp_D3Q27F3_2018 execution failed"); -} -////////////////////////////////////////////////////////////////////////// -void ScaleCF_comp_D3Q27F3(real* DC, real* DF, real* G6, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, - unsigned int* neighborFZ, unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, - bool isEvenTimestep, unsigned int* posCSWB, unsigned int* posFSWB, unsigned int kCF, real omCoarse, - real omFine, real nu, unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, - unsigned int numberOfThreads, ICellNeigh neighborCoarseToFine, CUstream_st* stream) -{ - vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(numberOfThreads, kCF); - - scaleCF_comp_D3Q27F3<<<grid.grid, grid.threads, 0, stream>>>(DC, DF, G6, neighborCX, neighborCY, neighborCZ, neighborFX, - neighborFY, neighborFZ, numberOfLBnodesC, numberOfLBnodesF, - isEvenTimestep, posCSWB, posFSWB, kCF, omCoarse, omFine, nu, - nxC, nyC, nxF, nyF, neighborCoarseToFine); - getLastCudaError("scaleCF_comp_D3Q27F3 execution failed"); -} -////////////////////////////////////////////////////////////////////////// -void ScaleCF_staggered_time_comp_27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, - unsigned int* neighborFZ, unsigned long long numberOfLBnodesC, - unsigned long long numberOfLBnodesF, bool isEvenTimestep, unsigned int* posCSWB, - unsigned int* posFSWB, unsigned int kCF, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, - unsigned int numberOfThreads, ICellNeigh neighborCoarseToFine) -{ - vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(numberOfThreads, kCF); - - scaleCF_staggered_time_comp_27<<<grid.grid, grid.threads>>>( - DC, DF, neighborCX, neighborCY, neighborCZ, neighborFX, neighborFY, neighborFZ, numberOfLBnodesC, numberOfLBnodesF, - isEvenTimestep, posCSWB, posFSWB, kCF, omCoarse, omFine, nu, nxC, nyC, nxF, nyF, neighborCoarseToFine); - getLastCudaError("scaleCF_staggered_time_comp_27 execution failed"); -} -////////////////////////////////////////////////////////////////////////// -void ScaleCF_RhoSq_comp_27(LBMSimulationParameter* parameterDeviceC, LBMSimulationParameter* parameterDeviceF, - ICells* coarseToFine, ICellNeigh& neighborCoarseToFine, CUstream_st* stream) -{ - dim3 grid = vf::cuda::getCudaGrid(parameterDeviceC->numberofthreads, coarseToFine->numberOfCells); - dim3 threads(parameterDeviceC->numberofthreads, 1, 1); - - scaleCF_RhoSq_comp_27<<<grid, threads, 0, stream>>>( - parameterDeviceC->distributions.f[0], parameterDeviceF->distributions.f[0], parameterDeviceC->neighborX, - parameterDeviceC->neighborY, parameterDeviceC->neighborZ, parameterDeviceF->neighborX, parameterDeviceF->neighborY, - parameterDeviceF->neighborZ, parameterDeviceC->numberOfNodes, parameterDeviceF->numberOfNodes, - parameterDeviceC->isEvenTimestep, coarseToFine->coarseCellIndices, coarseToFine->fineCellIndices, - coarseToFine->numberOfCells, parameterDeviceC->omega, parameterDeviceF->omega, parameterDeviceC->viscosity, - parameterDeviceC->nx, parameterDeviceC->ny, parameterDeviceF->nx, parameterDeviceF->ny, neighborCoarseToFine); - getLastCudaError("scaleCF_RhoSq_27 execution failed"); -} - +__global__ void scaleFineToCoarseCompressible_Device( + real* distributionsCoarse, + real* distributionsFine, + uint* neighborXcoarse, + uint* neighborYcoarse, + uint* neighborZcoarse, + uint* neighborXfine, + uint* neighborYfine, + uint* neighborZfine, + unsigned long long numberOfLBnodesCoarse, + unsigned long long numberOfLBnodesFine, + bool isEvenTimestep, + uint* indicesCoarse000, + uint* indicesFineMMM, + uint numberOfInterfaceNodes, + real omegaCoarse, + real omegaFine, + real* turbulentViscosityCoarse, + real* turbulentViscosityFine, + ICellNeigh offsetFC); + + +////////////////////////////////////////////////////////////////////////// +// coarse to fine template <bool hasTurbulentViscosity> -void ScaleCF_compressible(LBMSimulationParameter* parameterDeviceC, LBMSimulationParameter* parameterDeviceF, - ICells* coarseToFine, ICellNeigh& neighborCoarseToFine, CUstream_st* stream) +void scaleCoarseToFineCompressible( + LBMSimulationParameter* parameterDeviceC, + LBMSimulationParameter* parameterDeviceF, + ICells* coarseToFine, + ICellNeigh& neighborCoarseToFine, + CUstream_st* stream) { dim3 grid = vf::cuda::getCudaGrid(parameterDeviceC->numberofthreads, coarseToFine->numberOfCells); dim3 threads(parameterDeviceC->numberofthreads, 1, 1); - scaleCF_compressible<hasTurbulentViscosity><<<grid, threads, 0, stream>>>( - parameterDeviceC->distributions.f[0], parameterDeviceF->distributions.f[0], parameterDeviceC->neighborX, - parameterDeviceC->neighborY, parameterDeviceC->neighborZ, parameterDeviceF->neighborX, parameterDeviceF->neighborY, - parameterDeviceF->neighborZ, parameterDeviceC->numberOfNodes, parameterDeviceF->numberOfNodes, - parameterDeviceC->isEvenTimestep, coarseToFine->coarseCellIndices, coarseToFine->fineCellIndices, - coarseToFine->numberOfCells, parameterDeviceC->omega, parameterDeviceF->omega, parameterDeviceC->turbViscosity, - parameterDeviceF->turbViscosity, neighborCoarseToFine); - - getLastCudaError("scaleCF_compressible execution failed"); -} -template void ScaleCF_compressible<true>(LBMSimulationParameter* parameterDeviceC, LBMSimulationParameter* parameterDeviceF, - ICells* coarseToFine, ICellNeigh& neighborCoarseToFine, CUstream_st* stream); -template void ScaleCF_compressible<false>(LBMSimulationParameter* parameterDeviceC, LBMSimulationParameter* parameterDeviceF, - ICells* coarseToFine, ICellNeigh& neighborCoarseToFine, CUstream_st* stream); + scaleCoarseToFineCompressible_Device<hasTurbulentViscosity><<<grid, threads, 0, stream>>>( + parameterDeviceC->distributions.f[0], + parameterDeviceF->distributions.f[0], + parameterDeviceC->neighborX, + parameterDeviceC->neighborY, + parameterDeviceC->neighborZ, + parameterDeviceF->neighborX, + parameterDeviceF->neighborY, + parameterDeviceF->neighborZ, + parameterDeviceC->numberOfNodes, + parameterDeviceF->numberOfNodes, + parameterDeviceC->isEvenTimestep, + coarseToFine->coarseCellIndices, + coarseToFine->fineCellIndices, + coarseToFine->numberOfCells, + parameterDeviceC->omega, + parameterDeviceF->omega, + parameterDeviceC->turbViscosity, + parameterDeviceF->turbViscosity, + neighborCoarseToFine); + + getLastCudaError("scaleCoarseToFineCompressible_Device execution failed"); +} +template void scaleCoarseToFineCompressible<true>( + LBMSimulationParameter* parameterDeviceC, + LBMSimulationParameter* parameterDeviceF, + ICells* coarseToFine, + ICellNeigh& neighborCoarseToFine, + CUstream_st* stream); +template void scaleCoarseToFineCompressible<false>( + LBMSimulationParameter* parameterDeviceC, + LBMSimulationParameter* parameterDeviceF, + ICells* coarseToFine, + ICellNeigh& neighborCoarseToFine, + CUstream_st* stream); -////////////////////////////////////////////////////////////////////////// -void ScaleCF_RhoSq_3rdMom_comp_27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, - unsigned int* neighborFZ, unsigned long long numberOfLBnodesC, - unsigned long long numberOfLBnodesF, bool isEvenTimestep, unsigned int* posCSWB, - unsigned int* posFSWB, unsigned int kCF, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, - unsigned int numberOfThreads, ICellNeigh neighborCoarseToFine, CUstream_st* stream) -{ - vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(numberOfThreads, kCF); - scaleCF_RhoSq_3rdMom_comp_27<<<grid.grid, grid.threads, 0, stream>>>( - DC, DF, neighborCX, neighborCY, neighborCZ, neighborFX, neighborFY, neighborFZ, numberOfLBnodesC, numberOfLBnodesF, - isEvenTimestep, posCSWB, posFSWB, kCF, omCoarse, omFine, nu, nxC, nyC, nxF, nyF, neighborCoarseToFine); - getLastCudaError("scaleCF_RhoSq_3rdMom_comp_27 execution failed"); -} -////////////////////////////////////////////////////////////////////////// -void ScaleCF_AA2016_comp_27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, unsigned int* neighborCZ, - unsigned int* neighborFX, unsigned int* neighborFY, unsigned int* neighborFZ, - unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, bool isEvenTimestep, - unsigned int* posCSWB, unsigned int* posFSWB, unsigned int kCF, real omCoarse, real omFine, - real nu, unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, - unsigned int numberOfThreads, ICellNeigh neighborCoarseToFine, CUstream_st* stream) -{ - vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(numberOfThreads, kCF); - - scaleCF_AA2016_comp_27<<<grid.grid, grid.threads, 0, stream>>>( - DC, DF, neighborCX, neighborCY, neighborCZ, neighborFX, neighborFY, neighborFZ, numberOfLBnodesC, numberOfLBnodesF, - isEvenTimestep, posCSWB, posFSWB, kCF, omCoarse, omFine, nu, nxC, nyC, nxF, nyF, neighborCoarseToFine); - getLastCudaError("scaleCF_AA2016_comp_27 execution failed"); -} -////////////////////////////////////////////////////////////////////////// -void ScaleCF_NSPress_27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, unsigned int* neighborCZ, - unsigned int* neighborFX, unsigned int* neighborFY, unsigned int* neighborFZ, - unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, bool isEvenTimestep, - unsigned int* posCSWB, unsigned int* posFSWB, unsigned int kCF, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, unsigned int numberOfThreads, - ICellNeigh neighborCoarseToFine) -{ - vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(numberOfThreads, kCF); - - scaleCF_NSPress_27<<<grid.grid, grid.threads>>>( - DC, DF, neighborCX, neighborCY, neighborCZ, neighborFX, neighborFY, neighborFZ, numberOfLBnodesC, numberOfLBnodesF, - isEvenTimestep, posCSWB, posFSWB, kCF, omCoarse, omFine, nu, nxC, nyC, nxF, nyF, neighborCoarseToFine); - getLastCudaError("scaleCF_NSPress_27 execution failed"); -} -////////////////////////////////////////////////////////////////////////// -void ScaleCFThSMG7(real* DC, real* DF, real* DD7C, real* DD7F, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, unsigned int* neighborFZ, - unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, bool isEvenTimestep, - unsigned int* posCSWB, unsigned int* posFSWB, unsigned int kCF, real nu, real diffusivity_fine, - unsigned int numberOfThreads, ICellNeigh neighborCoarseToFine) -{ - vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(numberOfThreads, kCF); - - scaleCFThSMG7<<<grid.grid, grid.threads>>>(DC, DF, DD7C, DD7F, neighborCX, neighborCY, neighborCZ, neighborFX, - neighborFY, neighborFZ, numberOfLBnodesC, numberOfLBnodesF, isEvenTimestep, - posCSWB, posFSWB, kCF, nu, diffusivity_fine, neighborCoarseToFine); - getLastCudaError("scaleCFThSMG7 execution failed"); -} -////////////////////////////////////////////////////////////////////////// -void ScaleCFThS7(real* DC, real* DF, real* DD7C, real* DD7F, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, unsigned int* neighborFZ, - unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, bool isEvenTimestep, - unsigned int* posCSWB, unsigned int* posFSWB, unsigned int kCF, real nu, real diffusivity_fine, - unsigned int numberOfThreads) -{ - vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(numberOfThreads, kCF); - - scaleCFThS7<<<grid.grid, grid.threads>>>(DC, DF, DD7C, DD7F, neighborCX, neighborCY, neighborCZ, neighborFX, neighborFY, - neighborFZ, numberOfLBnodesC, numberOfLBnodesF, isEvenTimestep, posCSWB, - posFSWB, kCF, nu, diffusivity_fine); - getLastCudaError("scaleCFThS7 execution failed"); -} -////////////////////////////////////////////////////////////////////////// -void ScaleCFThS27(real* DC, real* DF, real* DD27C, real* DD27F, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, unsigned int* neighborFZ, - unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, bool isEvenTimestep, - unsigned int* posCSWB, unsigned int* posFSWB, unsigned int kCF, real nu, real diffusivity_fine, - unsigned int numberOfThreads, ICellNeigh neighborCoarseToFine) -{ - vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(numberOfThreads, kCF); - - scaleCFThS27<<<grid.grid, grid.threads>>>(DC, DF, DD27C, DD27F, neighborCX, neighborCY, neighborCZ, neighborFX, - neighborFY, neighborFZ, numberOfLBnodesC, numberOfLBnodesF, isEvenTimestep, - posCSWB, posFSWB, kCF, nu, diffusivity_fine, neighborCoarseToFine); - getLastCudaError("scaleCFThS27 execution failed"); -} -////////////////////////////////////////////////////////////////////////// -void ScaleFC27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, unsigned int* neighborCZ, - unsigned int* neighborFX, unsigned int* neighborFY, unsigned int* neighborFZ, - unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, bool isEvenTimestep, - unsigned int* posC, unsigned int* posFSWB, unsigned int kFC, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, unsigned int numberOfThreads) -{ - vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(numberOfThreads, kFC); - - scaleFC27<<<grid.grid, grid.threads>>>(DC, DF, neighborCX, neighborCY, neighborCZ, neighborFX, neighborFY, neighborFZ, - numberOfLBnodesC, numberOfLBnodesF, isEvenTimestep, posC, posFSWB, kFC, omCoarse, - omFine, nu, nxC, nyC, nxF, nyF); - getLastCudaError("scaleFC27 execution failed"); -} -////////////////////////////////////////////////////////////////////////// -void ScaleFCEff27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, unsigned int* neighborCZ, - unsigned int* neighborFX, unsigned int* neighborFY, unsigned int* neighborFZ, - unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, bool isEvenTimestep, - unsigned int* posC, unsigned int* posFSWB, unsigned int kFC, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, unsigned int numberOfThreads, - ICellNeigh neighborFineToCoarse) -{ - vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(numberOfThreads, kFC); - - scaleFCEff27<<<grid.grid, grid.threads>>>(DC, DF, neighborCX, neighborCY, neighborCZ, neighborFX, neighborFY, neighborFZ, - numberOfLBnodesC, numberOfLBnodesF, isEvenTimestep, posC, posFSWB, kFC, - omCoarse, omFine, nu, nxC, nyC, nxF, nyF, neighborFineToCoarse); - getLastCudaError("scaleFCEff27 execution failed"); -} -////////////////////////////////////////////////////////////////////////// -void ScaleFCLast27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, unsigned int* neighborCZ, - unsigned int* neighborFX, unsigned int* neighborFY, unsigned int* neighborFZ, - unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, bool isEvenTimestep, - unsigned int* posC, unsigned int* posFSWB, unsigned int kFC, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, unsigned int numberOfThreads, - ICellNeigh neighborFineToCoarse) -{ - vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(numberOfThreads, kFC); - - scaleFCLast27<<<grid.grid, grid.threads>>>(DC, DF, neighborCX, neighborCY, neighborCZ, neighborFX, neighborFY, - neighborFZ, numberOfLBnodesC, numberOfLBnodesF, isEvenTimestep, posC, posFSWB, - kFC, omCoarse, omFine, nu, nxC, nyC, nxF, nyF, neighborFineToCoarse); - getLastCudaError("Kernel execution failed"); -} -////////////////////////////////////////////////////////////////////////// -void ScaleFCpress27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, unsigned int* neighborCZ, - unsigned int* neighborFX, unsigned int* neighborFY, unsigned int* neighborFZ, - unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, bool isEvenTimestep, - unsigned int* posC, unsigned int* posFSWB, unsigned int kFC, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, unsigned int numberOfThreads, - ICellNeigh neighborFineToCoarse) -{ - vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(numberOfThreads, kFC); - - scaleFCpress27<<<grid.grid, grid.threads>>>( - DC, DF, neighborCX, neighborCY, neighborCZ, neighborFX, neighborFY, neighborFZ, numberOfLBnodesC, numberOfLBnodesF, - isEvenTimestep, posC, posFSWB, kFC, omCoarse, omFine, nu, nxC, nyC, nxF, nyF, neighborFineToCoarse); - getLastCudaError("scaleFCpress27 execution failed"); -} -////////////////////////////////////////////////////////////////////////// -void ScaleFC_Fix_27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, unsigned int* neighborCZ, - unsigned int* neighborFX, unsigned int* neighborFY, unsigned int* neighborFZ, - unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, bool isEvenTimestep, - unsigned int* posC, unsigned int* posFSWB, unsigned int kFC, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, unsigned int numberOfThreads, - ICellNeigh neighborFineToCoarse) -{ - vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(numberOfThreads, kFC); - - scaleFC_Fix_27<<<grid.grid, grid.threads>>>( - DC, DF, neighborCX, neighborCY, neighborCZ, neighborFX, neighborFY, neighborFZ, numberOfLBnodesC, numberOfLBnodesF, - isEvenTimestep, posC, posFSWB, kFC, omCoarse, omFine, nu, nxC, nyC, nxF, nyF, neighborFineToCoarse); - getLastCudaError("scaleFC_Fix_27 execution failed"); -} -////////////////////////////////////////////////////////////////////////// -void ScaleFC_Fix_comp_27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, unsigned int* neighborCZ, - unsigned int* neighborFX, unsigned int* neighborFY, unsigned int* neighborFZ, - unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, bool isEvenTimestep, - unsigned int* posC, unsigned int* posFSWB, unsigned int kFC, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, - unsigned int numberOfThreads, ICellNeigh neighborFineToCoarse) -{ - vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(numberOfThreads, kFC); - - scaleFC_Fix_comp_27<<<grid.grid, grid.threads>>>( - DC, DF, neighborCX, neighborCY, neighborCZ, neighborFX, neighborFY, neighborFZ, numberOfLBnodesC, numberOfLBnodesF, - isEvenTimestep, posC, posFSWB, kFC, omCoarse, omFine, nu, nxC, nyC, nxF, nyF, neighborFineToCoarse); - getLastCudaError("scaleFC_Fix_comp_27 execution failed"); -} -////////////////////////////////////////////////////////////////////////// -void ScaleFC_0817_comp_27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, unsigned int* neighborCZ, - unsigned int* neighborFX, unsigned int* neighborFY, unsigned int* neighborFZ, - unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, bool isEvenTimestep, - unsigned int* posC, unsigned int* posFSWB, unsigned int kFC, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, - unsigned int numberOfThreads, ICellNeigh neighborFineToCoarse, CUstream_st* stream) -{ - vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(numberOfThreads, kFC); - - scaleFC_0817_comp_27<<<grid.grid, grid.threads, 0, stream>>>( - DC, DF, neighborCX, neighborCY, neighborCZ, neighborFX, neighborFY, neighborFZ, numberOfLBnodesC, numberOfLBnodesF, - isEvenTimestep, posC, posFSWB, kFC, omCoarse, omFine, nu, nxC, nyC, nxF, nyF, neighborFineToCoarse); - getLastCudaError("scaleFC_0817_comp_27 execution failed"); -} -////////////////////////////////////////////////////////////////////////// -void ScaleFC_comp_D3Q27F3_2018(real* DC, real* DF, real* G6, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, - unsigned int* neighborFZ, unsigned long long numberOfLBnodesC, - unsigned long long numberOfLBnodesF, bool isEvenTimestep, unsigned int* posC, - unsigned int* posFSWB, unsigned int kFC, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, - unsigned int numberOfThreads, ICellNeigh neighborFineToCoarse) -{ - vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(numberOfThreads, kFC); - - scaleFC_comp_D3Q27F3_2018<<<grid.grid, grid.threads>>>(DC, DF, G6, neighborCX, neighborCY, neighborCZ, neighborFX, - neighborFY, neighborFZ, numberOfLBnodesC, numberOfLBnodesF, - isEvenTimestep, posC, posFSWB, kFC, omCoarse, omFine, nu, nxC, - nyC, nxF, nyF, neighborFineToCoarse); - getLastCudaError("scaleFC_comp_D3Q27F3_2018 execution failed"); -} -////////////////////////////////////////////////////////////////////////// -void ScaleFC_comp_D3Q27F3(real* DC, real* DF, real* G6, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, - unsigned int* neighborFZ, unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, - bool isEvenTimestep, unsigned int* posC, unsigned int* posFSWB, unsigned int kFC, real omCoarse, - real omFine, real nu, unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, - unsigned int numberOfThreads, ICellNeigh neighborFineToCoarse, CUstream_st* stream) -{ - vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(numberOfThreads, kFC); - - scaleFC_comp_D3Q27F3<<<grid.grid, grid.threads, 0, stream>>>(DC, DF, G6, neighborCX, neighborCY, neighborCZ, neighborFX, - neighborFY, neighborFZ, numberOfLBnodesC, numberOfLBnodesF, - isEvenTimestep, posC, posFSWB, kFC, omCoarse, omFine, nu, - nxC, nyC, nxF, nyF, neighborFineToCoarse); - getLastCudaError("scaleFC_comp_D3Q27F3 execution failed"); -} -////////////////////////////////////////////////////////////////////////// -void ScaleFC_staggered_time_comp_27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, - unsigned int* neighborFZ, unsigned long long numberOfLBnodesC, - unsigned long long numberOfLBnodesF, bool isEvenTimestep, unsigned int* posC, - unsigned int* posFSWB, unsigned int kFC, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, - unsigned int numberOfThreads, ICellNeigh neighborFineToCoarse) -{ - vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(numberOfThreads, kFC); - - scaleFC_staggered_time_comp_27<<<grid.grid, grid.threads>>>( - DC, DF, neighborCX, neighborCY, neighborCZ, neighborFX, neighborFY, neighborFZ, numberOfLBnodesC, numberOfLBnodesF, - isEvenTimestep, posC, posFSWB, kFC, omCoarse, omFine, nu, nxC, nyC, nxF, nyF, neighborFineToCoarse); - getLastCudaError("scaleFC_staggered_time_comp_27 execution failed"); -} -////////////////////////////////////////////////////////////////////////// -void ScaleFC_RhoSq_comp_27(LBMSimulationParameter* parameterDeviceC, LBMSimulationParameter* parameterDeviceF, - ICells* fineToCoarse, ICellNeigh& neighborFineToCoarse, CUstream_st* stream) -{ - dim3 grid = vf::cuda::getCudaGrid(parameterDeviceC->numberofthreads, fineToCoarse->numberOfCells); - dim3 threads(parameterDeviceC->numberofthreads, 1, 1); - - scaleFC_RhoSq_comp_27<<<grid, threads, 0, stream>>>( - parameterDeviceC->distributions.f[0], parameterDeviceF->distributions.f[0], parameterDeviceC->neighborX, - parameterDeviceC->neighborY, parameterDeviceC->neighborZ, parameterDeviceF->neighborX, parameterDeviceF->neighborY, - parameterDeviceF->neighborZ, parameterDeviceC->numberOfNodes, parameterDeviceF->numberOfNodes, - parameterDeviceC->isEvenTimestep, fineToCoarse->coarseCellIndices, fineToCoarse->fineCellIndices, - fineToCoarse->numberOfCells, parameterDeviceC->omega, parameterDeviceF->omega, parameterDeviceC->viscosity, - parameterDeviceC->nx, parameterDeviceC->ny, parameterDeviceF->nx, parameterDeviceF->ny, neighborFineToCoarse); - getLastCudaError("scaleFC_RhoSq_comp_27 execution failed"); -} ////////////////////////////////////////////////////////////////////////// +// fine to coarse template <bool hasTurbulentViscosity> -void ScaleFC_compressible(LBMSimulationParameter* parameterDeviceC, LBMSimulationParameter* parameterDeviceF, - ICells* fineToCoarse, ICellNeigh& neighborFineToCoarse, CUstream_st* stream) +void scaleFineToCoarseCompressible( + LBMSimulationParameter* parameterDeviceC, + LBMSimulationParameter* parameterDeviceF, + ICells* fineToCoarse, + ICellNeigh& neighborFineToCoarse, + CUstream_st* stream) { dim3 grid = vf::cuda::getCudaGrid(parameterDeviceC->numberofthreads, fineToCoarse->numberOfCells); dim3 threads(parameterDeviceC->numberofthreads, 1, 1); - scaleFC_compressible<hasTurbulentViscosity><<<grid, threads, 0, stream>>>( - parameterDeviceC->distributions.f[0], parameterDeviceF->distributions.f[0], parameterDeviceC->neighborX, - parameterDeviceC->neighborY, parameterDeviceC->neighborZ, parameterDeviceF->neighborX, parameterDeviceF->neighborY, - parameterDeviceF->neighborZ, parameterDeviceC->numberOfNodes, parameterDeviceF->numberOfNodes, - parameterDeviceC->isEvenTimestep, fineToCoarse->coarseCellIndices, fineToCoarse->fineCellIndices, - fineToCoarse->numberOfCells, parameterDeviceC->omega, parameterDeviceF->omega, parameterDeviceC->turbViscosity, - parameterDeviceF->turbViscosity, neighborFineToCoarse); - - getLastCudaError("scaleFC_compressible execution failed"); -} -template void ScaleFC_compressible<true>(LBMSimulationParameter* parameterDeviceC, LBMSimulationParameter* parameterDeviceF, - ICells* fineToCoarse, ICellNeigh& neighborFineToCoarse, CUstream_st* stream); -template void ScaleFC_compressible<false>(LBMSimulationParameter* parameterDeviceC, LBMSimulationParameter* parameterDeviceF, - ICells* fineToCoarse, ICellNeigh& neighborFineToCoarse, CUstream_st* stream); - -////////////////////////////////////////////////////////////////////////// -void ScaleFC_RhoSq_3rdMom_comp_27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, - unsigned int* neighborFZ, unsigned long long numberOfLBnodesC, - unsigned long long numberOfLBnodesF, bool isEvenTimestep, unsigned int* posC, - unsigned int* posFSWB, unsigned int kFC, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, - unsigned int numberOfThreads, ICellNeigh neighborFineToCoarse, CUstream_st* stream) -{ - vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(numberOfThreads, kFC); - - scaleFC_RhoSq_3rdMom_comp_27<<<grid.grid, grid.threads, 0, stream>>>( - DC, DF, neighborCX, neighborCY, neighborCZ, neighborFX, neighborFY, neighborFZ, numberOfLBnodesC, numberOfLBnodesF, - isEvenTimestep, posC, posFSWB, kFC, omCoarse, omFine, nu, nxC, nyC, nxF, nyF, neighborFineToCoarse); - getLastCudaError("scaleFC_RhoSq_3rdMom_comp_27 execution failed"); -} -////////////////////////////////////////////////////////////////////////// -void ScaleFC_AA2016_comp_27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, unsigned int* neighborCZ, - unsigned int* neighborFX, unsigned int* neighborFY, unsigned int* neighborFZ, - unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, bool isEvenTimestep, - unsigned int* posC, unsigned int* posFSWB, unsigned int kFC, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, - unsigned int numberOfThreads, ICellNeigh neighborFineToCoarse, CUstream_st* stream) -{ - vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(numberOfThreads, kFC); - - scaleFC_AA2016_comp_27<<<grid.grid, grid.threads, 0, stream>>>( - DC, DF, neighborCX, neighborCY, neighborCZ, neighborFX, neighborFY, neighborFZ, numberOfLBnodesC, numberOfLBnodesF, - isEvenTimestep, posC, posFSWB, kFC, omCoarse, omFine, nu, nxC, nyC, nxF, nyF, neighborFineToCoarse); - getLastCudaError("scaleFC_AA2016_comp_27 execution failed"); -} -////////////////////////////////////////////////////////////////////////// -void ScaleFC_NSPress_27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, unsigned int* neighborCZ, - unsigned int* neighborFX, unsigned int* neighborFY, unsigned int* neighborFZ, - unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, bool isEvenTimestep, - unsigned int* posC, unsigned int* posFSWB, unsigned int kFC, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, unsigned int numberOfThreads, - ICellNeigh neighborFineToCoarse) -{ - vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(numberOfThreads, kFC); - - scaleFC_NSPress_27<<<grid.grid, grid.threads>>>( - DC, DF, neighborCX, neighborCY, neighborCZ, neighborFX, neighborFY, neighborFZ, numberOfLBnodesC, numberOfLBnodesF, - isEvenTimestep, posC, posFSWB, kFC, omCoarse, omFine, nu, nxC, nyC, nxF, nyF, neighborFineToCoarse); - getLastCudaError("scaleFC_NSPress_27 execution failed"); -} -////////////////////////////////////////////////////////////////////////// -void ScaleFCThSMG7(real* DC, real* DF, real* DD7C, real* DD7F, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, unsigned int* neighborFZ, - unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, bool isEvenTimestep, - unsigned int* posC, unsigned int* posFSWB, unsigned int kFC, real nu, real diffusivity_coarse, - unsigned int numberOfThreads, ICellNeigh neighborFineToCoarse) -{ - vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(numberOfThreads, kFC); - - scaleFCThSMG7<<<grid.grid, grid.threads>>>(DC, DF, DD7C, DD7F, neighborCX, neighborCY, neighborCZ, neighborFX, - neighborFY, neighborFZ, numberOfLBnodesC, numberOfLBnodesF, isEvenTimestep, - posC, posFSWB, kFC, nu, diffusivity_coarse, neighborFineToCoarse); - getLastCudaError("scaleFCThSMG7 execution failed"); -} -////////////////////////////////////////////////////////////////////////// -void ScaleFCThS7(real* DC, real* DF, real* DD7C, real* DD7F, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, unsigned int* neighborFZ, - unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, bool isEvenTimestep, - unsigned int* posC, unsigned int* posFSWB, unsigned int kFC, real nu, real diffusivity_coarse, - unsigned int numberOfThreads) -{ - vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(numberOfThreads, kFC); - - scaleFCThS7<<<grid.grid, grid.threads>>>(DC, DF, DD7C, DD7F, neighborCX, neighborCY, neighborCZ, neighborFX, neighborFY, - neighborFZ, numberOfLBnodesC, numberOfLBnodesF, isEvenTimestep, posC, posFSWB, - kFC, nu, diffusivity_coarse); - getLastCudaError("scaleFCThS7 execution failed"); -} -////////////////////////////////////////////////////////////////////////// -void ScaleFCThS27(real* DC, real* DF, real* DD27C, real* DD27F, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, unsigned int* neighborFZ, - unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, bool isEvenTimestep, - unsigned int* posC, unsigned int* posFSWB, unsigned int kFC, real nu, real diffusivity_coarse, - unsigned int numberOfThreads, ICellNeigh neighborFineToCoarse) -{ - vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(numberOfThreads, kFC); - - scaleFCThS27<<<grid.grid, grid.threads>>>(DC, DF, DD27C, DD27F, neighborCX, neighborCY, neighborCZ, neighborFX, - neighborFY, neighborFZ, numberOfLBnodesC, numberOfLBnodesF, isEvenTimestep, - posC, posFSWB, kFC, nu, diffusivity_coarse, neighborFineToCoarse); - getLastCudaError("scaleFCThS27 execution failed"); -} + scaleFineToCoarseCompressible_Device<hasTurbulentViscosity><<<grid, threads, 0, stream>>>( + parameterDeviceC->distributions.f[0], + parameterDeviceF->distributions.f[0], + parameterDeviceC->neighborX, + parameterDeviceC->neighborY, + parameterDeviceC->neighborZ, + parameterDeviceF->neighborX, + parameterDeviceF->neighborY, + parameterDeviceF->neighborZ, + parameterDeviceC->numberOfNodes, + parameterDeviceF->numberOfNodes, + parameterDeviceC->isEvenTimestep, + fineToCoarse->coarseCellIndices, + fineToCoarse->fineCellIndices, + fineToCoarse->numberOfCells, + parameterDeviceC->omega, + parameterDeviceF->omega, + parameterDeviceC->turbViscosity, + parameterDeviceF->turbViscosity, + neighborFineToCoarse); + + getLastCudaError("scaleFineToCoarseCompressible_Device execution failed"); +} +template void scaleFineToCoarseCompressible<true>( + LBMSimulationParameter* parameterDeviceC, + LBMSimulationParameter* parameterDeviceF, + ICells* fineToCoarse, + ICellNeigh& neighborFineToCoarse, + CUstream_st* stream); +template void scaleFineToCoarseCompressible<false>( + LBMSimulationParameter* parameterDeviceC, + LBMSimulationParameter* parameterDeviceF, + ICells* fineToCoarse, + ICellNeigh& neighborFineToCoarse, + CUstream_st* stream); diff --git a/src/gpu/core/GridScaling/Scaling.cuh b/src/gpu/core/GridScaling/Scaling.cuh index c05b9ee1c306c0f3865ea810a482793b8309c34f..e6a72f6beb2c3adbb30618fca5d91f9413ba8eaa 100644 --- a/src/gpu/core/GridScaling/Scaling.cuh +++ b/src/gpu/core/GridScaling/Scaling.cuh @@ -38,240 +38,20 @@ struct LBMSimulationParameter; -void ScaleCF27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, unsigned int* neighborCZ, - unsigned int* neighborFX, unsigned int* neighborFY, unsigned int* neighborFZ, - unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, bool isEvenTimestep, - unsigned int* posCSWB, unsigned int* posFSWB, unsigned int kCF, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, unsigned int numberOfThreads); - -void ScaleFC27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, unsigned int* neighborCZ, - unsigned int* neighborFX, unsigned int* neighborFY, unsigned int* neighborFZ, - unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, bool isEvenTimestep, - unsigned int* posC, unsigned int* posFSWB, unsigned int kFC, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, unsigned int numberOfThreads); - -void ScaleCFEff27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, unsigned int* neighborCZ, - unsigned int* neighborFX, unsigned int* neighborFY, unsigned int* neighborFZ, - unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, bool isEvenTimestep, - unsigned int* posCSWB, unsigned int* posFSWB, unsigned int kCF, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, unsigned int numberOfThreads, - ICellNeigh neighborCoarseToFine); - -void ScaleFCEff27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, unsigned int* neighborCZ, - unsigned int* neighborFX, unsigned int* neighborFY, unsigned int* neighborFZ, - unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, bool isEvenTimestep, - unsigned int* posC, unsigned int* posFSWB, unsigned int kFC, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, unsigned int numberOfThreads, - ICellNeigh neighborFineToCoarse); - -void ScaleCFLast27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, unsigned int* neighborCZ, - unsigned int* neighborFX, unsigned int* neighborFY, unsigned int* neighborFZ, - unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, bool isEvenTimestep, - unsigned int* posCSWB, unsigned int* posFSWB, unsigned int kCF, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, unsigned int numberOfThreads, - ICellNeigh neighborCoarseToFine); - -void ScaleFCLast27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, unsigned int* neighborCZ, - unsigned int* neighborFX, unsigned int* neighborFY, unsigned int* neighborFZ, - unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, bool isEvenTimestep, - unsigned int* posC, unsigned int* posFSWB, unsigned int kFC, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, unsigned int numberOfThreads, - ICellNeigh neighborFineToCoarse); - -void ScaleCFpress27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, unsigned int* neighborCZ, - unsigned int* neighborFX, unsigned int* neighborFY, unsigned int* neighborFZ, - unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, bool isEvenTimestep, - unsigned int* posCSWB, unsigned int* posFSWB, unsigned int kCF, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, unsigned int numberOfThreads, - ICellNeigh neighborCoarseToFine); - -void ScaleFCpress27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, unsigned int* neighborCZ, - unsigned int* neighborFX, unsigned int* neighborFY, unsigned int* neighborFZ, - unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, bool isEvenTimestep, - unsigned int* posC, unsigned int* posFSWB, unsigned int kFC, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, unsigned int numberOfThreads, - ICellNeigh neighborFineToCoarse); - -void ScaleCF_Fix_27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, unsigned int* neighborCZ, - unsigned int* neighborFX, unsigned int* neighborFY, unsigned int* neighborFZ, - unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, bool isEvenTimestep, - unsigned int* posCSWB, unsigned int* posFSWB, unsigned int kCF, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, unsigned int numberOfThreads, - ICellNeigh neighborCoarseToFine); - -void ScaleCF_Fix_comp_27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, unsigned int* neighborCZ, - unsigned int* neighborFX, unsigned int* neighborFY, unsigned int* neighborFZ, - unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, bool isEvenTimestep, - unsigned int* posCSWB, unsigned int* posFSWB, unsigned int kCF, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, - unsigned int numberOfThreads, ICellNeigh neighborCoarseToFine); - -void ScaleCF_0817_comp_27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, unsigned int* neighborCZ, - unsigned int* neighborFX, unsigned int* neighborFY, unsigned int* neighborFZ, - unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, bool isEvenTimestep, - unsigned int* posCSWB, unsigned int* posFSWB, unsigned int kCF, real omCoarse, real omFine, - real nu, unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, - unsigned int numberOfThreads, ICellNeigh neighborCoarseToFine, CUstream_st* stream); - -void ScaleCF_comp_D3Q27F3_2018(real* DC, real* DF, real* G6, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, - unsigned int* neighborFZ, unsigned long long numberOfLBnodesC, - unsigned long long numberOfLBnodesF, bool isEvenTimestep, unsigned int* posCSWB, - unsigned int* posFSWB, unsigned int kCF, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, - unsigned int numberOfThreads, ICellNeigh neighborCoarseToFine); - -void ScaleCF_comp_D3Q27F3(real* DC, real* DF, real* G6, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, - unsigned int* neighborFZ, unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, - bool isEvenTimestep, unsigned int* posCSWB, unsigned int* posFSWB, unsigned int kCF, real omCoarse, - real omFine, real nu, unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, - unsigned int numberOfThreads, ICellNeigh neighborCoarseToFine, CUstream_st* stream); - -void ScaleCF_staggered_time_comp_27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, - unsigned int* neighborFZ, unsigned long long numberOfLBnodesC, - unsigned long long numberOfLBnodesF, bool isEvenTimestep, unsigned int* posCSWB, - unsigned int* posFSWB, unsigned int kCF, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, - unsigned int numberOfThreads, ICellNeigh neighborCoarseToFine); - -void ScaleCF_RhoSq_comp_27(LBMSimulationParameter* parameterDeviceC, LBMSimulationParameter* parameterDeviceF, - ICells* interpolationCellsCoarseToFine, ICellNeigh& neighborCoarseToFine, CUstream_st* stream); - template <bool hasTurbulentViscosity> -void ScaleCF_compressible(LBMSimulationParameter* parameterDeviceC, LBMSimulationParameter* parameterDeviceF, - ICells* interpolationCellsCoarseToFine, ICellNeigh& neighborCoarseToFine, CUstream_st* stream); - -void ScaleCF_RhoSq_3rdMom_comp_27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, - unsigned int* neighborFZ, unsigned long long numberOfLBnodesC, - unsigned long long numberOfLBnodesF, bool isEvenTimestep, unsigned int* posCSWB, - unsigned int* posFSWB, unsigned int kCF, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, - unsigned int numberOfThreads, ICellNeigh neighborCoarseToFine, CUstream_st* stream); - -void ScaleCF_AA2016_comp_27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, unsigned int* neighborCZ, - unsigned int* neighborFX, unsigned int* neighborFY, unsigned int* neighborFZ, - unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, bool isEvenTimestep, - unsigned int* posCSWB, unsigned int* posFSWB, unsigned int kCF, real omCoarse, real omFine, - real nu, unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, - unsigned int numberOfThreads, ICellNeigh neighborCoarseToFine, CUstream_st* stream); - -void ScaleCF_NSPress_27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, unsigned int* neighborCZ, - unsigned int* neighborFX, unsigned int* neighborFY, unsigned int* neighborFZ, - unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, bool isEvenTimestep, - unsigned int* posCSWB, unsigned int* posFSWB, unsigned int kCF, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, unsigned int numberOfThreads, - ICellNeigh neighborCoarseToFine); - -void ScaleFC_Fix_27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, unsigned int* neighborCZ, - unsigned int* neighborFX, unsigned int* neighborFY, unsigned int* neighborFZ, - unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, bool isEvenTimestep, - unsigned int* posC, unsigned int* posFSWB, unsigned int kFC, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, unsigned int numberOfThreads, - ICellNeigh neighborFineToCoarse); - -void ScaleFC_Fix_comp_27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, unsigned int* neighborCZ, - unsigned int* neighborFX, unsigned int* neighborFY, unsigned int* neighborFZ, - unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, bool isEvenTimestep, - unsigned int* posC, unsigned int* posFSWB, unsigned int kFC, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, - unsigned int numberOfThreads, ICellNeigh neighborFineToCoarse); - -void ScaleFC_0817_comp_27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, unsigned int* neighborCZ, - unsigned int* neighborFX, unsigned int* neighborFY, unsigned int* neighborFZ, - unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, bool isEvenTimestep, - unsigned int* posC, unsigned int* posFSWB, unsigned int kFC, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, - unsigned int numberOfThreads, ICellNeigh neighborFineToCoarse, CUstream_st* stream); - -void ScaleFC_comp_D3Q27F3_2018(real* DC, real* DF, real* G6, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, - unsigned int* neighborFZ, unsigned long long numberOfLBnodesC, - unsigned long long numberOfLBnodesF, bool isEvenTimestep, unsigned int* posC, - unsigned int* posFSWB, unsigned int kFC, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, - unsigned int numberOfThreads, ICellNeigh neighborFineToCoarse); - -void ScaleFC_comp_D3Q27F3(real* DC, real* DF, real* G6, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, - unsigned int* neighborFZ, unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, - bool isEvenTimestep, unsigned int* posC, unsigned int* posFSWB, unsigned int kFC, real omCoarse, - real omFine, real nu, unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, - unsigned int numberOfThreads, ICellNeigh neighborFineToCoarse, CUstream_st* stream); - -void ScaleFC_staggered_time_comp_27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, - unsigned int* neighborFZ, unsigned long long numberOfLBnodesC, - unsigned long long numberOfLBnodesF, bool isEvenTimestep, unsigned int* posC, - unsigned int* posFSWB, unsigned int kFC, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, - unsigned int numberOfThreads, ICellNeigh neighborFineToCoarse); - -void ScaleFC_RhoSq_comp_27(LBMSimulationParameter* parameterDeviceC, LBMSimulationParameter* parameterDeviceF, - ICells* interpolationCellsFineToCoarse, ICellNeigh& neighborFineToCoarse, CUstream_st* stream); +void scaleCoarseToFineCompressible( + LBMSimulationParameter* parameterDeviceC, + LBMSimulationParameter* parameterDeviceF, + ICells* interpolationCellsCoarseToFine, + ICellNeigh& neighborCoarseToFine, + CUstream_st* stream); template <bool hasTurbulentViscosity> -void ScaleFC_compressible(LBMSimulationParameter* parameterDeviceC, LBMSimulationParameter* parameterDeviceF, - ICells* icellFC, ICellNeigh& neighborFineToCoarse, CUstream_st* stream); - -void ScaleFC_RhoSq_3rdMom_comp_27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, - unsigned int* neighborFZ, unsigned long long numberOfLBnodesC, - unsigned long long numberOfLBnodesF, bool isEvenTimestep, unsigned int* posC, - unsigned int* posFSWB, unsigned int kFC, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, - unsigned int numberOfThreads, ICellNeigh neighborFineToCoarse, CUstream_st* stream); - -void ScaleFC_AA2016_comp_27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, unsigned int* neighborCZ, - unsigned int* neighborFX, unsigned int* neighborFY, unsigned int* neighborFZ, - unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, bool isEvenTimestep, - unsigned int* posC, unsigned int* posFSWB, unsigned int kFC, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, - unsigned int numberOfThreads, ICellNeigh neighborFineToCoarse, CUstream_st* stream); - -void ScaleFC_NSPress_27(real* DC, real* DF, unsigned int* neighborCX, unsigned int* neighborCY, unsigned int* neighborCZ, - unsigned int* neighborFX, unsigned int* neighborFY, unsigned int* neighborFZ, - unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, bool isEvenTimestep, - unsigned int* posC, unsigned int* posFSWB, unsigned int kFC, real omCoarse, real omFine, real nu, - unsigned int nxC, unsigned int nyC, unsigned int nxF, unsigned int nyF, unsigned int numberOfThreads, - ICellNeigh neighborFineToCoarse); - -void ScaleCFThS7(real* DC, real* DF, real* DD7C, real* DD7F, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, unsigned int* neighborFZ, - unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, bool isEvenTimestep, - unsigned int* posCSWB, unsigned int* posFSWB, unsigned int kCF, real nu, real diffusivity_fine, - unsigned int numberOfThreads); - -void ScaleFCThS7(real* DC, real* DF, real* DD7C, real* DD7F, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, unsigned int* neighborFZ, - unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, bool isEvenTimestep, - unsigned int* posC, unsigned int* posFSWB, unsigned int kFC, real nu, real diffusivity_coarse, - unsigned int numberOfThreads); - -void ScaleCFThSMG7(real* DC, real* DF, real* DD7C, real* DD7F, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, unsigned int* neighborFZ, - unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, bool isEvenTimestep, - unsigned int* posCSWB, unsigned int* posFSWB, unsigned int kCF, real nu, real diffusivity_fine, - unsigned int numberOfThreads, ICellNeigh neighborCoarseToFine); - -void ScaleFCThSMG7(real* DC, real* DF, real* DD7C, real* DD7F, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, unsigned int* neighborFZ, - unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, bool isEvenTimestep, - unsigned int* posC, unsigned int* posFSWB, unsigned int kFC, real nu, real diffusivity_coarse, - unsigned int numberOfThreads, ICellNeigh neighborFineToCoarse); - -void ScaleCFThS27(real* DC, real* DF, real* DD27C, real* DD27F, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, unsigned int* neighborFZ, - unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, bool isEvenTimestep, - unsigned int* posCSWB, unsigned int* posFSWB, unsigned int kCF, real nu, real diffusivity_fine, - unsigned int numberOfThreads, ICellNeigh neighborCoarseToFine); - -void ScaleFCThS27(real* DC, real* DF, real* DD27C, real* DD27F, unsigned int* neighborCX, unsigned int* neighborCY, - unsigned int* neighborCZ, unsigned int* neighborFX, unsigned int* neighborFY, unsigned int* neighborFZ, - unsigned long long numberOfLBnodesC, unsigned long long numberOfLBnodesF, bool isEvenTimestep, - unsigned int* posC, unsigned int* posFSWB, unsigned int kFC, real nu, real diffusivity_coarse, - unsigned int numberOfThreads, ICellNeigh neighborFineToCoarse); +void scaleFineToCoarseCompressible( + LBMSimulationParameter* parameterDeviceC, + LBMSimulationParameter* parameterDeviceF, + ICells* icellFC, + ICellNeigh& neighborFineToCoarse, + CUstream_st* stream); #endif diff --git a/src/gpu/core/GridScaling/scaleCF_compressible.cu b/src/gpu/core/GridScaling/scaleCoarseToFineCompressible.cu similarity index 94% rename from src/gpu/core/GridScaling/scaleCF_compressible.cu rename to src/gpu/core/GridScaling/scaleCoarseToFineCompressible.cu index 3c8c2f3af2098c4c4d8f1dd15b2703edbc137795..01c63875e021b8921f9f7c57e388bde18db7350d 100644 --- a/src/gpu/core/GridScaling/scaleCF_compressible.cu +++ b/src/gpu/core/GridScaling/scaleCoarseToFineCompressible.cu @@ -26,8 +26,6 @@ // You should have received a copy of the GNU General Public License along // with VirtualFluids (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // -//! \file scaleCF_compressible.cu -//! \ingroup GPU/GridScaling //! \author Martin Schoenherr, Anna Wellmann //======================================================================================= @@ -300,8 +298,7 @@ template <bool hasTurbulentViscosity> __device__ void interpolate( //! //! The function is executed in the following steps: //! -// based on scaleCF_RhoSq_comp_27 -template<bool hasTurbulentViscosity> __global__ void scaleCF_compressible( +template<bool hasTurbulentViscosity> __global__ void scaleCoarseToFineCompressible_Device( real* distributionsCoarse, real* distributionsFine, unsigned int* neighborXcoarse, @@ -526,6 +523,6 @@ template<bool hasTurbulentViscosity> __global__ void scaleCF_compressible( turbulentViscosityFine); } -template __global__ void scaleCF_compressible<true>( real* distributionsCoarse, real* distributionsFine, unsigned int* neighborXcoarse, unsigned int* neighborYcoarse, unsigned int* neighborZcoarse, unsigned int* neighborXfine, unsigned int* neighborYfine, unsigned int* neighborZfine, unsigned long long numberOfLBnodesCoarse, unsigned long long numberOfLBnodesFine, bool isEvenTimestep, unsigned int* indicesCoarseMMM, unsigned int* indicesFineMMM, unsigned int numberOfInterfaceNodes, real omegaCoarse, real omegaFine, real* turbulentViscosityCoarse, real* turbulentViscosityFine, ICellNeigh offsetCF); +template __global__ void scaleCoarseToFineCompressible_Device<true>( real* distributionsCoarse, real* distributionsFine, unsigned int* neighborXcoarse, unsigned int* neighborYcoarse, unsigned int* neighborZcoarse, unsigned int* neighborXfine, unsigned int* neighborYfine, unsigned int* neighborZfine, unsigned long long numberOfLBnodesCoarse, unsigned long long numberOfLBnodesFine, bool isEvenTimestep, unsigned int* indicesCoarseMMM, unsigned int* indicesFineMMM, unsigned int numberOfInterfaceNodes, real omegaCoarse, real omegaFine, real* turbulentViscosityCoarse, real* turbulentViscosityFine, ICellNeigh offsetCF); -template __global__ void scaleCF_compressible<false>( real* distributionsCoarse, real* distributionsFine, unsigned int* neighborXcoarse, unsigned int* neighborYcoarse, unsigned int* neighborZcoarse, unsigned int* neighborXfine, unsigned int* neighborYfine, unsigned int* neighborZfine, unsigned long long numberOfLBnodesCoarse, unsigned long long numberOfLBnodesFine, bool isEvenTimestep, unsigned int* indicesCoarseMMM, unsigned int* indicesFineMMM, unsigned int numberOfInterfaceNodes, real omegaCoarse, real omegaFine, real* turbulentViscosityCoarse, real* turbulentViscosityFine, ICellNeigh offsetCF); \ No newline at end of file +template __global__ void scaleCoarseToFineCompressible_Device<false>( real* distributionsCoarse, real* distributionsFine, unsigned int* neighborXcoarse, unsigned int* neighborYcoarse, unsigned int* neighborZcoarse, unsigned int* neighborXfine, unsigned int* neighborYfine, unsigned int* neighborZfine, unsigned long long numberOfLBnodesCoarse, unsigned long long numberOfLBnodesFine, bool isEvenTimestep, unsigned int* indicesCoarseMMM, unsigned int* indicesFineMMM, unsigned int numberOfInterfaceNodes, real omegaCoarse, real omegaFine, real* turbulentViscosityCoarse, real* turbulentViscosityFine, ICellNeigh offsetCF); \ No newline at end of file diff --git a/src/gpu/core/GridScaling/scaleFC_compressible.cu b/src/gpu/core/GridScaling/scaleFineToCoarseCompressible.cu similarity index 79% rename from src/gpu/core/GridScaling/scaleFC_compressible.cu rename to src/gpu/core/GridScaling/scaleFineToCoarseCompressible.cu index 8058e6362c07e326d4a3fd47f17caf4bc1601522..c072cbf3402e1929ec4cb54a2a9447b8c8eebce2 100644 --- a/src/gpu/core/GridScaling/scaleFC_compressible.cu +++ b/src/gpu/core/GridScaling/scaleFineToCoarseCompressible.cu @@ -26,8 +26,6 @@ // You should have received a copy of the GNU General Public License along // with VirtualFluids (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // -//! \file scaleFC_compressible.cu -//! \ingroup GPU/GridScaling //! \author Martin Schoenherr, Anna Wellmann //======================================================================================= @@ -71,8 +69,7 @@ template <bool hasTurbulentViscosity> __device__ void interpolate( ////////////////////////////////////////////////////////////////////////// //! \brief Interpolate from fine to coarse //! \details This scaling function is designed for the Cumulant K17 Kernel chimera collision kernel -// based on scaleFC_RhoSq_comp_27 -template<bool hasTurbulentViscosity> __global__ void scaleFC_compressible( +template<bool hasTurbulentViscosity> __global__ void scaleFineToCoarseCompressible_Device( real *distributionsCoarse, real *distributionsFine, unsigned int *neighborXcoarse, @@ -122,6 +119,6 @@ template<bool hasTurbulentViscosity> __global__ void scaleFC_compressible( isEvenTimestep); } -template __global__ void scaleFC_compressible<true>(real *distributionsCoarse, real *distributionsFine, unsigned int *neighborXcoarse, unsigned int *neighborYcoarse, unsigned int *neighborZcoarse, unsigned int *neighborXfine, unsigned int *neighborYfine, unsigned int *neighborZfine, unsigned long long numberOfLBnodesCoarse, unsigned long long numberOfLBnodesFine, bool isEvenTimestep, unsigned int *indicesCoarse000, unsigned int *indicesFineMMM, unsigned int numberOfInterfaceNodes, real omegaCoarse, real omegaFine, real* turbulentViscosityCoarse, real* turbulentViscosityFine, ICellNeigh neighborFineToCoarse); +template __global__ void scaleFineToCoarseCompressible_Device<true>(real *distributionsCoarse, real *distributionsFine, unsigned int *neighborXcoarse, unsigned int *neighborYcoarse, unsigned int *neighborZcoarse, unsigned int *neighborXfine, unsigned int *neighborYfine, unsigned int *neighborZfine, unsigned long long numberOfLBnodesCoarse, unsigned long long numberOfLBnodesFine, bool isEvenTimestep, unsigned int *indicesCoarse000, unsigned int *indicesFineMMM, unsigned int numberOfInterfaceNodes, real omegaCoarse, real omegaFine, real* turbulentViscosityCoarse, real* turbulentViscosityFine, ICellNeigh neighborFineToCoarse); -template __global__ void scaleFC_compressible<false>(real *distributionsCoarse, real *distributionsFine, unsigned int *neighborXcoarse, unsigned int *neighborYcoarse, unsigned int *neighborZcoarse, unsigned int *neighborXfine, unsigned int *neighborYfine, unsigned int *neighborZfine, unsigned long long numberOfLBnodesCoarse, unsigned long long numberOfLBnodesFine, bool isEvenTimestep, unsigned int *indicesCoarse000, unsigned int *indicesFineMMM, unsigned int numberOfInterfaceNodes, real omegaCoarse, real omegaFine, real* turbulentViscosityCoarse, real* turbulentViscosityFine, ICellNeigh neighborFineToCoarse); \ No newline at end of file +template __global__ void scaleFineToCoarseCompressible_Device<false>(real *distributionsCoarse, real *distributionsFine, unsigned int *neighborXcoarse, unsigned int *neighborYcoarse, unsigned int *neighborZcoarse, unsigned int *neighborXfine, unsigned int *neighborYfine, unsigned int *neighborZfine, unsigned long long numberOfLBnodesCoarse, unsigned long long numberOfLBnodesFine, bool isEvenTimestep, unsigned int *indicesCoarse000, unsigned int *indicesFineMMM, unsigned int numberOfInterfaceNodes, real omegaCoarse, real omegaFine, real* turbulentViscosityCoarse, real* turbulentViscosityFine, ICellNeigh neighborFineToCoarse); \ No newline at end of file