FlowSieve  3.0.0
Coarse Graining Routines
/home/docs/checkouts/readthedocs.org/user_builds/flowsieve/checkouts/read_the_docs_testing/differentiation_tools.hpp
Go to the documentation of this file.
1 #ifndef DIFFERENTIATION_TOOLS_HPP
2 #define DIFFERENTIATION_TOOLS_HPP 1
3 
4 #include <stdio.h>
5 #include <stdlib.h>
6 #include <vector>
7 #include <string>
8 #include "constants.hpp"
9 
37  std::vector<double> & diff_array,
38  const double delta,
39  const int index,
40  const int order_of_deriv = 1,
41  const int diff_ord = constants::DiffOrd);
42 
43 
44 
68  std::vector<double> & diff_array,
69  const std::vector<double> & grid,
70  const int Iref,
71  const int LB,
72  const int UB,
73  const int diff_ord = constants::DiffOrd);
74 
75 
91  const std::vector<double*> & deriv_vals,
92  const std::vector<const std::vector<double>*> & fields,
93  const std::vector<double> & grid,
94  const std::string & dim,
95  const int Itime, const int Idepth, const int Ilat, const int Ilon,
96  const int Ntime, const int Ndepth, const int Nlat, const int Nlon,
97  const std::vector<bool> & mask,
98  const int order_of_deriv = 1,
99  const int diff_ord = constants::DiffOrd);
100 
101 
102 
124  const std::vector<double*> & x_deriv_vals,
125  const std::vector<double*> & y_deriv_vals,
126  const std::vector<double*> & z_deriv_vals,
127  const std::vector<const std::vector<double>*> & fields,
128  const std::vector<double> & latitude,
129  const std::vector<double> & longitude,
130  const int Itime, const int Idepth, const int Ilat, const int Ilon,
131  const int Ntime, const int Ndepth, const int Nlat, const int Nlon,
132  const std::vector<bool> & mask,
133  const int order_of_deriv = 1,
134  const int diff_ord = constants::DiffOrd);
135 
136 
137 
156 void get_diff_vector(
157  std::vector<double> & diff_vector,
158  int & LB_ret,
159  const std::vector<double> & grid,
160  const std::string & dim,
161  const int Itime,
162  const int Idepth,
163  const int Ilat,
164  const int Ilon,
165  const int Ntime,
166  const int Ndepth,
167  const int Nlat,
168  const int Nlon,
169  const std::vector<bool> & mask,
170  const int order_of_deriv,
171  const int diff_ord = constants::DiffOrd
172  );
173 
174 #endif
void Cart_derivatives_at_point(const std::vector< double *> &x_deriv_vals, const std::vector< double *> &y_deriv_vals, const std::vector< double *> &z_deriv_vals, const std::vector< const std::vector< double > *> &fields, const std::vector< double > &latitude, const std::vector< double > &longitude, const int Itime, const int Idepth, const int Ilat, const int Ilon, const int Ntime, const int Ndepth, const int Nlat, const int Nlon, const std::vector< bool > &mask, const int order_of_deriv=1, const int diff_ord=constants::DiffOrd)
Computes all Cartesian derivative at a specific point.
Definition: Cart_derivs_at_point.cpp:9
void spher_derivative_at_point(const std::vector< double *> &deriv_vals, const std::vector< const std::vector< double > *> &fields, const std::vector< double > &grid, const std::string &dim, const int Itime, const int Idepth, const int Ilat, const int Ilon, const int Ntime, const int Ndepth, const int Nlat, const int Nlon, const std::vector< bool > &mask, const int order_of_deriv=1, const int diff_ord=constants::DiffOrd)
Computes latitudinal derivative at a specific point.
Definition: spher_derivative_at_point.cpp:8
const int DiffOrd
Differentiation order for finite differencing (currently must be 2, 4, or 6).
Definition: constants.hpp:81
void get_diff_vector(std::vector< double > &diff_vector, int &LB_ret, const std::vector< double > &grid, const std::string &dim, const int Itime, const int Idepth, const int Ilat, const int Ilon, const int Ntime, const int Ndepth, const int Nlat, const int Nlon, const std::vector< bool > &mask, const int order_of_deriv, const int diff_ord=constants::DiffOrd)
Function to return coefficients for differentiation at a target point in space.
Definition: get_diff_vector.cpp:9
void non_uniform_diff_vector(std::vector< double > &diff_array, const std::vector< double > &grid, const int Iref, const int LB, const int UB, const int diff_ord=constants::DiffOrd)
Assign appropriate differentiation vector.
Definition: non_uniform_diff_vector.cpp:9
Provide namespace for global constants (physical and computational).
void differentiation_vector(std::vector< double > &diff_array, const double delta, const int index, const int order_of_deriv=1, const int diff_ord=constants::DiffOrd)
Assign appropriate differentiation vector.
Definition: differentiation_vector.cpp:7