From c351a5ac13893b1520b8aa24b1f813641c2b1378 Mon Sep 17 00:00:00 2001 From: Yi Zhang Date: Thu, 6 May 2021 21:40:45 +0800 Subject: [PATCH] change TESSEROID to MAG_TESSEROID --- lib/geometry.cpp | 2 +- lib/geometry.h | 8 ++++---- lib/grav_tess.cpp | 26 +++++++++++++------------- lib/grav_tess.h | 38 +++++++++++++++++++------------------- lib/parsers.cpp | 12 ++++++------ lib/parsers.h | 10 +++++----- lib/tessb_main.cpp | 14 +++++++------- lib/tessb_main.h | 6 +++--- 8 files changed, 58 insertions(+), 58 deletions(-) diff --git a/lib/geometry.cpp b/lib/geometry.cpp index 97c1a5f..ec29414 100755 --- a/lib/geometry.cpp +++ b/lib/geometry.cpp @@ -14,7 +14,7 @@ Defines the TESSEROID, SPHERE, and PRISM structures. /* Split a tesseroid into 8. */ -void split_tess(TESSEROID tess, TESSEROID *split) +void split_tess(MAG_TESSEROID tess, MAG_TESSEROID *split) { double dlon = 0.5*(tess.e - tess.w), dlat = 0.5*(tess.n - tess.s), diff --git a/lib/geometry.h b/lib/geometry.h index 516bb21..dd49769 100755 --- a/lib/geometry.h +++ b/lib/geometry.h @@ -3,8 +3,8 @@ Data structures for geometric elements and functions that operate on them. Defines the TESSEROID, SPHERE, and PRISM structures. */ -#ifndef _TESSEROIDS_GEOMETRY_H_ -#define _TESSEROIDS_GEOMETRY_H_ +#ifndef _MAG_TESSEROIDS_GEOMETRY_H_ +#define _MAG_TESSEROIDS_GEOMETRY_H_ /* Store information on a tesseroid */ @@ -29,9 +29,9 @@ typedef struct tess_struct { //double Rx; //double Ry; //double Rz; -} TESSEROID; +} MAG_TESSEROID; -void split_tess(TESSEROID tess, TESSEROID *split); +void split_tess(MAG_TESSEROID tess, MAG_TESSEROID *split); #endif diff --git a/lib/grav_tess.cpp b/lib/grav_tess.cpp index 0c93ba9..eb96815 100755 --- a/lib/grav_tess.cpp +++ b/lib/grav_tess.cpp @@ -22,7 +22,7 @@ Karlsruhe, Germany. /* Calculates the field of a tesseroid model at a given point. */ -double calc_tess_model(TESSEROID *model, int size, double lonp, double latp, double rp, GLQ *glq_lon, GLQ *glq_lat, GLQ *glq_r, double (*field)(TESSEROID, double, double, double, GLQ, GLQ, GLQ)) +double calc_tess_model(MAG_TESSEROID *model, int size, double lonp, double latp, double rp, GLQ *glq_lon, GLQ *glq_lat, GLQ *glq_r, double (*field)(MAG_TESSEROID, double, double, double, GLQ, GLQ, GLQ)) { double res; int tess; @@ -49,7 +49,7 @@ double calc_tess_model(TESSEROID *model, int size, double lonp, double latp, dou return res; } -void calc_tess_model_triple(TESSEROID *model, int size, double lonp, double latp, double rp, GLQ *glq_lon, GLQ *glq_lat, GLQ *glq_r, void (*field_triple)(TESSEROID, double, double, double, GLQ, GLQ, GLQ, double*), double *res) +void calc_tess_model_triple(MAG_TESSEROID *model, int size, double lonp, double latp, double rp, GLQ *glq_lon, GLQ *glq_lat, GLQ *glq_r, void (*field_triple)(MAG_TESSEROID, double, double, double, GLQ, GLQ, GLQ, double*), double *res) { double r1, r2, r3, ri[3]; int tess; @@ -89,11 +89,11 @@ void calc_tess_model_triple(TESSEROID *model, int size, double lonp, double latp /* Adaptatively calculate the field of a tesseroid model at a given point */ -double calc_tess_model_adapt(TESSEROID *model, int size, double lonp, double latp, double rp, GLQ *glq_lon, GLQ *glq_lat, GLQ *glq_r, double (*field)(TESSEROID, double, double, double, GLQ, GLQ, GLQ), double ratio) +double calc_tess_model_adapt(MAG_TESSEROID *model, int size, double lonp, double latp, double rp, GLQ *glq_lon, GLQ *glq_lat, GLQ *glq_r, double (*field)(MAG_TESSEROID, double, double, double, GLQ, GLQ, GLQ), double ratio) { double res, dist, lont, latt, rt, d2r = PI/180.; int tess; - TESSEROID split[8]; + MAG_TESSEROID split[8]; res = 0; for(tess = 0; tess < size; tess++) @@ -153,7 +153,7 @@ double calc_tess_model_adapt(TESSEROID *model, int size, double lonp, double lat } /* Calculates gxx caused by a tesseroid. */ -double tess_gxx(TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, +double tess_gxx(MAG_TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, GLQ glq_lat, GLQ glq_r) { double d2r = PI/180., l_sqr, kphi, coslatp, coslatc, sinlatp, sinlatc, @@ -197,7 +197,7 @@ double tess_gxx(TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon /* Calculates gxy caused by a tesseroid. */ -double tess_gxy(TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, +double tess_gxy(MAG_TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, GLQ glq_lat, GLQ glq_r) { double d2r = PI/180., l_sqr, kphi, coslatp, coslatc, sinlatp, sinlatc, @@ -246,7 +246,7 @@ double tess_gxy(TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon /* Calculates gxz caused by a tesseroid. */ -double tess_gxz(TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, +double tess_gxz(MAG_TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, GLQ glq_lat, GLQ glq_r) { double d2r = PI/180., l_sqr, kphi, coslatp, coslatc, sinlatp, sinlatc, @@ -295,7 +295,7 @@ double tess_gxz(TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon /* Calculates gyy caused by a tesseroid. */ -double tess_gyy(TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, +double tess_gyy(MAG_TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, GLQ glq_lat, GLQ glq_r) { double d2r = PI/180., l_sqr, coslatp, coslatc, sinlatp, sinlatc, @@ -340,7 +340,7 @@ double tess_gyy(TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon /* Calculates gyz caused by a tesseroid. */ -double tess_gyz(TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, +double tess_gyz(MAG_TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, GLQ glq_lat, GLQ glq_r) { double d2r = PI/180., l_sqr, coslatp, coslatc, sinlatp, sinlatc, @@ -388,7 +388,7 @@ double tess_gyz(TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon /* Calculates gzz caused by a tesseroid. */ -double tess_gzz(TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, +double tess_gzz(MAG_TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, GLQ glq_lat, GLQ glq_r) { double d2r = PI/180., l_sqr, coslatp, coslatc, sinlatp, sinlatc, @@ -432,7 +432,7 @@ double tess_gzz(TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon } /*Calculate three gravity gradient components simultaneously*/ -void tess_gxz_gyz_gzz(TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, +void tess_gxz_gyz_gzz(MAG_TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, GLQ glq_lat, GLQ glq_r, double *res) { double d2r = PI/180., l_sqr, coslatp, coslatc, sinlatp, sinlatc, sinlon, @@ -496,7 +496,7 @@ void tess_gxz_gyz_gzz(TESSEROID tess, double lonp, double latp, double rp, GLQ g return; } -void tess_gxx_gxy_gxz(TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, +void tess_gxx_gxy_gxz(MAG_TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, GLQ glq_lat, GLQ glq_r, double *res) { double d2r = PI/180., l_sqr, coslatp, coslatc, sinlatp, sinlatc, sinlon, @@ -562,7 +562,7 @@ void tess_gxx_gxy_gxz(TESSEROID tess, double lonp, double latp, double rp, GLQ g -void tess_gxy_gyy_gyz(TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, +void tess_gxy_gyy_gyz(MAG_TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, GLQ glq_lat, GLQ glq_r, double *res) { double d2r = PI/180., l_sqr, coslatp, coslatc, sinlatp, sinlatc, sinlon, diff --git a/lib/grav_tess.h b/lib/grav_tess.h index b0cf14f..3e0d444 100755 --- a/lib/grav_tess.h +++ b/lib/grav_tess.h @@ -1,6 +1,6 @@ /* Functions that calculate the gravitational potential and its first and second -derivatives for the tesseroid. +derivatives for the MAG_tesseroid. The gravity gradients can be calculated using the general formula of Grombein et al. (2010). @@ -16,7 +16,7 @@ inverted, so a positive density results in positive gz. Example ------- -To calculate the gzz component due to a tesseroid on a regular grid: +To calculate the gzz component due to a MAG_tesseroid on a regular grid: #include #include "glq.h"r @@ -25,7 +25,7 @@ To calculate the gzz component due to a tesseroid on a regular grid: int main() { - TESSEROID tess = {1000, 44, 46, -1, 1, MEAN_EARTH_RADIUS - 100000, + MAG_TESSEROID tess = {1000, 44, 46, -1, 1, MEAN_EARTH_RADIUS - 100000, MEAN_EARTH_RADIUS}; GLQ *glqlon, *glqlat, *glqr; double lon, lat, r = MEAN_EARTH_RADIUS + 1500000, res; @@ -65,29 +65,29 @@ KIT Scientific Reports 7547, ISBN 978-3-86644-510-9, KIT Scientific Publishing, Karlsruhe, Germany. */ -#ifndef _TESSEROIDS_GRAV_TESS_H_ -#define _TESSEROIDS_GRAV_TESS_H_ +#ifndef _MAG_TESSEROIDS_GRAV_TESS_H_ +#define _MAG_TESSEROIDS_GRAV_TESS_H_ -/* Needed for definition of TESSEROID */ +/* Needed for definition of MAG_TESSEROID */ #include "geometry.h" /* Needed for definition of GLQ */ #include "glq.h" -double calc_tess_model(TESSEROID *model, int size, double lonp, double latp, double rp, GLQ *glq_lon, GLQ *glq_lat, GLQ *glq_r, double (*field)(TESSEROID, double, double, double, GLQ, GLQ, GLQ)); -void calc_tess_model_triple(TESSEROID *model, int size, double lonp, double latp, double rp, GLQ *glq_lon, GLQ *glq_lat, GLQ *glq_r, - void (*field_triple)(TESSEROID, double, double, double, GLQ, GLQ, GLQ, double*), double *res); -double calc_tess_model_adapt(TESSEROID *model, int size, double lonp, double latp, double rp, GLQ *glq_lon, GLQ *glq_lat, GLQ *glq_r, double (*field)(TESSEROID, double, double, double, GLQ, GLQ, GLQ), double ratio); +double calc_tess_model(MAG_TESSEROID *model, int size, double lonp, double latp, double rp, GLQ *glq_lon, GLQ *glq_lat, GLQ *glq_r, double (*field)(MAG_TESSEROID, double, double, double, GLQ, GLQ, GLQ)); +void calc_tess_model_triple(MAG_TESSEROID *model, int size, double lonp, double latp, double rp, GLQ *glq_lon, GLQ *glq_lat, GLQ *glq_r, + void (*field_triple)(MAG_TESSEROID, double, double, double, GLQ, GLQ, GLQ, double*), double *res); +double calc_tess_model_adapt(MAG_TESSEROID *model, int size, double lonp, double latp, double rp, GLQ *glq_lon, GLQ *glq_lat, GLQ *glq_r, double (*field)(MAG_TESSEROID, double, double, double, GLQ, GLQ, GLQ), double ratio); -double tess_gxx(TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, GLQ glq_lat, GLQ glq_r); -double tess_gxy(TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, GLQ glq_lat, GLQ glq_r); -double tess_gxz(TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, GLQ glq_lat, GLQ glq_r); -double tess_gyy(TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, GLQ glq_lat, GLQ glq_r); -double tess_gyz(TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, GLQ glq_lat, GLQ glq_r); -double tess_gzz(TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, GLQ glq_lat, GLQ glq_r); +double tess_gxx(MAG_TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, GLQ glq_lat, GLQ glq_r); +double tess_gxy(MAG_TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, GLQ glq_lat, GLQ glq_r); +double tess_gxz(MAG_TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, GLQ glq_lat, GLQ glq_r); +double tess_gyy(MAG_TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, GLQ glq_lat, GLQ glq_r); +double tess_gyz(MAG_TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, GLQ glq_lat, GLQ glq_r); +double tess_gzz(MAG_TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, GLQ glq_lat, GLQ glq_r); -void tess_gxz_gyz_gzz(TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, GLQ glq_lat, GLQ glq_r, double *res); -void tess_gxx_gxy_gxz(TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, GLQ glq_lat, GLQ glq_r, double *res); -void tess_gxy_gyy_gyz(TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, GLQ glq_lat, GLQ glq_r, double *res); +void tess_gxz_gyz_gzz(MAG_TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, GLQ glq_lat, GLQ glq_r, double *res); +void tess_gxx_gxy_gxz(MAG_TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, GLQ glq_lat, GLQ glq_r, double *res); +void tess_gxy_gyy_gyz(MAG_TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, GLQ glq_lat, GLQ glq_r, double *res); #endif diff --git a/lib/parsers.cpp b/lib/parsers.cpp index 38a3a48..3fac979 100755 --- a/lib/parsers.cpp +++ b/lib/parsers.cpp @@ -564,7 +564,7 @@ void strstrip(char *str) /* Read a single tesseroid from a string */ -int gets_mag_tess(const char *str, TESSEROID *tess) +int gets_mag_tess(const char *str, MAG_TESSEROID *tess) { double w, e, s, n, top, bot, dens, suscept, Bx, By, Bz, Rx, Ry, Rz; int nread, nchars; @@ -595,14 +595,14 @@ int gets_mag_tess(const char *str, TESSEROID *tess) } //ELDAR BAYKIEV//////////////////////////////// -TESSEROID * read_mag_tess_model(FILE *modelfile, int *size) +MAG_TESSEROID * read_mag_tess_model(FILE *modelfile, int *size) { - TESSEROID *model, *tmp; + MAG_TESSEROID *model, *tmp; int buffsize = 300, line, badinput = 0, error_exit = 0; char sbuff[10000]; /* Start with a single buffer allocation and expand later if necessary */ - model = (TESSEROID *)malloc(buffsize*sizeof(TESSEROID)); + model = (MAG_TESSEROID *)malloc(buffsize*sizeof(MAG_TESSEROID)); if(model == NULL) { log_error("problem allocating initial memory to load tesseroid model."); @@ -630,7 +630,7 @@ TESSEROID * read_mag_tess_model(FILE *modelfile, int *size) if(*size == buffsize) { buffsize += buffsize; - tmp = (TESSEROID *)realloc(model, buffsize*sizeof(TESSEROID)); + tmp = (MAG_TESSEROID *)realloc(model, buffsize*sizeof(MAG_TESSEROID)); if(tmp == NULL) { /* Need to free because realloc leaves unchanged in case of @@ -660,7 +660,7 @@ TESSEROID * read_mag_tess_model(FILE *modelfile, int *size) /* Adjust the size of the model */ if(*size != 0) { - tmp = (TESSEROID *)realloc(model, (*size)*sizeof(TESSEROID)); + tmp = (MAG_TESSEROID *)realloc(model, (*size)*sizeof(MAG_TESSEROID)); if(tmp == NULL) { /* Need to free because realloc leaves unchanged in case of diff --git a/lib/parsers.h b/lib/parsers.h index f351091..c8c9b25 100755 --- a/lib/parsers.h +++ b/lib/parsers.h @@ -3,10 +3,10 @@ Input and output parsing tools. */ -#ifndef _TESSEROIDS_PARSERS_H_ -#define _TESSEROIDS_PARSERS_H_ +#ifndef _MAG_TESSEROIDS_PARSERS_H_ +#define _MAG_TESSEROIDS_PARSERS_H_ -/* Needed for definition of TESSEROID and PRISM */ +/* Needed for definition of MAG_TESSEROID and PRISM */ #include "geometry.h" /* Need for the definition of FILE */ #include @@ -68,8 +68,8 @@ int parse_gradcalc_args(int argc, char **argv, const char *progname, GRADCALC_AR void strstrip(char *str); -int gets_mag_tess(const char *str, TESSEROID *tess); -TESSEROID * read_mag_tess_model(FILE *modelfile, int *size); +int gets_mag_tess(const char *str, MAG_TESSEROID *tess); +MAG_TESSEROID * read_mag_tess_model(FILE *modelfile, int *size); #endif diff --git a/lib/tessb_main.cpp b/lib/tessb_main.cpp index 4f93b9f..82baa4d 100755 --- a/lib/tessb_main.cpp +++ b/lib/tessb_main.cpp @@ -24,7 +24,7 @@ Generic main function for the tessb* programs. /* Print the help message for tessh* programs */ void print_tessb_help(const char *progname) { - printf("MAGNETIC TESSEROIDS\n"); + printf("MAGNETIC MAG_TESSEROIDS\n"); printf("Usage: %s MODELFILE [OPTIONS]\n\n", progname); if(strcmp(progname + 4, "pot") == 0) { @@ -41,12 +41,12 @@ void print_tessb_help(const char *progname) /* Run the main for a generic tessh* program */ int run_tessb_main(int argc, char **argv, const char *progname, - double (*field)(TESSEROID, double, double, double, GLQ, GLQ, GLQ), + double (*field)(MAG_TESSEROID, double, double, double, GLQ, GLQ, GLQ), double ratio1, double ratio2, double ratio3) { TESSB_ARGS args; GLQ *glq_lon, *glq_lat, *glq_r; - TESSEROID *model; + MAG_TESSEROID *model; int modelsize, rc, line, points = 0, error_exit = 0, bad_input = 0; char buff[10000]; @@ -65,10 +65,10 @@ int run_tessb_main(int argc, char **argv, const char *progname, clock_t tstart; struct tm * timeinfo; - double (*field1)(TESSEROID, double, double, double, GLQ, GLQ, GLQ); - double (*field2)(TESSEROID, double, double, double, GLQ, GLQ, GLQ); - double (*field3)(TESSEROID, double, double, double, GLQ, GLQ, GLQ); - void (*field_triple)(TESSEROID, double, double, double, GLQ, GLQ, GLQ, double*); + double (*field1)(MAG_TESSEROID, double, double, double, GLQ, GLQ, GLQ); + double (*field2)(MAG_TESSEROID, double, double, double, GLQ, GLQ, GLQ); + double (*field3)(MAG_TESSEROID, double, double, double, GLQ, GLQ, GLQ); + void (*field_triple)(MAG_TESSEROID, double, double, double, GLQ, GLQ, GLQ, double*); double ggt_1, ggt_2, ggt_3; double gtt_v[3]; int n_tesseroid; diff --git a/lib/tessb_main.h b/lib/tessb_main.h index 7a0ac83..19f96de 100755 --- a/lib/tessb_main.h +++ b/lib/tessb_main.h @@ -2,13 +2,13 @@ Generic main function for the tessb* programs. */ -#ifndef _TESSEROIDS_TESSH_MAIN_H_ -#define _TESSEROIDS_TESSH_MAIN_H_ +#ifndef _MAG_TESSEROIDS_TESSH_MAIN_H_ +#define _MAG_TESSEROIDS_TESSH_MAIN_H_ #include "glq.h" #include "geometry.h" void print_tessb_help(const char *progname); -int run_tessb_main(int argc, char **argv, const char *progname, double (*field)(TESSEROID, double, double, double, GLQ, GLQ, GLQ), double ratio1, double ratio2, double ratio3); +int run_tessb_main(int argc, char **argv, const char *progname, double (*field)(MAG_TESSEROID, double, double, double, GLQ, GLQ, GLQ), double ratio1, double ratio2, double ratio3); #endif