Commit da76938e authored by Pierre Aubert's avatar Pierre Aubert
Browse files

Add base of skeleton to make simulation performance test with Gray Scott propagation

parent 3f87c65a
En 2D :
Une matrice (1920x1080), composé de A, et on ajoute un peu de B
Réaction A + 2B => 3B
https://pmneila.github.io/jsexp/grayscott/
https://www.algosome.com/articles/reaction-diffusion-gray-scott.html
///@brief Matrix of the concentation of the U specie
MatrixHdf5[matrix]{
///Matrix of the concentration of the U specie
Tensor(float, nbRow, nbCol) tabMat[image];
}
/***************************************
Auteur : Pierre Aubert
Mail : aubertp7@gmail.com
Licence : CeCILL-C
****************************************/
#include "naive_propagation.h"
///Propagate the U and V species in the matU and matV
/** @param[out] outMatU : updated matrix U version
* @param[out] outMatV : updated matrix V version
* @param matU : input of matrix U
* @param matV : input of matrix V
* @param nbRow : number of rows of the matrices
* @param nbCol : number of columns of the matrices
* @param matDeltaSquare : matrix of the delta square values
* @param nbStencilRow : number of rows of the matrix matDeltaSquare
* @param nbStencilCol : number of columns of the matrix matDeltaSquare
* @param diffudionRateU : diffusion rate of the U specie
* @param diffudionRateV : diffusion rate of the V specie
* @param feedRate : rate of the process which feeds U and drains U, V and P
* @param killRate : rate of hte process which converts V into P
*/
void naive_propagation(float * outMatU, float * outMatV, const float * matU, const float * matV, size_t nbRow, size_t nbCol,
const float * matDeltaSquare, size_t nbStencilRow, size_t nbStencilCol,
float diffudionRateU, float diffusionRateV, float feedRate, float killRate)
{
}
/***************************************
Auteur : Pierre Aubert
Mail : aubertp7@gmail.com
Licence : CeCILL-C
****************************************/
#ifndef __NAIVE_PROPAGATION_H__
#define __NAIVE_PROPAGATION_H__
#include <iostream>
void naive_propagation(float * outMatU, float * outMatV, const float * matU, const float * matV, size_t nbRow, size_t nbCol,
const float * matDeltaSquare, size_t nbStencilRow, size_t nbStencilCol,
float diffudionRateU, float diffusionRateV, float feedRate, float killRate);
#endif
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment