This commit is contained in:
张壹 2025-01-16 14:28:42 +08:00
parent e67ec1a28d
commit 0fe61943d7

View File

@ -450,7 +450,7 @@ void gkernel_triangle2d_vz2(gctl::matrix<double> &out_kernel, const gctl::array<
{
obsg.x = gkernel_triangle2d_vx_sig(ele.get(j), &obsc);
obsg.y = gkernel_triangle2d_vz_sig(ele.get(j), &obsc);
out_kernel[i][j] = obsg.y*sin(obsp[i].arc) + obsg.x*cos(obsp[i].arc);
out_kernel[i][j] = obsg.y*sin(obsp[i].arc) - obsg.x*cos(obsp[i].arc);
}
}
}
@ -478,7 +478,7 @@ void gkernel_triangle2d_vx2(gctl::matrix<double> &out_kernel, const gctl::array<
{
obsg.x = gkernel_triangle2d_vx_sig(ele.get(j), &obsc);
obsg.y = gkernel_triangle2d_vz_sig(ele.get(j), &obsc);
out_kernel[i][j] = obsg.y*cos(obsp[i].arc) + obsg.x*sin(obsp[i].arc);
out_kernel[i][j] = -1.0*obsg.y*cos(obsp[i].arc) + obsg.x*sin(obsp[i].arc);
}
}
}
@ -509,8 +509,8 @@ void gkernel_triangle2d_vxx2(gctl::matrix<double> &out_kernel, const gctl::array
t[1][1] = gkernel_triangle2d_vzz_sig(ele.get(j), &obsc);
t[0][0] = -1.0*t[1][1];
t[0][1] = t[1][0];
out_kernel[i][j] = cos(obsp[i].arc)*(t[0][0]*cos(obsp[i].arc) + t[1][0]*sin(obsp[i].arc))
+ sin(obsp[i].arc)*(t[0][1]*cos(obsp[i].arc) + t[1][1]*sin(obsp[i].arc));
out_kernel[i][j] = sin(obsp[i].arc)*(t[0][0]*sin(obsp[i].arc) - t[1][0]*cos(obsp[i].arc))
- cos(obsp[i].arc)*(t[0][1]*sin(obsp[i].arc) - t[1][1]*cos(obsp[i].arc));
}
}
}
@ -541,8 +541,8 @@ void gkernel_triangle2d_vxz2(gctl::matrix<double> &out_kernel, const gctl::array
t[1][1] = gkernel_triangle2d_vzz_sig(ele.get(j), &obsc);
t[0][0] = -1.0*t[1][1];
t[0][1] = t[1][0];
out_kernel[i][j] = sin(obsp[i].arc)*(t[0][0]*cos(obsp[i].arc) + t[1][0]*sin(obsp[i].arc))
+ cos(obsp[i].arc)*(t[0][1]*cos(obsp[i].arc) + t[1][1]*sin(obsp[i].arc));
out_kernel[i][j] = -1.0*cos(obsp[i].arc)*(t[0][0]*sin(obsp[i].arc) - t[1][0]*cos(obsp[i].arc))
+ sin(obsp[i].arc)*(t[0][1]*sin(obsp[i].arc) - t[1][1]*cos(obsp[i].arc));
}
}
}
@ -573,8 +573,8 @@ void gkernel_triangle2d_vzx2(gctl::matrix<double> &out_kernel, const gctl::array
t[1][1] = gkernel_triangle2d_vzz_sig(ele.get(j), &obsc);
t[0][0] = -1.0*t[1][1];
t[0][1] = t[1][0];
out_kernel[i][j] = cos(obsp[i].arc)*(t[0][0]*sin(obsp[i].arc) + t[1][0]*cos(obsp[i].arc))
+ sin(obsp[i].arc)*(t[0][1]*sin(obsp[i].arc) + t[1][1]*cos(obsp[i].arc));
out_kernel[i][j] = sin(obsp[i].arc)*(t[1][0]*sin(obsp[i].arc) - t[0][0]*cos(obsp[i].arc))
- cos(obsp[i].arc)*(t[1][1]*sin(obsp[i].arc) - t[0][1]*cos(obsp[i].arc));
}
}
}
@ -605,8 +605,8 @@ void gkernel_triangle2d_vzz2(gctl::matrix<double> &out_kernel, const gctl::array
t[1][1] = gkernel_triangle2d_vzz_sig(ele.get(j), &obsc);
t[0][0] = -1.0*t[1][1];
t[0][1] = t[1][0];
out_kernel[i][j] = sin(obsp[i].arc)*(t[0][0]*sin(obsp[i].arc) + t[1][0]*cos(obsp[i].arc))
+ cos(obsp[i].arc)*(t[0][1]*sin(obsp[i].arc) + t[1][1]*cos(obsp[i].arc));
out_kernel[i][j] = -1.0*cos(obsp[i].arc)*(t[1][0]*sin(obsp[i].arc) - t[0][0]*cos(obsp[i].arc))
+ sin(obsp[i].arc)*(t[1][1]*sin(obsp[i].arc) - t[0][1]*cos(obsp[i].arc));
}
}
}
@ -775,9 +775,9 @@ void gobser_triangle2d_vz2(gctl::array<double> &out_obs, const gctl::array<gctl:
for (i = 0; i < o_size; i++)
{
obsc = obsp[i].p2c();
obsg.x = gkernel_triangle2d_vx_sig(ele.get(j), &obsc);
obsg.y = gkernel_triangle2d_vz_sig(ele.get(j), &obsc);
out_obs[i] += (obsg.y*sin(obsp[i].arc) + obsg.x*cos(obsp[i].arc))*rho[j];
obsg.x = gkernel_triangle2d_vx_sig(ele.get(j), &obsc); // 沿x轴正方向的重力值
obsg.y = gkernel_triangle2d_vz_sig(ele.get(j), &obsc); // 沿z轴负方向的重力值
out_obs[i] += (obsg.y*sin(obsp[i].arc) - obsg.x*cos(obsp[i].arc))*rho[j]; // 沿半径负方向的重力值
}
}
return;
@ -803,9 +803,9 @@ void gobser_triangle2d_vx2(gctl::array<double> &out_obs, const gctl::array<gctl:
for (i = 0; i < o_size; i++)
{
obsc = obsp[i].p2c();
obsg.x = gkernel_triangle2d_vx_sig(ele.get(j), &obsc);
obsg.y = gkernel_triangle2d_vz_sig(ele.get(j), &obsc);
out_obs[i] += (obsg.y*cos(obsp[i].arc) + obsg.x*sin(obsp[i].arc))*rho[j];
obsg.x = gkernel_triangle2d_vx_sig(ele.get(j), &obsc); // 沿x轴正方向的重力值
obsg.y = gkernel_triangle2d_vz_sig(ele.get(j), &obsc); // 沿z轴负方向的重力值
out_obs[i] += (-1.0*obsg.y*cos(obsp[i].arc) + obsg.x*sin(obsp[i].arc))*rho[j]; // 沿弧度负方向的重力值
}
}
return;
@ -836,8 +836,8 @@ void gobser_triangle2d_vxx2(gctl::array<double> &out_obs, const gctl::array<gctl
t[1][1] = gkernel_triangle2d_vzz_sig(ele.get(j), &obsc);
t[0][0] = -1.0*t[1][1];
t[0][1] = t[1][0];
out_obs[i] += -1.0*(cos(obsp[i].arc)*(t[0][0]*cos(obsp[i].arc) + t[1][0]*sin(obsp[i].arc))
+ sin(obsp[i].arc)*(t[0][1]*cos(obsp[i].arc) + t[1][1]*sin(obsp[i].arc)))*rho[j];
out_obs[i] += (sin(obsp[i].arc)*(t[0][0]*sin(obsp[i].arc) - t[1][0]*cos(obsp[i].arc))
- cos(obsp[i].arc)*(t[0][1]*sin(obsp[i].arc) - t[1][1]*cos(obsp[i].arc)))*rho[j];
}
}
}
@ -867,8 +867,8 @@ void gobser_triangle2d_vxz2(gctl::array<double> &out_obs, const gctl::array<gctl
t[1][1] = gkernel_triangle2d_vzz_sig(ele.get(j), &obsc);
t[0][0] = -1.0*t[1][1];
t[0][1] = t[1][0];
out_obs[i] += (sin(obsp[i].arc)*(t[0][0]*cos(obsp[i].arc) + t[1][0]*sin(obsp[i].arc))
+ cos(obsp[i].arc)*(t[0][1]*cos(obsp[i].arc) + t[1][1]*sin(obsp[i].arc)))*rho[j];
out_obs[i] += (-1.0*cos(obsp[i].arc)*(t[0][0]*sin(obsp[i].arc) - t[1][0]*cos(obsp[i].arc))
+ sin(obsp[i].arc)*(t[0][1]*sin(obsp[i].arc) - t[1][1]*cos(obsp[i].arc)))*rho[j];
}
}
}
@ -898,8 +898,8 @@ void gobser_triangle2d_vzx2(gctl::array<double> &out_obs, const gctl::array<gctl
t[1][1] = gkernel_triangle2d_vzz_sig(ele.get(j), &obsc);
t[0][0] = -1.0*t[1][1];
t[0][1] = t[1][0];
out_obs[i] += (cos(obsp[i].arc)*(t[0][0]*sin(obsp[i].arc) + t[1][0]*cos(obsp[i].arc))
+ sin(obsp[i].arc)*(t[0][1]*sin(obsp[i].arc) + t[1][1]*cos(obsp[i].arc)))*rho[j];
out_obs[i] += (sin(obsp[i].arc)*(t[1][0]*sin(obsp[i].arc) - t[0][0]*cos(obsp[i].arc))
- cos(obsp[i].arc)*(t[1][1]*sin(obsp[i].arc) - t[0][1]*cos(obsp[i].arc)))*rho[j];
}
}
}
@ -929,8 +929,8 @@ void gobser_triangle2d_vzz2(gctl::array<double> &out_obs, const gctl::array<gctl
t[1][1] = gkernel_triangle2d_vzz_sig(ele.get(j), &obsc);
t[0][0] = -1.0*t[1][1];
t[0][1] = t[1][0];
out_obs[i] += -1.0*(sin(obsp[i].arc)*(t[0][0]*sin(obsp[i].arc) + t[1][0]*cos(obsp[i].arc))
+ cos(obsp[i].arc)*(t[0][1]*sin(obsp[i].arc) + t[1][1]*cos(obsp[i].arc)))*rho[j];
out_obs[i] += (-1.0*cos(obsp[i].arc)*(t[1][0]*sin(obsp[i].arc) - t[0][0]*cos(obsp[i].arc))
+ sin(obsp[i].arc)*(t[1][1]*sin(obsp[i].arc) - t[0][1]*cos(obsp[i].arc)))*rho[j];
}
}
}