![]() |
GPUE
v1.0
GPU Gross-Pitaevskii Equation numerical solver for Bose-Einstein condensates
|
File for dynamic parameter parsing. More...

Go to the source code of this file.
Functions | |
| EqnNode | parse_eqn (Grid &par, std::string eqn_string, std::string val_str) |
| Parses a provided equation string into an Abstract Syntax Tree ,. More... | |
| void | find_element_num (EqnNode eqn_tree, int &element_num) |
| finds the total number of elements in an Abstract Syntax Tree , More... | |
| void | tree_to_array (EqnNode eqn, EqnNode_gpu *eqn_array, int &element_num) |
| Transforms an AST into a GPU array ,. More... | |
| void | allocate_equation (EqnNode_gpu *eqn_cpu, EqnNode_gpu *eqn_gpu, int n) |
| Allocates space on GPU for AST ,. More... | |
| void | parse_param_file (Grid &par) |
| Parses a provided file into Abstract Syntax Trees ,. More... | |
| __device__ double | evaluate_eqn_gpu (EqnNode_gpu *eqn, double x, double y, double z, double time, int element_num) |
| Evaluates a GPU AST with provided x, y, z, and t valued ,. More... | |
| __global__ void | find_field (double *field, double dx, double dy, double dz, double xMax, double yMax, double zMax, double time, EqnNode_gpu *eqn) |
| Creates a fields for all values of x, y, and z with AST ,. More... | |
| __global__ void | zeros (double *field, int n) |
| Creates a field of all zeros ,. More... | |
| __device__ double | poly_j (int v, double x, int n) |
| Polynomial approximation for J bessel functions ,. More... | |
File for dynamic parameter parsing.
This file has all functions necessary for dynamic parameter parsing, including parsing equation strings into abstract syntax trees
Definition in file dynamic.h.
| void allocate_equation | ( | EqnNode_gpu * | eqn_cpu, |
| EqnNode_gpu * | eqn_gpu, | ||
| int | n | ||
| ) |
Allocates space on GPU for AST ,.
| CPU | AST |
| GPU | AST |
| Element | number |
| __device__ double evaluate_eqn_gpu | ( | EqnNode_gpu * | eqn, |
| double | x, | ||
| double | y, | ||
| double | z, | ||
| double | time, | ||
| int | element_num | ||
| ) |
Evaluates a GPU AST with provided x, y, z, and t valued ,.
| GPUE | AST |
| x | |
| y | |
| z | |
| t | |
| element | number |
| void find_element_num | ( | EqnNode | eqn_tree, |
| int & | element_num | ||
| ) |
finds the total number of elements in an Abstract Syntax Tree ,
| AST | |
| A | count for each node |
| __global__ void find_field | ( | double * | field, |
| double | dx, | ||
| double | dy, | ||
| double | dz, | ||
| double | xMax, | ||
| double | yMax, | ||
| double | zMax, | ||
| double | time, | ||
| EqnNode_gpu * | eqn | ||
| ) |
Creates a fields for all values of x, y, and z with AST ,.
| Field | |
| dx | |
| dy | |
| dz | |
| xMax | |
| yMax | |
| zMax | |
| time | |
| GPUE | AST |
Parses a provided equation string into an Abstract Syntax Tree ,.
| Parameter | set |
| Equation | string |
| String | value to store in node |
| void parse_param_file | ( | Grid & | par | ) |
Parses a provided file into Abstract Syntax Trees ,.
| Parameter | set |
| __device__ double poly_j | ( | int | v, |
| double | x, | ||
| int | n | ||
| ) |
Polynomial approximation for J bessel functions ,.
| Order | of bessel function |
| x | position |
| power | of bessel function |
| void tree_to_array | ( | EqnNode | eqn, |
| EqnNode_gpu * | eqn_array, | ||
| int & | element_num | ||
| ) |
Transforms an AST into a GPU array ,.
| CPU | AST |
| GPU | AST |
| Total | number of elements |
| __global__ void zeros | ( | double * | field, |
| int | n | ||
| ) |
Creates a field of all zeros ,.
| Field | |
| gridSize |