/* * Copyright 1993-2007 NVIDIA Corporation. All rights reserved. * * NOTICE TO USER: * * This source code is subject to NVIDIA ownership rights under U.S. and * international Copyright laws. Users and possessors of this source code * are hereby granted a nonexclusive, royalty-free license to use this code * in individual and commercial software. * * NVIDIA MAKES NO REPRESENTATION ABOUT THE SUITABILITY OF THIS SOURCE * CODE FOR ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR * IMPLIED WARRANTY OF ANY KIND. NVIDIA DISCLAIMS ALL WARRANTIES WITH * REGARD TO THIS SOURCE CODE, INCLUDING ALL IMPLIED WARRANTIES OF * MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE. * IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL, * OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE * OR PERFORMANCE OF THIS SOURCE CODE. * * U.S. Government End Users. This source code is a "commercial item" as * that term is defined at 48 C.F.R. 2.101 (OCT 1995), consisting of * "commercial computer software" and "commercial computer software * documentation" as such terms are used in 48 C.F.R. 12.212 (SEPT 1995) * and is provided to the U.S. Government only as a commercial end item. * Consistent with 48 C.F.R.12.212 and 48 C.F.R. 227.7202-1 through * 227.7202-4 (JUNE 1995), all U.S. Government End Users acquire the * source code with only those rights set forth herein. * * Any use of this source code in individual and commercial software must * include, in the user documentation and internal comments to the code, * the above Disclaimer and U.S. Government End Users Notice. */ #ifndef _MATRIXMUL_H_ #define _MATRIXMUL_H_ #include // Thread block size #define BLOCK_SIZE 16 // Number of blox #define DIM2 8 #define HORIZONTAL 201 #define VERTICAL 202 // Matrix dimensions // (chosen as multiples of the thread block size for simplicity) #define WPOPA (DIM2 * BLOCK_SIZE) // Matrix A width #define HPOPA (DIM2 * BLOCK_SIZE) // Matrix A height #define WPOPM WPOPA//(8 * BLOCK_SIZE) // Matrix B width #define HPOPM HPOPA//WA // Matrix B height #define WC WPOPM // Matrix C width #define HC HPOPM//HA // Matrix C height //Parameters Original value Explanation and Units #define EX 1000; // Speeding constant //float D = 0.0005; // 0.0005 - m2/h The diffusion constant describing the movement of mussels //float V = 0.1*60*60; // ! 0.10*60*60 - m/s * 60 sec * 60 min = m/h #define D 0.0005 #define V 0.1*60*60*60 // The advection constant describing the flow of algae with the water // Upper Layer Parameters #define Aup 1.2 // ! 1.00 - g/m3 Algal concentration in upper layer; Oosterschelde data #define h 0.10 // ! 0.10 - m Height of the lower layer; defined #define f 100 // ! 100 - m3/m3/h eXchange rate with upper layer; Guestimated #define c 0.1 // ! 0.1 - g/g/h Maximal consumption rate of the mussels; Riisgard 2001 #define e 0.200 // ! 0.2 - g/g Trophic efficiency of mussels; Lamie #define d_M 0.02 // ! 0.02 - g/g/h Density dependent mortality rate of the mussels; Calibrated #define k_M 150 // ! 150 - g/m2 Effect of density on mortality; Guestimated #define Length 25 // ! 25 - m The length of the simulated landscape, in meters #define MAX_STORE 100 //extern void computeGold(float* , float *, float*, float*, float*, unsigned int, unsigned int, unsigned int); #endif // _MATRIXMUL_H_