20 #include "../include/ds.h" 81 double z,
double time,
int element_num);
96 __global__
void find_field(
double *field,
double dx,
double dy,
double dz,
97 double xMax,
double yMax,
double zMax,
106 __global__
void zeros(
double *field,
int n);
116 __device__
double poly_j(
int v,
double x,
int n);
EqnNode parse_eqn(Grid &par, std::string eqn_string, std::string val_str)
Parses a provided equation string into an Abstract Syntax Tree ,.
void allocate_equation(EqnNode_gpu *eqn_cpu, EqnNode_gpu *eqn_gpu, int n)
Allocates space on GPU for AST ,.
__global__ void zeros(double *field, int n)
Creates a field of all zeros ,.
Struct to hold the node information for the AST on the CPU.
Struct to hold the node information for the AST on the GPU.
__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 ,.
__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 ,.
__device__ double poly_j(int v, double x, int n)
Polynomial approximation for J bessel functions ,.
void parse_param_file(Grid &par)
Parses a provided file into Abstract Syntax Trees ,.
Class to hold the variable map and grid information.
void tree_to_array(EqnNode eqn, EqnNode_gpu *eqn_array, int &element_num)
Transforms an AST into a GPU array ,.
void find_element_num(EqnNode eqn_tree, int &element_num)
finds the total number of elements in an Abstract Syntax Tree ,