Merge branch 'master' of gitee.com:yizhangss/magtet

This commit is contained in:
张壹 2021-08-06 21:38:39 +08:00
commit d810b054b4
45 changed files with 604021 additions and 6574 deletions

3
.gitignore vendored
View File

@ -32,4 +32,5 @@
*.app
.DS_Store
build/
build/
*.nc

View File

@ -1,9 +1,16 @@
#!/bin/bash
if [[ ${1} == "configure" && ! -d "build/" ]]; then
mkdir build && cd build && rm -rf * && cmake ..
elif [[ ${1} == "configure" ]]; then
cd build && rm -rf * && cmake ..
elif [[ ${1} == "build" ]]; then
cmd=${1}
package=yzToys
address=/opt
if [[ ${cmd} == "configure" && ! -d "build/" ]]; then
mkdir build && cd build && cmake .. -DCMAKE_INSTALL_PREFIX=${address}/stow/${package} -DCMAKE_BUILD_TYPE=Release
elif [[ ${cmd} == "configure" ]]; then
cd build && rm -rf * && cmake .. -DCMAKE_INSTALL_PREFIX=${address}/stow/${package} -DCMAKE_BUILD_TYPE=Release
elif [[ ${cmd} == "build" ]]; then
cd build && make
elif [[ ${cmd} == "install" ]]; then
cd build && sudo make install
sudo stow --dir=${address}/stow --target=${address} ${package}
fi

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/zsh
xyz2nc -t prism_mag_pot.txt -o prism_V -r -30/30/-30/30 -i 0.75/0.75 -c 0,1,3 -l x,y,V
xyz2nc -t prism_mag_grad.txt -o prism_B -r -30/30/-30/30 -i 0.75/0.75 -c 0,1,3,4,5 -l x,y,Bx,By,Bz

File diff suppressed because it is too large Load Diff

14
job.sh
View File

@ -1,10 +1,15 @@
#!/bin/bash
# tet-file needs both .node and .ele files generated by Tetgen. No file extension is needed
# mag-file: magnetization vectors. format1: <filename> format2: (<magz-x>,<magz-y>,<magz-z>)
# mag-file: line format: <magz-x> <magz-y> <magz-z>
# site-file format: 1. <filename> 2. <xmin>/<xmax>/<ymin>/<ymax>/<z>/<xnum>/<ynum>
# site-file line format: <x> <y> <z>
# mag-file: magnetization vectors.
# mag-file format:
# 1. <filename>. Line format: <magz-x> <magz-y> <magz-z>
# 2: (<magz-x>,<magz-y>,<magz-z>)
# site-file: observation positions.
# site-file format:
# 1. <filename>. Line format: <x> <y> <z>
# 2. <xmin>/<xmax>/<ymin>/<ymax>/<z>/<xnum>/<ynum>
# 3. (<x1>,<y1>,<z1>)/(<x2>,<y2>,<z2>)/<num>
# obs-file needs only the output file's name with no file extension
# available calculating types: potential, gradient and tensor
@ -20,6 +25,7 @@ cat <<- EOF > ${logfile}
tet-file = data/prism/prism.1
mag-file = (0,0,200)
site-file = -30/30/-30/30/10/81/81
#site-file = (-30,-30,10)/(30,30,10)/51
obs-file = data/prism/prism
cal-type = potential gradient tensor
EOF

9
m3d/README.txt Normal file
View File

@ -0,0 +1,9 @@
Closed-form formula of magnetic gradient tensor
for a homogeneous polyhedral magnetic target:
a tetrahedral grid example
http://software.seg.org/2017/0006
https://doi.org/10.1190/geo2016-0470.1
Please read and accept disclaimer.txt before using this code.

68
m3d/disclaimer.txt Normal file
View File

@ -0,0 +1,68 @@
This document may be found at:
http://software.seg.org/disclaimer.txt
MAKE SURE YOU READ AND UNDERSTAND THIS DOCUMENT FULLY.
By using material from the software.seg.org GEOPHYSICS
source-code archive, you agree to abide by these terms.
TERMS OF USAGE.
---------------
The Society of Exploration Geophysicists (SEG) owns worldwide copyright
to all material posted on the software.seg.org GEOPHYSICS source-code
archive unless the documentation associated with portions of it
specifically states otherwise. All material to which SEG owns copyright
may be used freely under the following terms of use:
1) If the software is used in the creation of a publication or software
distribution, or in any substantive way in a formal presentation, the
GEOPHYSICS paper associated with the software must be referenced, and
the URL for the code at software.seg.org must be referenced.
2) Notices in the source code indicating the origin of the code may not be
removed. Disclaimers, copyright, and patent notices in the code may not
be removed.
Source-code files should contain:
A one-line SEG copyright notice.
A link to this disclaimer online at software.seg.org.
A link to the URL for the source code at software.seg.org.
3) If any portion of a code from software.seg.org is imported into another
routine in either its original form or in modified form, the block of
code containing that material must be clearly noted and attributed.
The attribution must include, at a minimum, a reference to the
GEOPHYSICS paper associated with the software, the URL for the
code at software.seg.org, and a pointer to this disclaimer
(http://software.seg.org/disclaimer.txt). If any part of the algorithm
is restricted in its use by patents, the patents must be referenced
and the terms of use documented.
4) If any material from the software.seg.org GEOPHYSICS source-code
archive is modified and then redistributed, clear notice must be
included indicating that the code has been modified. The notice
should include the nature of the modification, the extent of the
modification, the purpose of the modification, when the modification
was done, who made the modification, and the affiliation of the party
that made the modification.
Such notices should not be removed during successive redistributions.
NO WARRANTIES.
--------------
You accept all the materials provided "as is."
You assume all responsibility for the results or use of the materials.
SEG makes no representations or warranties of any kind including, but
not limited to, the accuracy, reliability, or usability of these materials.
Any use that you make of the materials is at your own risk.
DISCLAIMER.
-----------
SEG provides no warranties to you, expressed, implied, or statutory,
including any implied warranties of fitness for a particular purpose.
DAMAGE WAIVER.
--------------
In no event will SEG be liable for any damages, including direct,
indirect, special, incidental, or consequential damages, arising out of
anyone's use of or inability to use these materials, or any copies prepared
from these materials, even if SEG has been advised as to the possibility
of such damages.

166
m3d/src/grid.cpp Executable file
View File

@ -0,0 +1,166 @@
#include "grid.h"
Grid::Grid (std::string node_file, std::string tet_file):
_node_file (node_file),
_tet_file (tet_file)
{
// do the job
this->read_node();
this->read_tet();
}
Grid::~Grid ()
{
// delete tets
for(unsigned int i=0;i<(_elements.size());++i)
if(_elements[i]!=NULL) {
delete _elements[i]; _elements[i]=NULL;
}
this->_elements.clear();
// delete the nodes.
for(unsigned int i=0;i<(_nodes.size());++i) {
if(_nodes[i]!=NULL) {
delete _nodes[i]; _nodes[i]=NULL;
}
}
this->_nodes.clear();
return;
}
/*
get the i-th element
*/
Tet& Grid::get_elem (const unsigned int i)
{
assert (i < this->n_elems());
assert (_elements[i] != NULL);
return *this->_elements[i];
}
/*
read nodes or sites
*/
void Grid::read_node()
{
// Check input buffer
std::ifstream node_stream(this->_node_file.c_str());
assert(node_stream.good());
unsigned int n_nodes=0;
node_stream >> n_nodes;
assert(n_nodes>0);
this->_nodes.clear();
this->_nodes.resize(n_nodes);
for (unsigned int i=0; i<n_nodes; i++) {
unsigned int node_lab=0;
Point xyz;
node_stream >> node_lab
>> xyz(0) // x-coordinate value
>> xyz(1) // y-coordinate value
>> xyz(2); // z-coordinate value
Node* newnode = new Node(xyz, node_lab);
this->_nodes[i]= newnode;
}
return;
}
/*
read elements and magnetization vector M
*/
void Grid::read_tet ()
{
// Check input buffer
std::ifstream ele_stream(this->_tet_file.c_str());
assert (ele_stream.good());
assert (this->_nodes.size()>0);
unsigned int n_elems=0;
ele_stream >> n_elems;
assert(n_elems>0);
this->_elements.clear();
this->_elements.resize(n_elems);
for(unsigned int i=0; i<n_elems; i++) {
unsigned int element_id;
Node* v[4];
ele_stream >> element_id;
for (unsigned int j=0; j<4; j++) {
unsigned int node_id;
ele_stream >> node_id;
v[j] = this->_nodes[node_id];
}
double mx, my, mz;
ele_stream >> mx >> my >> mz;
Tet* tet = new Tet(element_id, v, Point(mx,my,mz));
this->_elements[i] = tet;
}
this->_number_elems = n_elems;
return;
}
std::ostream& operator <<(std::ostream& os, Grid& mesh)
{
os << "n_nodes()=" << mesh.n_nodes()
<< " \nn_elems()=" << mesh.n_elems()
<< " \n";
return os;
}
/*
Write the tetrahedral elements into VTk format so that
the grid can be shown by Paraview softeware.
*/
void Grid::write_out_vtk(const std::string name)
{
// Open the of stream
std::ofstream vtk_mesh((name+".vtk").c_str());
if(!vtk_mesh.good()) {
std::cerr<<"Can not open file:\t"<<name+".vtk"
<<std::endl;
} else {
vtk_mesh<<"# vtk DataFile Version 3.0\n" //File version and identifier
<<"Zhengyong Ren\n"
<<"ASCII\n";
vtk_mesh<<"DATASET UNSTRUCTURED_GRID\n";
vtk_mesh<<"\nPOINTS\t"<<this->_nodes.size()<<"\tdouble\n";
for(unsigned int i=0; i<this->_nodes.size(); i++) {
const Node& temp_node= (*this->_nodes[i]);
vtk_mesh<<temp_node(0)<<"\t"
<<temp_node(1)<<"\t"
<<temp_node(2)<<"\n";
}
vtk_mesh<<"\nCELLS\t"<<this->n_elems()<<"\t"<<this->n_elems()*5<<"\n";
for(unsigned int i=0; i<this->n_elems(); i++) {
Tet& temp_elem= this->get_elem(i);
vtk_mesh<<(unsigned int)4<<"\t"
<<temp_elem.get_node_id(0)<<"\t"
<<temp_elem.get_node_id(1)<<"\t"
<<temp_elem.get_node_id(2)<<"\t"
<<temp_elem.get_node_id(3)<<"\n";
}
vtk_mesh<<"\nCELL_TYPES\t"<<this->n_elems()<<"\n";
for(unsigned int i=0; i<this->n_elems(); i++) {
vtk_mesh<<(unsigned int)10<<"\n"; // 10--tet
}
vtk_mesh<<"\n";
}
vtk_mesh.close();
// done
}

37
m3d/src/grid.h Executable file
View File

@ -0,0 +1,37 @@
#ifndef _GRID_H
#define _GRID_H
#include <vector>
#include <string>
#include <cassert>
#include <iostream>
#include <fstream>
#include "node.h"
#include "tet.h"
class Grid
{
public:
Grid(std::string node_file, std::string tet_file);
~Grid();
// tets
unsigned int n_nodes() { return _nodes.size(); }
unsigned int n_elems() { return _number_elems; }
Tet& get_elem (unsigned int i);
void read_node();
void read_tet ();
friend std::ostream& operator <<(std::ostream& os, const Grid& mesh);
void write_out_vtk(const std::string name);
public:
std::string _node_file;
std::string _tet_file;
std::vector<Node*> _nodes;
std::vector<Tet*> _elements;
unsigned int _number_elems;
};
#endif // _GRID_H

365
m3d/src/m3d.cpp Executable file
View File

@ -0,0 +1,365 @@
// C++ includes
#include "m3d.h"
#include <iostream>
/* m3d
* These files may be found at:
* http://software.seg.org/2017/0006
*
* Please first read and accept:
* http://software.seg.org/disclaimer.txt
*/
/*
Input: a tetrahedon and an observation site
Output: ni (outgoing normal vector of 4 surfaces)
wi0 (heights from site to 4 surfaces
Rij_minus and Rij_plus
oi (projection point of site on 4 surfaces)
Sij_minus and Sij_plus
Rij0 (distance from site to edges of 4 surfaces)
tij (tangential normal vector on edges)
mij (outgoing normal vector of edges)
*/
M3D::M3D(Tet& tet_, Point r_):
tet (tet_),
r (r_),
TOL (1e-10),
Cm (1e-07)
{
// calculate variables for facets and edges
for(int i=0; i<4; i++) {
Point n;
this->tet.get_facet_normal_vector(n, i);
ni[i] = n;
double w0;
for(int j=0; j<3; j++) {
Node* a[2];
this->tet.get_facet_edge_ends (a, i, j);
Rij_minus[i][j] = (this->r-(*a[0])).size();
Rij_plus[i][j] = (this->r-(*a[1])).size();
if(j==0) { w0 = (r-(*a[0]))*n;}
}
wi0[i]=w0;
Point o = r - n*w0;
oi[i] = o;
for(int j=0; j<3; j++) {
Point m, t; Node* a[2];
this->tet.get_facet_edge_normal(m, i, j);
this->tet.get_facet_edge_tangential(t, i, j);
this->tet.get_facet_edge_ends (a, i, j);
Sij_minus[i][j] = ((*a[0])-o)*t;
Sij_plus[i][j] = ((*a[1])-o)*t;
mij0[i][j]= ((*a[0])-o)*m;
Rij0[i][j] = std::sqrt(w0*w0+mij0[i][j]*mij0[i][j]);
mij[i][j] = m;
tij[i][j] = t;
}
}
}
/*
Input: surface index i
Output: k0=\iint_{T_{i}} 1/R which is given in equations (24) and (25)
*/
void M3D::compute_1_R(unsigned int i, double &k0)
{
double w0 = wi0[i];
double temp_k=0.;
for(int j=0; j<3; j++) {
double part1=0, part2=0;
if(std::abs(w0)>TOL) {
double beta = std::atan((mij0[i][j]*Sij_plus[i][j])/(Rij0[i][j]*Rij0[i][j]+std::abs(w0)*Rij_plus[i][j]))
- std::atan((mij0[i][j]*Sij_minus[i][j])/(Rij0[i][j]*Rij0[i][j]+std::abs(w0)*Rij_minus[i][j]));
part2 = std::abs(w0)*beta;
}
double mj0 = mij0[i][j];
if(std::abs(mj0)>TOL) {
part1 = mj0*std::log((Rij_plus[i][j]+Sij_plus[i][j])/(Rij_minus[i][j]+Sij_minus[i][j]));
}
temp_k += part1 - part2;
}
k0 = temp_k;
return;
}
/*
Input: surface index i
Output: k3=\iint_{T_{i}} 1/R^3 which is given in equations (10), (17), (18) and (19)
*/
void M3D::compute_1_R3(unsigned int i, double &k3)
{
double w0 = wi0[i];
double w0_not_zero_k3=0.;
double w0_is_zero_k3 =0.;
// 1_R3!=0
if(std::abs(w0)>TOL) {
for(int j=0; j<3; j++) {
double beta = std::atan((mij0[i][j]*Sij_plus[i][j])/(Rij0[i][j]*Rij0[i][j]+std::abs(w0)*Rij_plus[i][j]))
- std::atan((mij0[i][j]*Sij_minus[i][j])/(Rij0[i][j]*Rij0[i][j]+std::abs(w0)*Rij_minus[i][j]));
w0_not_zero_k3 += (1.0/std::abs(w0))*beta;
}
}
if(std::abs(w0)<TOL) {
// when w0==0, site r must be outside the triangle
// otherwise, there is a singularity in calculating 1/R3 over triangle
for(int j=0; j<3; j++) {
double m0 = mij0[i][j];
if(std::abs(m0)>TOL) {
double temp = (Sij_plus[i][j]/Rij_plus[i][j]-Sij_minus[i][j]/Rij_minus[i][j]);
w0_is_zero_k3 += temp*(-1.0/m0);
}
}
}
if(std::abs(w0)>TOL) k3 = w0_not_zero_k3;
else k3 = w0_is_zero_k3;
return;
}
/*
Input: surface index i
Output: Ki=\iint_{T_{i}} \nabla 1/ R which is given in equations (5)
where \nabla is on the observation site r
*/
void M3D::compute_grad_1_R(unsigned int i, Point &Ki)
{
Point n = ni[i];
double w0 = wi0[i];
Point temp_k_minus;
for(int j=0; j<3; j++) {
Point part1, part2;
if(std::abs(w0)>TOL) {
// betaij see equation (11)
double betaij= atan((mij0[i][j]*Sij_plus[i][j])/(Rij0[i][j]*Rij0[i][j]+std::abs(w0)*Rij_plus[i][j]))
- atan((mij0[i][j]*Sij_minus[i][j])/(Rij0[i][j]*Rij0[i][j]+std::abs(w0)*Rij_minus[i][j]));
part2 = n*sgn(w0)*betaij;
}
double Aij=0.; // see equations (20-22)
if(std::abs(Rij0[i][j])>TOL) {
Aij = std::log((long double)(Rij_plus[i][j]+Sij_plus[i][j])) - std::log((long double)(Rij_minus[i][j]+Sij_minus[i][j]));
}else if(Sij_plus[i][j]>0.&&Sij_minus[i][j]>0.) {
Aij = std::log(Sij_plus[i][j]) - std::log(Sij_minus[i][j]);
}else if(Sij_plus[i][j]<0.&&Sij_minus[i][j]<0.) {
Aij = std::log(Sij_minus[i][j]*-1.0)- std::log(Sij_plus[i][j]*-1.0);
}else {
std::cout<<"site must not on edge!\n";
std::abort();
}
part1 = mij[i][j]*Aij;
temp_k_minus = temp_k_minus + part1 + part2;
}
Ki = temp_k_minus*-1.0;
return;
}
/*
Input: 4 nodes in vector T
Output: volume(size) of tetrahedron
*/
double M3D::get_tri_size(std::vector<Point>& T)
{
assert(T.size()==3);
Point a=T[1]+(T[0]*-1.0);
Point b=T[2]+(T[0]*-1.0);
Point c=a.cross(b);
return c.size()*0.5;
}
/*
Input: surface index i
Output: k2=\iint_{T_{i}} \nabla \nabla 1/ R which is given in equations (25)
where \nabla is on the observation site r
*/
void M3D::compute_grad_grad_1_R(unsigned int i, double k2[3][3])
{
this->set(k2, 0.);
double temp_k2[3][3];
this->set(temp_k2, 0.);
double w0 = wi0[i];
Point n = ni[i];
for(int j=0; j<3; j++) {
Point grad_Aij(0,0,0); // see equations (37) and (38)
if(std::abs(Rij0[i][j])>TOL) {
double factor_n_mij = (Sij_plus[i][j]/(Rij0[i][j]*Rij0[i][j]*Rij_plus[i][j]) -
Sij_minus[i][j]/(Rij0[i][j]*Rij0[i][j]*Rij_minus[i][j]))*-1.0;
double factor_tij = (1.0/Rij_plus[i][j]-1.0/Rij_minus[i][j])*-1.0;
grad_Aij = n*(w0*factor_n_mij) + tij[i][j]*factor_tij - mij[i][j]*(mij0[i][j]*factor_n_mij);
}else {
double factor_tij = (-1.0/Rij_plus[i][j]+1.0/Rij_minus[i][j]);
grad_Aij = tij[i][j]*factor_tij;
}
Point m = mij[i][j];
for(int l=0; l<3; l++) {
for(int k=0; k<3; k++) {
double temp1 = grad_Aij(l)*m(k)*-1.0;
temp_k2[l][k] += temp1;
}
}
if(std::abs(w0)>TOL) {
Node* a[2];
tet.get_facet_edge_ends (a, i, j);
Point grad_Rij_plus = (r - (*a[1]))*(1.0/Rij_plus[i][j]);
Point grad_Rij_minus = (r - (*a[0]))*(1.0/Rij_minus[i][j]);
Point grad_Sij_plus = tij[i][j]*-1.0;
Point grad_Sij_minus = tij[i][j]*-1.0;
Point grad_w0 = this->ni[i];
Point grad_mij0 = this->mij[i][j]*-1.0;
Point grad_Rij0 = (n*w0-mij[i][j]*mij0[i][j])*(1.0/Rij0[i][j]);
Point grad_abs_wi0 = n*this->sgn(w0);
double a_plus = Rij0[i][j]*Rij0[i][j]+std::abs(w0)*Rij_plus[i][j];
double b_plus = mij0[i][j]*Sij_plus[i][j];
Point grad_a_plus = grad_Rij0*(Rij0[i][j]*2.0) + grad_abs_wi0*Rij_plus[i][j]+grad_Rij_plus*std::abs(w0);
Point grad_b_plus = grad_mij0*Sij_plus[i][j]+grad_Sij_plus*mij0[i][j];
double a_minus = Rij0[i][j]*Rij0[i][j]+std::abs(w0)*Rij_minus[i][j];
double b_minus = mij0[i][j]*Sij_minus[i][j];
Point grad_a_minus = grad_Rij0*(Rij0[i][j]*2.0) + grad_abs_wi0*Rij_minus[i][j]+grad_Rij_minus*std::abs(w0);
Point grad_b_minus = grad_mij0*Sij_minus[i][j]+grad_Sij_minus*mij0[i][j];
Point grad_betaij_plus = (grad_b_plus*a_plus-grad_a_plus*b_plus)*(1.0/(a_plus*a_plus+b_plus*b_plus));
Point grad_betaij_minus = (grad_b_minus*a_minus-grad_a_minus*b_minus)*(1.0/(a_minus*a_minus+b_minus*b_minus));
Point grad_betaij = grad_betaij_plus - grad_betaij_minus; // see equation (11)
for(int l=0; l<3; l++)
for(int k=0; k<3; k++) {
double temp2 = this->sgn(w0)*grad_betaij(l)*n(k)*-1.0;
temp_k2[l][k] += temp2;
}
}
} // loop each facets ends
if(std::abs(w0)<TOL) {
double k3 =0.;
this->compute_1_R3(i, k3);
for(int l=0; l<3; l++) {
for(int k=0; k<3; k++) {
double temp3 = k3*n(l)*n(k)*-1.0; // only need for w0=0
temp_k2[l][k]+= temp3;
}
}
}
// copy k2 = temp_k2
for(int l=0; l<3; l++)
for(int k=0; k<3; k++)
k2[l][k] = temp_k2[l][k];
return;
}
/*
a=b
*/
void M3D::set(double a[3][3], double b)
{
for(int i=0; i<3; i++)
for(int j=0; j<3; j++) a[i][j]=b;
return;
}
/*
sign of real number m
*/
double M3D::sgn(const double m)
{
if (std::abs(m)<TOL) return 0.;
else return m/std::abs(m);
}
/*
calculate the magnetic potential V in equation (24)
*/
void M3D::V(double& v)
{
double temp_V=0.;
Point M = this->tet.get_M();
for(int i=0; i<4; i++) {
double k0;
this->compute_1_R(i, k0);
double mdotn = M*ni[i];
temp_V+= k0*mdotn;
}
v = temp_V*Cm;
return;
}
/*
calculate the magnetic field B in equation (4)
*/
void M3D::B(Point& b)
{
Point temp_B(0,0,0);
Point M = this->tet.get_M();
for(int i=0; i<4; i++) {
Point k1(0,0,0);
this->compute_grad_1_R(i, k1);
double mdotn = M*ni[i];
temp_B = temp_B + k1*mdotn;
}
b = temp_B*(Cm*-1.0);
return ;
}
/*
calculate the magnetic gradient tensor T in equation (26)
*/
void M3D::T(double tb[3][3])
{
double temp_tb[3][3];
this->set(temp_tb, 0);
Point M = this->tet.get_M();
for(int i=0; i<4; i++) {
double k2[3][3];
this->compute_grad_grad_1_R(i, k2);
double mdotn = M*ni[i];
for(int l=0; l<3; l++) {
for(int k=0; k<3; k++) {
temp_tb[l][k] += k2[l][k]*mdotn*Cm*-1.0;
}
}
}
// tb = temp_tb
for(int i=0; i<3; i++)
for(int j=0; j<3; j++)
tb[i][j] = temp_tb[i][j];
return ;
}

58
m3d/src/m3d.h Executable file
View File

@ -0,0 +1,58 @@
#ifndef _M3D_H
#define _M3D_H
// C++ includes
#include <vector>
#include <cassert>
#include <cmath>
#include <iostream>
#include <fstream>
#include <string>
#include <iomanip>
#include "node.h"
#include "tet.h"
#include "grid.h"
class M3D
{
public:
M3D(Tet& tet, Point r);
void V(double& v);
void B(Point& b);
void T(double tb[3][3]);
double sgn(const double m);
void set(double a[3][3], double b);
void compute_1_R(unsigned int i, double &k0);
void compute_grad_1_R(unsigned int i, Point &k1);
void compute_grad_grad_1_R(unsigned int i, double k2[3][3]);
void compute_1_R3(unsigned int i, double &k3);
const double TOL;
const double Cm ;
double get_tri_size(std::vector<Point>& T);
private:
// variables for edges
double Rij_minus[4][3]; // equation (15)
double Rij_plus [4][3]; // equation (14)
double Sij_minus[4][3]; // equation (8)
double Sij_plus [4][3]; // equation (9)
double Rij0 [4][3]; // equation (13)
double mij0 [4][3]; // mij0 is constant along edge eij
Point mij [4][3]; // mij is the outgoing normal vector of edge eij
Point tij [4][3]; // tij is the tangential normal vector of edge eij
// variables for facets
Point ni [4]; // ni is the outgoing normal vector of surface Ti
double wi0 [4]; // equation (8)
Point oi [4]; // oi is the projection point of site r on surface Ti
// observation site and source element
Tet& tet; // a tetrahedron
Point r; // an observation site
};
#endif // _M3D_H

110
m3d/src/node.h Executable file
View File

@ -0,0 +1,110 @@
#ifndef _NODE_H
#define _NODE_H
// C++ includes
#include <iomanip>
#include <string>
#include "point.h"
#define INVALID_UNIT
class Node : public Point
{
public:
Node (const double x=.0,
const double y=.0,
const double z=.0,
const unsigned int id=0);
Node (const Node& n);
Node (const Point p,
const unsigned int id =0);
~Node ();
friend std::ostream& operator <<(std::ostream& os, const Node& node);
// Overload operators.
Node& operator= (const Node& node);
bool operator == (const Node& node);
bool operator < (const Node& v) const;
void set_id(const unsigned int id) { _id=id; }
unsigned int get_id() { return _id; }
public:
unsigned int _id;
};
//-----------------------------------------------------------------------
inline
Node::Node (const double x, const double y,const double z,
const unsigned int id) :
Point (x,y,z),
_id (id)
{
}
inline
Node::Node (const Node& n):
Point (n),
_id (n._id)
{
}
inline
Node::Node (const Point p,
const unsigned int id ):
Point(p),
_id (id)
{
}
inline
Node::~Node ()
{
}
inline
Node & Node::operator= (const Node& node)
{
(*this)(0) = node(0);
(*this)(1) = node(1);
(*this)(2) = node(2);
_id = node._id;
return *this;
}
inline
bool Node::operator== (const Node& node)
{
if(_id!=node._id)
return false;
else
{
//compare the coordinates.
return Point(*this)==Point(node);
}
}
inline
bool Node::operator < (const Node& rhs) const
{
// Only compare xyz location.
return (Point)(*this)<(Point)(rhs);
}
inline
std::ostream& operator <<(std::ostream& os, const Node& node)
{
os<<node._id
<<"\t"<<node._coords[0]
<<"\t"<<node._coords[1]
<<"\t"<<node._coords[2];
return os;
}
#endif // NODE_H

218
m3d/src/point.h Executable file
View File

@ -0,0 +1,218 @@
#ifndef _POINT_H
#define _POINT_H
// C++ includes
#include <cmath>
#include <cassert>
#include <iostream>
class Point
{
public:
Point (const double x=0., const double y=0., const double z=0.);
Point (const Point& p);
virtual ~Point ();
friend std::ostream& operator <<(std::ostream& os, const Point& point);
// Overload operators.
Point& operator=(const Point& p);
double operator () (const unsigned int i) const;
double & operator () (const unsigned int i);
Point operator + (const Point& v) const;
Point operator - (const Point& v) const;
Point operator * (const double a) const;
double operator *(const Point& v) const;
bool operator == (const Point& v) const;
bool operator < (const Point& v) const;
void operator = (const double a);
// Math functions
Point cross(const Point& v) const;
Point unit() const;
double size() const;
void zero();
double* get_xyz() { return _coords; }
protected:
double _coords[3];
const double TOL ;
};
//-----------------------------------------------------------------------
inline
Point::Point (const double x,
const double y,
const double z):
TOL (1e-10)
{
_coords[0] = x; _coords[1] = y; _coords[2] = z;
}
inline
Point::Point (const Point &p):
TOL (1e-10)
{
for (unsigned int i=0; i<3; i++)
_coords[i] = p._coords[i];
}
inline
Point& Point::operator=(const Point& p)
{
_coords[0] = p._coords[0];
_coords[1] = p._coords[1];
_coords[2] = p._coords[2];
return (*this);
}
inline
Point::~Point ()
{
//no space is allocated by the new operator.
//so,there is no delete [].
}
inline
double Point::operator ()(const unsigned int i) const
{
assert (i<3);
return _coords[i];
}
inline
double & Point::operator () (const unsigned int i)
{
assert (i<3);
return _coords[i];
}
inline
Point Point::operator + (const Point &p) const
{
return Point(_coords[0] + p._coords[0],
_coords[1] + p._coords[1],
_coords[2] + p._coords[2]);
}
inline
Point Point::operator - (const Point& p) const
{
return Point(_coords[0] - p._coords[0],
_coords[1] - p._coords[1],
_coords[2] - p._coords[2]);
}
inline
Point Point::operator * (const double factor) const
{
return Point(_coords[0]*factor, _coords[1]*factor,_coords[2]*factor);
}
inline
double Point::operator * (const Point&p) const
{
return (_coords[0]*p(0) + _coords[1]*p(1) + _coords[2]*p(2));
}
inline
bool Point::operator == (const Point& rhs) const
{
return ((fabs(_coords[0] - rhs._coords[0]) +
fabs(_coords[1] - rhs._coords[1]) +
fabs(_coords[2] - rhs._coords[2])) < 3*TOL);
}
inline
bool Point::operator < (const Point& rhs) const
{
//First we assume (this)<rhs true
if (*this == rhs) return false;
if ((*this)(0) < rhs(0)) return true; // <
else if ((*this)(0) > rhs(0)) return false;// >
else if (std::abs((*this)(0)-rhs(0))<1e-6){//vx=rhsx
if ((*this)(1) < rhs(1)) return true;
else if ((*this)(1) > rhs(1)) return false;
else if (std::abs((*this)(1)-rhs(1))<1e-6){//vy=rhsy
if ((*this)(2) < rhs(2)) return true;
else if ((*this)(2) > rhs(2)) return false;
}
}
return false;
}
inline
void Point::operator = (const double a)
{
_coords[0] = a; _coords[1] = a; _coords[2] = a;
}
inline
Point Point::cross(const Point& p) const
{
return Point(_coords[1]*p._coords[2] - _coords[2]*p._coords[1],
-_coords[0]*p._coords[2] + _coords[2]*p._coords[0],
_coords[0]*p._coords[1] - _coords[1]*p._coords[0]);
}
inline
Point Point::unit() const
{
const double length = size();
return Point(_coords[0]/length,
_coords[1]/length,
_coords[2]/length);
}
inline
double Point::size() const
{
double value= std::pow(_coords[0],2)+
std::pow(_coords[1],2)+
std::pow(_coords[2],2);
return std::sqrt(value);
}
inline
void Point::zero()
{
_coords[0]=0.;
_coords[1]=0.;
_coords[2]=0.;
}
inline
std::ostream& operator <<(std::ostream& os, const Point& point)
{
os<<point(0)<<"\t"<<point(1)<<"\t"<<point(2);
return os;
}
#endif // _POINT_H

239
m3d/src/tet.h Executable file
View File

@ -0,0 +1,239 @@
/*
0
TET
/|\
0 / | \
/ | \2
/ 1| \
1 ..4.|....3
\ | /
\ | /
3 \ | /5
\|/
2
*/
#ifndef _TET_H
#define _TET_H
#include <cstdlib>
#include "node.h"
class Tet
{
public:
Tet (unsigned int id, Node* v[4], Point M);
unsigned int get_id () { return _id;}
Point get_M() { return _M;}
unsigned int get_node_id(unsigned int i);
void get_nodes(Node* nodes[4]);
void get_facet(Node* facet[3], unsigned int i);
void get_facet_normal_vector(Point& n,unsigned int i);
void get_facet_edge_nodes(Node* v[2], unsigned int i, unsigned int j);
void get_facet_edge_normal(Point& m, unsigned int i, unsigned int j);
void get_facet_edge_tangential(Point& t, unsigned int i, unsigned int j);
void get_facet_edge_ends (Node* a[2], unsigned int i, unsigned int j);
double get_size();
private:
unsigned int _id;
Node* _v[4];
Point _M;
};
inline
Tet::Tet(unsigned int id,
Node* v[4],
Point M)
{
this->_id = id;
for(unsigned int i=0; i<4; i++) this->_v[i]=v[i];
this->_M = M;
}
inline double Tet::get_size()
{
const Point & a=(*_v[1])+((*_v[0])*-1.0);
const Point & b=(*_v[1])+((*_v[2])*-1.0);
const Point & c=(*_v[1])+((*_v[3])*-1.0);
return std::abs( a*(c.cross(b)) )/6.;
}
inline
unsigned int Tet::get_node_id(unsigned int i)
{
assert(i<4);
return this->_v[i]->get_id();
}
inline
void Tet::get_nodes(Node* nodes[4])
{
for(int i=0; i<4; i++) nodes[i] = this->_v[i];
return;
}
inline
void Tet::get_facet(Node* facet[3], unsigned int i)
{
assert(i<4);
switch(i) {
case 0:
facet[0] = _v[1]; facet[1] = _v[2]; facet[2] = _v[3];
break;
case 1:
facet[0] = _v[0]; facet[1] = _v[2]; facet[2] = _v[3];
break;
case 2:
facet[0] = _v[0]; facet[1] = _v[1]; facet[2] = _v[3];
break;
case 3:
facet[0] = _v[0]; facet[1] = _v[1]; facet[2] = _v[2];
break;
default:
std::abort();
}
return;
}
inline
void Tet::get_facet_normal_vector(Point& n,unsigned int i)
{
Point normal, facet_center;
assert(i<4);
switch(i) {
case 0:
normal = ((*_v[3])-(*_v[2])).cross((*_v[1])-(*_v[2])).unit();
facet_center = ((*_v[1])+(*_v[2])+(*_v[3]))*(1.0/3.0);
break;
case 1:
normal = ((*_v[0])-(*_v[3])).cross((*_v[2])-(*_v[3])).unit();
facet_center = ((*_v[0])+(*_v[2])+(*_v[3]))*(1.0/3.0);
break;
case 2:
normal = ((*_v[3])-(*_v[0])).cross((*_v[1])-(*_v[0])).unit();
facet_center = ((*_v[0])+(*_v[1])+(*_v[3]))*(1.0/3.0);
break;
case 3:
normal = ((*_v[2])-(*_v[1])).cross((*_v[0])-(*_v[1])).unit();
facet_center = ((*_v[0])+(*_v[1])+(*_v[2]))*(1.0/3.0);
break;
default:
std::abort();
}
Point center = ((*_v[0])+(*_v[1])+(*_v[2])+(*_v[3]))*(0.25);
// we need outgoing normal vector
if(normal*(facet_center-center)<0.0) normal= normal*-1.0;
n = normal;
return;
}
/* 1
0---------2
\ /
\ /
2 \ / 0
\/
1
*/
inline
void Tet::get_facet_edge_nodes(Node* v[2], unsigned int i, unsigned int j)
{
assert(i<4);
assert(j<3);
Node* facet[3];
this->get_facet(facet, i);
switch(j) {
case 0:
v[0] = facet[1]; v[1] = facet[2];
break;
case 1:
v[0] = facet[2]; v[1] = facet[0];
break;
case 2:
v[0] = facet[0]; v[1] = facet[1];
break;
default:
std::abort();
}
return;
}
inline
void Tet::get_facet_edge_normal(Point& m, unsigned int i, unsigned int j)
{
assert(i<4);
assert(j<3);
Node* v[2];
this->get_facet_edge_nodes(v, i, j);
Point t = ((*v[1])-(*v[0])).unit();
Point n;
this->get_facet_normal_vector(n, i);
Point temp_m = t.cross(n);
// we need outgoing normal on edge
Node* facet[3];
this->get_facet(facet, i);
Point facet_center = ((*facet[0])+(*facet[1])+(*facet[2]))*(1.0/3.0);
Point edge_center = ((*v[1])+(*v[0]))*0.5;
if(temp_m*(edge_center-facet_center)<0.0) temp_m= temp_m*-1.0;
m = temp_m;
return;
}
inline
void Tet::get_facet_edge_tangential(Point& t, unsigned int i, unsigned int j)
{
assert(i<4);
assert(j<3);
Point m;
this->get_facet_edge_normal(m, i, j);
Point n;
this->get_facet_normal_vector(n, i);
t = n.cross(m);
}
/*
a[0]-----------a[1]
(a-) (a+)
*/
inline
void Tet::get_facet_edge_ends (Node* a[2], unsigned int i, unsigned int j)
{
assert(i<4);
assert(j<3);
Point t;
this->get_facet_edge_tangential(t, i, j);
Node* v[2];
this->get_facet_edge_nodes(v, i, j);
Point temp_t = ((*v[1])-(*v[0])).unit();
if(t*temp_t>0.0) {
a[0] = v[0];
a[1] = v[1];
}else if(t*temp_t<0.) {
a[0] = v[1];
a[1] = v[0];
}
return;
}
#endif // _Tet_h

65
m3d/test/Readme Executable file
View File

@ -0,0 +1,65 @@
1. Compile the code
cd test
make m3d
2. Run examples
cd prism
../m3d cube.node cube.ele site.dat
cd pipeline
../m3d pipeline.node pipeline.ele site.dat
3. Plot results using matlab (higer version of matlab is needed)
cd prism
run plot_profile.m
cd pipeline
run plot_contour.m
4. files in package m3d
src/------------------contains all source files
test/m3d--------------the main program
test/test_m3d.cpp-----main file to generate the m3d program
test/makefile---------makefile to compile the package "m3d"
test/prism ---------prism example
test/prism/cube.node--the input node file
test/prism/cube.ele---the input element file
test/prism/site.dat---the input observation site file
test/prism/V.dat------the output magnetic potential file
test/prism/B.dat------the output magnetic field file in unit of nT
test/prism/T.dat------the output magnetic gradient tensor file in unit of nT/m
test/prism/xyz.dat----the output coordinates of observation sites file
test/prism/heath2005_results.dat---the closed-form solutions given by Heath et al.(2005,
Modelling gravity and magnetic gradient tensor responses for
exploration within the regolith: Exploration Geophysics, 36,
357364), in unit of nT/m
test/prism/plot_profile.m ---matlab file to generate the figures of the draft
test/pipeline ---------pipeline example
test/pipeline/pipeline.node--the input node file
test/pipeline/pipeline.ele---the input element file
test/pipeline/site.dat---the input observation site file
test/pipeline/V.dat------the output magnetic potential file
test/pipeline/B.dat------the output magnetic field file in unit of nT
test/pipeline/T.dat------the output magnetic gradient tensor file in unit of nT/m
test/pipeline/xyz.dat----the output coordinates of observation sites file
test/pipeline/plot_contour.m and test/pipeline/xyz2XYZ.m ---two matlab files to
generate the figures.
5. format for input files
5.1 node file and site file
the number of 3D points
each line is id, x, y, z
5.2 element file
the number of elements
each line is element id, id of 4 nodes(id is defined in node file), magnetization vector M(Mx,My,Mz)
6. format for output file. Please see the main body of the article (section Implementation)
Zhengyong Ren
Central south university, changsha, China
renzhengyong@csu.edu.cn
2017-02-26
These files may be found in:
http://software.seg.org/2017/0006

BIN
m3d/test/m3d Executable file

Binary file not shown.

21
m3d/test/makefile Executable file
View File

@ -0,0 +1,21 @@
CXX := g++
CXXFLAGS := -Xpreprocessor -fopenmp -O2 -lomp
M3DINCLUDE := -I../src
INCS:= $(wildcard ../src/*.h)
SRCS:= $(wildcard ../src/*.cpp)
OBJS:= $(patsubst %.cpp, %.o, $(SRCS))
# How to compile C++
%.o : %.cpp
$(CXX) $(CXXFLAGS) $(M3DINCLUDE) -c $< -o $@
#--------------------------------------------------------------
m3d: $(OBJS) $(INCS) test_m3d.o
$(CXX) $(CXXFLAGS) -o m3d test_m3d.o $(OBJS)
clean:
@rm -rf *.o *~ $(OBJS) *.vtk m3d

441
m3d/test/pipeline/B.dat Normal file
View File

@ -0,0 +1,441 @@
-0.1131730146137198 -0.08553763386646641 -0.3901181215536397
-0.1349114036823272 -0.09250659043682515 -0.4312138110437709
-0.1600787427698455 -0.09834567847728168 -0.474961288579911
-0.1885910759183166 -0.1021844689110437 -0.5205906871352027
-0.2199600484123364 -0.102933816219486 -0.5669072768718069
-0.2530972321326082 -0.09940681644716801 -0.6122446037527229
-0.2861983067294044 -0.09049987619920891 -0.6544770496487344
-0.3167386267459334 -0.07551574924692644 -0.6911447330728024
-0.341717076754724 -0.05453035371496846 -0.7197045935499964
-0.3581858323810658 -0.0286372427029613 -0.7379078279259553
-0.363947509944506 4.103646525634235e-06 -0.7441787471537329
-0.358184557112338 0.02864869125589758 -0.737896969692693
-0.341713854060639 0.05456390153649895 -0.7197056919530613
-0.3167392333120834 0.07551623594120876 -0.6911453092208166
-0.2862009206256995 0.09049579733229332 -0.6544788743621462
-0.2530980123739505 0.09940861677801055 -0.612246332451212
-0.2199598686948478 0.1029359786227682 -0.5669082071945793
-0.18859128104835 0.102186694150346 -0.5205915914579126
-0.1600757786107568 0.09835423265664936 -0.4749626376937898
-0.1350561034159899 0.09223575345896899 -0.4314508045479658
-0.1131778778757337 0.08553221199104924 -0.3901170699790661
-0.1321906453765788 -0.1083755668504386 -0.4467879047156147
-0.1604861417936688 -0.1195308206890427 -0.4989045001896223
-0.1941903236899537 -0.1297963102256843 -0.5553805755959749
-0.2335708065527217 -0.1379400024106725 -0.6154767463236949
-0.2783255742778608 -0.1422549405290947 -0.6777190953790674
-0.3272330059198481 -0.1406447698066706 -0.739900750413012
-0.3777357175232759 -0.1309401028910326 -0.7989553239217692
-0.4257915664727506 -0.1114661741792001 -0.8511455238948473
-0.4661437328784613 -0.08178346277913208 -0.8923954660864478
-0.4932648386513631 -0.04341323028865612 -0.9189503281810667
-0.5028506543792162 7.846927966528151e-06 -0.9281275551801403
-0.4932648357414849 0.04341774888449893 -0.9189502525947677
-0.4661446548967622 0.08178294155980073 -0.8923956765666654
-0.4257937697373312 0.111463248779445 -0.8511454498150538
-0.3777380722693617 0.1309370343595538 -0.7989560966327123
-0.3272387923872144 0.1406343489150723 -0.7398968492836595
-0.2783314010816906 0.1422496477704429 -0.6777228420892822
-0.2335704968737788 0.1379430425312178 -0.6154774745052519
-0.1941905219458264 0.1297986631998487 -0.5553838921504541
-0.160497636545105 0.1195092800727058 -0.4988895032578841
-0.1322151594947204 0.1083400971359851 -0.4468002911566464
-0.1538044442531143 -0.1375451856353738 -0.5123527382747822
-0.1903460285206197 -0.1552365974125059 -0.5785415197177889
-0.2356060758922823 -0.1725919412503516 -0.6518103397295553
-0.2902296269592807 -0.1883187534906528 -0.7314997743850199
-0.354746732795197 -0.199701402677581 -0.8159907287732537
-0.4281510571017139 -0.2031999047992981 -0.9024098503940362
-0.5071387225075916 -0.1946198358958435 -0.9864277956087717
-0.5853201566599927 -0.1700233782699655 -1.062282028731297
-0.6532687063910879 -0.127404960096388 -1.123330609736411
-0.7001299610373655 -0.0685783876142355 -1.163149313836764
-0.7169251900360224 -1.300630871336044e-05 -1.177012871363937
-0.7001308835969556 0.06857758199882556 -1.163149478946742
-0.6532717846557364 0.1274004742925738 -1.123332748348102
-0.5853268121479794 0.1699875826543136 -1.062271204905213
-0.5071415547154285 0.1946174237211998 -0.9864297666450136
-0.4281544762101124 0.2032017499344157 -0.9024105091012455
-0.3547481903404972 0.1996995855068995 -0.8159868825313233
-0.290233917063438 0.1883117683310762 -0.7315023842208057
-0.2356116456374547 0.1725870852228597 -0.6518122386308168
-0.1904908833703184 0.155108959938038 -0.5785388909200875
-0.1537939165888591 0.1375561642878117 -0.5123511887301176
-0.1776688324307234 -0.1746963589698022 -0.5876988850294876
-0.2249008399764219 -0.2018432637627798 -0.6718215445578218
-0.2850788432303733 -0.2307989882056905 -0.7670895526766003
-0.3608758010132783 -0.2595998271418631 -0.8732831161458201
-0.4544777119400406 -0.2846091959756154 -0.9888963764872993
-0.566277485907181 -0.3000604548026373 -1.110461112524289
-0.6929093686027992 -0.2979367181537394 -1.231935031828506
-0.8247900234753909 -0.2693021068171045 -1.344457826211163
-0.9447865394770802 -0.2076600534909102 -1.437001959189527
-1.030514584361371 -0.113962258599737 -1.498329777303216
-1.061837986477592 -6.531712972947658e-07 -1.519842675476541
-1.030517120349226 0.1139510029177346 -1.498326410930201
-0.9447909527998487 0.2076560092413776 -1.437003381150068
-0.8247956480645343 0.2692961544596458 -1.344459933890697
-0.6929130415119398 0.2979382110758705 -1.23194093683291
-0.5662812357757581 0.3000576028475464 -1.110466697562733
-0.4544784289288794 0.2846134347745173 -0.988898054263098
-0.3608778065535898 0.2596001034655461 -0.8732847868201625
-0.2850825399217965 0.2307935939371145 -0.7670766412883138
-0.2249079817126411 0.2018391643438097 -0.671824450620502
-0.1776694984497374 0.1746974502083237 -0.5877072046011225
-0.2030887602409155 -0.2214137329040249 -0.6734945636908045
-0.2631440190113605 -0.2626402964924167 -0.7801871463692603
-0.3425886559125541 -0.3095642024646701 -0.9039937622964795
-0.4471688649531743 -0.3604875677184935 -1.045799466480849
-0.5830539337161942 -0.4110682188827743 -1.204818205252277
-0.7550447972950113 -0.452630325395077 -1.37734110292907
-0.9626497166280067 -0.4706384219190112 -1.555254921769595
-1.193621511163397 -0.4452412469276001 -1.724966796240431
-1.417275309672174 -0.3573051242713574 -1.868009328362557
-1.585195098391844 -0.2016118304157462 -1.964430528139448
-1.648237338897125 -0.0001267860490522077 -1.998421869628248
-1.585180306160165 0.2017373834405152 -1.964444365150487
-1.417281747353343 0.3573047511325536 -1.868010241716587
-1.1936305748874 0.4452391162642793 -1.724970901572406
-0.9626590463301495 0.4706333652445304 -1.555258625331057
-0.7550513084124975 0.4526295109952853 -1.377344848990071
-0.583058000601416 0.4110698034994362 -1.204819673647797
-0.4471669555236513 0.3604917864499387 -1.045784280433536
-0.3425976724296983 0.3095516940502523 -0.9039967981132487
-0.2631470692417552 0.2626410902168059 -0.7801899618520004
-0.2030832190947945 0.2214243121852103 -0.6735012785478927
-0.2287076698680273 -0.2792012448782124 -0.7699234384195034
-0.3035943528590305 -0.3405585320656971 -0.9045136420868637
-0.406656855759702 -0.4148146143419534 -1.064775108995281
-0.5488834554459444 -0.5021711662279205 -1.253733442267932
-0.7445761470376121 -0.599218959676297 -1.472395844282123
-1.00936524801135 -0.6956450889407799 -1.718215296027531
-1.355060745241162 -0.7671995146748908 -1.980342904224347
-1.77413539351828 -0.7719192082531757 -2.23800133218634
-2.216250660063121 -0.655815491443192 -2.459812448130699
-2.572980070214438 -0.3857579326166653 -2.610826606183992
-2.71274204790929 -4.280248460428405e-05 -2.664384077871143
-2.572992097003047 0.3857463398832708 -2.610830216331364
-2.216278141950328 0.6557897799764911 -2.459823993267467
-1.774153374384304 0.7719171098138532 -2.238008590308294
-1.355073807393849 0.7672034169762502 -1.980351343360145
-1.009375528965734 0.695645430273823 -1.718221094773899
-0.7444987359875223 0.5993393348082751 -1.472551118236621
-0.5488883014836778 0.5021746056789781 -1.253738885750624
-0.406652773369508 0.4148229057844366 -1.064780193688378
-0.3035954333407576 0.3405594900890907 -0.9045252870075938
-0.2287105631667933 0.2792012306457201 -0.7699294378620083
-0.2524040843024972 -0.3490156271159061 -0.8763683894213229
-0.3432721477633608 -0.4381193976391065 -1.044667300652205
-0.4733615746027699 -0.552438718000179 -1.250384855550369
-0.6618555939862848 -0.6974788346652492 -1.500317739605477
-0.9373128153745713 -0.8762162586108241 -1.79955301757254
-1.339612479408769 -1.082371387147671 -2.147532052398682
-1.915865740527219 -1.285400826118015 -2.531048214591349
-2.695635665284033 -1.405460019377899 -2.915515467655104
-3.621811190474802 -1.297512899766458 -3.243836683049439
-4.45346559720822 -0.8143684495396466 -3.457644423320716
-4.801345501442803 -1.651267637004637e-05 -3.529573606055623
-4.453498230801031 0.8143402758240542 -3.457648699715953
-3.621861783862575 1.297490937415454 -3.243850551084613
-2.69567108040232 1.405466697599552 -2.915525538278826
-1.915884112133953 1.285432176220027 -2.531067919353236
-1.339603212841463 1.082400782179271 -2.147554778533211
-0.9373189101402594 0.8762289878973389 -1.799560483424215
-0.6618777170108616 0.6974724782606242 -1.500324136561753
-0.4733662572926484 0.5524413455182299 -1.250390209027104
-0.343269205482673 0.4381240629897894 -1.04467274010209
-0.2524009162720095 0.3490132182129157 -0.8763745089064221
-0.2712768610617334 -0.430795459430838 -0.9912046774214774
-0.3776335002141913 -0.556362612574658 -1.198947819436074
-0.5356267846764582 -0.7264452717467599 -1.459506989404167
-0.7755474790748937 -0.9579129557081206 -1.785547473778698
-1.147954599523449 -1.271440669575449 -2.18889693033705
-1.736707215994443 -1.684849105361151 -2.673507289259686
-2.672916604720646 -2.187637582142839 -3.219133515430189
-4.122019302069387 -2.66852561730363 -3.753733217116843
-6.14276845670989 -2.780707801789975 -4.141148694926578
-8.272342207756118 -1.937540263338863 -4.27721015216049
-9.262495400726424 -0.0001369050942666624 -4.274141079566595
-8.272443533681997 1.937472167805601 -4.277206606426653
-6.142889205164057 2.780680946377709 -4.141153088920912
-4.122096217065728 2.668550921574446 -3.753741674368302
-2.672955414913411 2.187665504799305 -3.219145956610373
-1.736725916377342 1.684871024695157 -2.673519152645035
-1.147961866097537 1.271457371806855 -2.188907559690789
-0.7755467650536153 0.9579289432298432 -1.785555471795044
-0.5356232125510307 0.7264532278891903 -1.459512650816992
-0.3776373129897349 0.55636449320856 -1.198955579655391
-0.2712853155411856 0.4307909127691105 -0.9912090483353365
-0.2819982678429684 -0.5228496579385959 -1.111528801628456
-0.400856371272012 -0.6936359722139295 -1.36362813967191
-0.5831239476840675 -0.9363920273260291 -1.687572027049846
-0.8715269657685499 -1.288017301422088 -2.104215009612341
-1.344003927027754 -1.806057608402321 -2.635237226021968
-2.148129194627537 -2.574936370188993 -3.289975748465008
-3.566884850790694 -3.69201765801849 -4.024576790728031
-6.11171087895327 -5.147947346216522 -4.639195789026641
-10.44423275767775 -6.34679444897073 -4.638132567396252
-16.18686267896494 -5.226644531218288 -3.582961244874844
-19.34742984337475 -0.0002027014686319715 -2.688425163981857
-16.18716984606797 5.226500249314721 -3.582837750235497
-10.44570512302229 6.346263723876355 -4.639164375260344
-6.111830120428221 5.148068195486668 -4.639173753885864
-3.566940369450628 3.692080427261692 -4.024590786729774
-2.148187141909658 2.574925487437786 -3.289995204937572
-1.344004475465022 1.806080604710332 -2.635247742271574
-0.8715285991705423 1.288031008011006 -2.104222890045105
-0.5831329710013355 0.9363941180220869 -1.687576422328782
-0.400830633363484 0.6936603041732543 -1.363657876066645
-0.2820065747111205 0.5228455107872692 -1.111532939868015
-0.2812003734268165 -0.6215968083657324 -1.233124198196667
-0.4066882809682171 -0.8446938562522647 -1.532806668413646
-0.6040071537684499 -1.174672454338021 -1.926130297708931
-0.9258244443520554 -1.678032171949042 -2.444406034269575
-1.47462492409 -2.472526294877878 -3.121642975362883
-2.461911233160321 -3.771512130060834 -3.970882290299375
-4.352033514134712 -5.950574056289885 -4.887516045730381
-8.198531924774192 -9.537057997245682 -5.308299196608048
-16.16329461471346 -14.33792409639634 -3.288835977767198
-29.93729334564759 -14.92088708101201 4.46785582697935
-39.44032086067403 -0.000600384161206915 11.54854633918328
-29.93809527273559 14.92066703411625 4.468638701822703
-16.16376421516181 14.33823481696522 -3.288556429143011
-8.198685575043466 9.537314440392308 -5.308252586322797
-4.35208716571304 5.950691608922695 -4.887524222107489
-2.46193519842218 3.771566801026685 -3.970899859438953
-1.474632271747923 2.472553352063313 -3.121653667088446
-0.9258371215228357 1.678028260573158 -2.444388300236914
-0.6039635070230979 1.174741795853186 -1.926128363208756
-0.4066818559818874 0.8446974810867688 -1.532810629123562
-0.2812045433156741 0.6215950300908808 -1.233126213722251
-0.2663216762305025 -0.7215669600968423 -1.350630170591053
-0.4102364837277567 -1.002221211897121 -1.707632650329251
-0.5881232675792368 -1.425660878964929 -2.163113895294754
-0.9166026726669106 -2.099649495796759 -2.787586672663631
-1.488199282952731 -3.217701377952962 -3.61955095942352
-2.627797827203528 -5.187868502439468 -4.709860764063411
-4.629677513096279 -8.786870797886728 -5.743543690121557
-9.112691194234216 -15.6934742369011 -5.610360907265803
-19.37068370558477 -27.70862309760508 1.008736940880416
-39.41650801114551 -35.53497462054911 27.70378130960744
-55.28665435179263 -0.001419959383643991 56.62699861715809
-39.41648531580115 35.53499454545484 27.70616214736403
-19.23743402830424 27.71668137034108 1.002183878447118
-9.11301666415117 15.69381540251204 -5.610198227574672
-4.629926892478911 8.787063786886534 -5.743629491059699
-2.541275378478228 5.173269182769953 -4.673155261608115
-1.487627475923602 3.217747917993454 -3.619577240024887
-0.8994655875908314 2.09553689628357 -2.771950660260799
-0.5881046225146006 1.425664627302589 -2.163102169699484
-0.3902474163975437 1.000405973153777 -1.698436948625115
-0.2662421253397009 0.7215326747091152 -1.350503538514827
-0.2362888237996514 -0.8159938350462932 -1.458026684870607
-0.3492128247005532 -1.149097606877862 -1.8512883909514
-0.53067071092185 -1.667858001082597 -2.383969216050732
-0.8328663665304064 -2.510521585756118 -3.11049375569952
-1.357971677970789 -3.950208869761006 -4.092684152975219
-2.317744026290445 -6.56045786177483 -5.34534164569224
-4.177157906619359 -11.60732189048578 -6.564220329616758
-7.98989319410174 -21.83163681109102 -5.872765190679193
-15.91368430895056 -41.07230655840075 5.32252528726752
-29.62843202001119 -56.1043088626182 50.9307591305016
-39.08631078829497 -0.001196534504166245 101.6286147674281
-29.62757596442334 56.10419177838969 50.93271061657171
-15.91352543685919 41.07256303613445 5.322940826633696
-7.989819453727169 21.8319709220593 -5.872657680745665
-4.177122970434355 11.60747651104703 -6.564223775717094
-2.317750021343933 6.560530825102342 -5.345360781932423
-1.357975958915555 3.950228633586743 -4.09269735030828
-0.8328634096350763 2.510538287836304 -3.11050491866436
-0.5306683829992607 1.667869459470157 -2.383977659997255
-0.349215586805027 1.149100990401244 -1.851293482623609
-0.2363037211418035 0.8159983134999383 -1.458032279905542
-0.1917403783399879 -0.8979194028955886 -1.549217590893969
-0.2847439304328356 -1.278609302516676 -1.981908942525284
-0.4340538516785079 -1.878992038816878 -2.573865995494127
-0.6809642065692357 -2.866997404267448 -3.389640276924395
-1.102539191892702 -4.57662801108459 -4.503517329798255
-1.846715388317158 -7.711093924026345 -5.934073652184023
-3.197984317183071 -13.81563655890373 -7.317616418453127
-5.671253170034125 -26.16722644273852 -6.416965010974685
-9.932655762324876 -49.00406233333736 6.800693651479143
-15.60990924185352 -65.73715175355687 59.0789497364075
-18.73944559555548 -0.0004189244154240962 115.9208959994473
-15.60926858167377 65.73694028428864 59.07943011013892
-9.932380377776347 49.00404416319205 6.800812547389575
-5.671087624260956 26.16742756161903 -6.416924427119602
-3.19793244133609 13.81572937932618 -7.317627726132974
-1.8467046053152 7.711135289694738 -5.934098026327685
-1.10260427690329 4.576623899300387 -4.503462474135158
-0.6809611863078835 2.86701302181633 -3.389645689632326
-0.4340391503816267 1.87900517716864 -2.573872288394646
-0.2847245736781107 1.278614398329056 -1.981911376997226
-0.1917422086791946 0.8979218872343815 -1.54922778694891
-0.1351743333893548 -0.9610155981740613 -1.618718570188577
-0.2009694418806665 -1.378463164915493 -2.081839975058661
-0.3063049963173811 -2.040891961185023 -2.71957011089407
-0.4784642709292438 -3.136549141154755 -3.604150837039104
-0.7654728800217224 -5.03707983502046 -4.819395355369087
-1.250216668500023 -8.514183696393784 -6.389874096648388
-2.066235400859863 -15.22400948493519 -7.929625188952738
-3.387039156942164 -28.54925897859079 -7.07720907854322
-5.286751175033864 -52.48237290789994 6.553078067947109
-7.325370048718704 -68.96851607692912 60.03208767538786
-8.280629003314441 -0.0001204405481165611 117.7642595629911
-7.325149303826535 68.96839948120648 60.03215532893739
-5.286478989904667 52.48248802243061 6.553107905787022
-3.386921490751361 28.54933939484722 -7.077208487900307
-2.066187329812547 15.22405678109301 -7.92963864135135
-1.250193161875365 8.514214791319016 -6.389890062585906
-0.7654568272117021 5.037096405107929 -4.819406333654312
-0.4784477116604345 3.136563599510551 -3.604155806457021
-0.3063185251998785 2.040894854828609 -2.71956795999245
-0.2009868889054749 1.378461129389642 -2.081803781383278
-0.1350644233925772 0.9611272154910211 -1.6187212467039
-0.06970940300318386 -1.000928013009545 -1.662224253392121
-0.1038505877013225 -1.441192069674923 -2.144529441564983
-0.1580868340777074 -2.141845926918741 -2.81105077932267
-0.2458192151904443 -3.302069880512513 -3.738796088802524
-0.3892241919217704 -5.311726879323166 -5.017470022157824
-0.6225355586817546 -8.969862904710284 -6.676146797015392
-0.9947270161273496 -15.9573410395828 -8.32422641616165
-1.545264673774927 -29.63763583736063 -7.567137024600045
-2.24793229729692 -53.81407067226984 6.052034353991812
-2.910571594479399 -70.00103741316023 59.6411246712575
-3.194613353180756 -4.959053169985987e-05 117.4594463830028
-2.910503130295377 70.00099007293868 59.64112970284317
-2.247824226575834 53.81406060384626 6.052006658645958
-1.545197214486894 29.63768180903398 -7.567143309069364
-0.9946954931283756 15.95735669450301 -8.324236791354606
-0.6230997002999376 8.969347112994917 -6.676290446251401
-0.3892092647300386 5.311739249821484 -5.017479438516609
-0.2457794721542764 3.302056639546869 -3.738814867185573
-0.1580969494723299 2.141856885759328 -2.81106223591707
-0.1038534409931492 1.441194443889196 -2.144531629139698
-0.06970116290211149 1.000925492411221 -1.662221938389127
1.463822501130546e-06 -1.01450977717558 -1.677036926424368
-5.757094245978047e-06 -1.46255019646591 -2.165887086113385
-1.382384062791238e-05 -2.176058397060207 -2.842230314544894
-4.319899586881385e-05 -3.357586005863424 -3.784653845847266
-2.531587464074141e-05 -5.402226797071251 -5.084831026563307
-3.565363407087463e-05 -9.114728137814151 -6.773670528785039
-6.986249279295507e-05 -16.18020834593224 -8.459571831055847
-9.171084054085017e-05 -29.94505335036711 -7.742046096587669
-0.0001672229410136884 -54.15705135748357 5.848717505732781
-0.0002024920460854456 -70.24500224677908 59.42908573961262
-5.65248708484392e-05 0.000701521981291797 117.2483891487343
-0.0001790350113386314 70.24498015422638 59.42908219635645
-0.0007787592196941081 54.15692908027248 5.847934754491184
-8.427805381843289e-05 29.94504289768265 -7.742060773300849
-4.937381948605019e-05 16.18021523066548 -8.459582556798498
-4.855515253045184e-05 9.11471656350578 -6.773675864789457
-1.370054415852271e-05 5.402230850266846 -5.084838989169842
-1.186388352378881e-05 3.357600689578649 -3.784629896444806
-8.670494236347928e-06 2.176057753363618 -2.842234535724067
-8.907140577356658e-06 1.462555066363143 -2.165890831035121
-1.0694775650104e-05 1.014515224783419 -1.67704097575173
0.06975364940742634 -1.000936721681905 -1.662248589682905
0.1038481004689622 -1.441197027826603 -2.144534564054662
0.1580873076083104 -2.141858507772374 -2.811065279365399
0.2457909005391395 -3.302084299182801 -3.738810659983411
0.3891695960110627 -5.311737855275045 -5.017490074805097
0.6230338939081775 -8.969374392212677 -6.676311528697093
0.9945942227505753 -15.95740478295335 -8.324268437288293
1.545033396255387 -29.63775699491343 -7.567192963482192
2.247541323060384 -53.81421218225105 6.051946824079517
2.910035740515663 -70.00112285962729 59.64105269086656
3.194042947144212 -6.666087338360773e-06 117.4593681958051
2.90995726536193 70.00081634402839 59.64103744750303
2.247536209743402 53.81427596373962 6.051921901839543
1.544980182320598 29.63770765504742 -7.567123946634157
0.9945962424850344 15.9574081137915 -8.324276255941266
0.6230382202059362 8.96937931872151 -6.676315546226792
0.3891801790597069 5.311756349248092 -5.017496195555039
0.2457983203882687 3.302082793584078 -3.738807155235337
0.1581184751945664 2.141873721459455 -2.81105591736426
0.1038427211622158 1.441196015238387 -2.144528943039229
0.06972828567859053 1.000933207017469 -1.66222729940079
0.1352272917927231 -0.9610966324306156 -1.6185597762082
0.2009594404807179 -1.378477869064818 -2.081851809748322
0.3062968908225018 -2.04090507416075 -2.719582641854891
0.4784378598707636 -3.136581407853757 -3.604175327253093
0.7654144569097263 -5.037148384049367 -4.819437874090331
1.250133448740447 -8.51427589845088 -6.389931517799405
2.066069689754264 -15.22416928915503 -7.929714849304652
3.386722929430988 -28.54953222701107 -7.07731162149422
5.28614536052219 -52.48272784959349 6.552980143986318
7.324310107687128 -68.96879296056571 60.03207466741459
8.279432266729925 -1.885040532593947e-06 117.7642675150866
7.32431498900099 68.96879533670379 60.03207230034507
5.286103564803001 52.48274411646889 6.552970815901842
3.386725677365033 28.5495349655669 -7.077321123554868
2.066089313229112 15.22417086117559 -7.929715782755512
1.250140415458187 8.514276951617697 -6.389938446802668
0.7654291011888203 5.037135048787728 -4.819439489974956
0.4784336005755973 3.136584970673977 -3.604177711212506
0.3063013299406746 2.0409057175554 -2.719586025383882
0.200968218910752 1.37847351946964 -2.081852857034033
0.1345294345177065 0.9611315912131598 -1.618764641680725
0.1917731432944554 -0.8979272534300703 -1.549235407588582
0.2847398166521562 -1.278617642503246 -1.981920636774523
0.4340335812805979 -1.879020017643835 -2.573890290150725
0.6809488874399572 -2.867038414048816 -3.389675210933523
1.102580416541806 -4.576672147443398 -4.50350319839734
1.846657109210009 -7.711220177621774 -5.934163050544235
3.197850276157855 -13.81590900919761 -7.317733804043814
5.670901355174539 -26.16780179940416 -6.417087308051165
9.931700079862591 -49.00506767772198 6.800801844988894
15.60768527682878 -65.73822507381243 59.07978637019217
18.73656891022951 0.0001151566815405754 115.9221715279068
15.60768549884058 65.73822303312105 59.07978708029751
9.93168350510744 49.00508334505874 6.800819356839988
5.670886430734912 26.1678025024801 -6.417081761319954
3.197851783118151 13.81591018637783 -7.317738040320568
1.8466584862254 7.71122041476143 -5.934164915130778
1.102574098118024 4.576676037817169 -4.503506891088421
0.6809473483384905 2.86703893143659 -3.389674732449307
0.4340364309317037 1.879018765340148 -2.573887516113806
0.2847420372921388 1.278622122211965 -1.981921614585764
0.1917228239505566 0.8979302873641857 -1.549231529396923
0.2363053977189079 -0.8159971379267815 -1.458048862199925
0.3492159592832214 -1.149112216666343 -1.851308073990937
0.5306730509993441 -1.667885529718121 -2.383994904247797
0.8328522208134462 -2.510571256604902 -3.110534565828723
1.357949932783843 -3.950300442054915 -4.092749063468454
2.317707783845949 -6.560645571584328 -5.345451538846754
4.1770774045129 -11.60770863557644 -6.564353125654322
7.989714468223498 -21.83251299042293 -5.87284080130596
15.91340012167939 -41.07233460287334 5.32390849492888
29.62600633980666 -56.1075103396445 50.93462038196441
39.08250642924704 1.107797340156819e-05 101.6353436326468
29.62601121303371 56.10750814752037 50.93461924047682
15.91119488713982 41.0769410688947 5.325403191635673
7.989682746093619 21.8325155196055 -5.872837444182192
4.177080129066372 11.60770929363984 -6.564355802767121
2.317709677925439 6.560640825509819 -5.345441302321369
1.357955425628653 3.95029724832827 -4.092750404219689
0.8328532426850653 2.510571528925103 -3.110538010951732
0.5307424020472847 1.667892368189782 -2.383997593381272
0.3492058165260228 1.14911380532863 -1.851307587267434
0.2362699466045041 0.8160093710285161 -1.458049074348136
0.2197869108354163 -0.7217654444037898 -1.351977917927214
0.395753504222317 -1.000554162097549 -1.699021362102044
0.5881393327701823 -1.4256824132846 -2.163121689867446
0.9165973769603323 -2.099679350373411 -2.787544382388582
1.486588753131098 -3.217825277676284 -3.619696232169639
2.452641281908766 -5.17484132266121 -4.676903194667766
4.629649215643545 -8.787281219771787 -5.743719505327235
9.11308422576867 -15.69439658080712 -5.610393365390143
19.26121081777108 -27.72060807103879 0.999767308913082
39.41758925948415 -35.53875908578905 27.70845111471447
55.28935990961642 -0.0004786851386271351 56.63547353039417
39.44162785463806 35.54131782247432 27.7071170194491
19.26258068693011 27.72079615870171 0.9997257722470874
9.112826155846143 15.69431266136439 -5.610245021841846
4.629782181728745 8.787316221074843 -5.743798111182498
6.508026623377618 5.117700318004978 -4.53414203304523
1.487593297135799 3.217804012255955 -3.61962353627845
0.9152486225326693 2.099494234181604 -2.786782373725151
0.5881197888601261 1.425675507223222 -2.163091388830706
0.3904305641631035 1.00042519387745 -1.698469369544273
0.2695029526064051 0.7217948812665018 -1.351846979370231

441
m3d/test/pipeline/T.dat Normal file
View File

@ -0,0 +1,441 @@
-0.008871351294640228 -0.01003836475915489 -0.0262844838365249 -0.01003836475231399 -0.003643524985384718 -0.01980196577127482 -0.02628448393048275 -0.01980196569769816 0.0125148759541129
-0.01173854909082399 -0.01172048937208384 -0.03112326730607083 -0.01172048925060914 -0.003264287443736655 -0.02125921610459861 -0.03112326725763558 -0.02125921641164296 0.01500283705418712
-0.01539760838281028 -0.01344075414342749 -0.03665916170701273 -0.01344075406006114 -0.002501821065611655 -0.02242442274280543 -0.03665916175049406 -0.02242442236268111 0.01789942934823863
-0.01995470653194755 -0.01503327000909868 -0.04285249381396992 -0.01503327011480374 -0.001244394741741006 -0.02310492925692267 -0.04285249383752239 -0.02310492952005483 0.02119910144438749
-0.02544101094588774 -0.01624553152644 -0.04957447960683103 -0.01624553146073377 0.0005943623628001283 -0.02307245772331103 -0.04957447963445082 -0.02307245778964175 0.02484664819574475
-0.03174439883240626 -0.01674214010962774 -0.05657729480347178 -0.01674213999717766 0.003028440330674462 -0.02208665072025377 -0.05657729504783036 -0.02208665084945439 0.02871595830837929
-0.03853486332894351 -0.01614691070535695 -0.063476012239054 -0.01614691076501068 0.005940948706585933 -0.01993879843784389 -0.06347601236402414 -0.01993879869914622 0.03259391479016392
-0.04521864820052288 -0.01413821158522641 -0.06975885432391421 -0.01413821155179477 0.009037813417101812 -0.01651346145663658 -0.06975885440539031 -0.01651346068222802 0.03618083492544728
-0.05097355189772022 -0.01058784519186703 -0.07484098368755961 -0.01058784526641178 0.01185378263662895 -0.01185380347161861 -0.07484098368985935 -0.01185380325987222 0.03911976892867726
-0.0549057127487496 -0.00569068566686126 -0.078164283981421 -0.005690685578158691 0.01384627747481118 -0.006204041827764719 -0.07816428387597435 -0.006204041897486825 0.0410594369289265
-0.05630689851244591 -8.801296214654688e-08 -0.07932192797496213 -8.79207236387332e-08 0.01456851032845003 -7.7494987185532e-08 -0.07932192778727268 -7.826329495268813e-08 0.04173838905401562
-0.05490580662539131 0.005690525484554057 -0.07816434829149786 0.005690525418321923 0.01384632422105458 0.006203895388382866 -0.07816434837133879 0.00620389593491502 0.04105948165562753
-0.05097371774229559 0.01058772740114847 -0.07484110215869519 0.01058772726911227 0.0118538652016032 0.01185368319615657 -0.07484110223533025 0.01185368248817905 0.03911985190818008
-0.04521885214037352 0.01413814771395966 -0.06975900961228854 0.01413814771328376 0.009037910008744796 0.01651337586092463 -0.06975900960498804 0.0165133751394529 0.03618094195470491
-0.0385350717032384 0.01614689780653068 -0.06347618491632738 0.01614689771679717 0.005941038985383831 0.01993875071329708 -0.06347618502157773 0.019938750692395 0.03259403284076495
-0.03174458759274221 0.01674216474335863 -0.05657746787436623 0.01674216460778724 0.003028511743942705 0.02208663701787371 -0.0565774677526405 0.02208663667044751 0.02871607590964784
-0.02544116759446611 0.01624557845563755 -0.04957464054957907 0.01624557856817729 0.0005944115956185045 0.02307246962949239 -0.04957464080832136 0.02307246938282278 0.02484675642665319
-0.01995482859595351 0.0150333262228097 -0.04285263608250887 0.01503332633177666 -0.001244366314077586 0.02310496013355589 -0.04285263639435918 0.02310495916132587 0.02119919448394511
-0.01539769942691958 0.01344080979304291 -0.03665928271683427 0.01344080998902051 -0.002501808555173832 0.02242446180797042 -0.03665928271303293 0.02242446210419753 0.01789950897339866
-0.01173861487435879 0.01172053967368472 -0.03112336756842781 0.01172053997005493 -0.003264286244437164 0.02125925919629372 -0.03112336780513992 0.02125925932107069 0.01500290167643808
-0.00887139707336077 0.01003840811991361 -0.02628456535129483 0.01003840832099253 -0.003643530434803277 0.01980200981748275 -0.02628456468873022 0.01980201027497326 0.0125149275237495
-0.01016535883126253 -0.0128807235161821 -0.0304746836830051 -0.01288072353875197 -0.005644855653269979 -0.02487529007776489 -0.03047468318659723 -0.02487529078596625 0.0158102149381191
-0.01387451751825632 -0.01545803238477938 -0.03668823411244423 -0.01545803241994734 -0.005447513713260218 -0.02719227018427962 -0.03668823418059563 -0.02719226971481908 0.01932203104139178
-0.01880330281869539 -0.01826427949571372 -0.04398152046169281 -0.01826427949141977 -0.004730758711668425 -0.02923815072069355 -0.04398152063015563 -0.02923815064541329 0.02353406158872396
-0.02521379364801728 -0.02109212768732301 -0.05236575317463076 -0.02109212757373554 -0.003273871270540846 -0.03073513336388153 -0.05236575290295944 -0.03073513419874441 0.02848766344305544
-0.03329264005442878 -0.02356867169696735 -0.06172596167406617 -0.02356867158259601 -0.0008574549243973485 -0.03132518735137699 -0.06172596169478717 -0.03132518759893969 0.03415009490540295
-0.04302114992573473 -0.02512583574197842 -0.07175802290223668 -0.02512583572398392 0.002655290995301285 -0.03059587000399554 -0.0717580227906137 -0.03059586983214243 0.04036585955178099
-0.05399860216722117 -0.02503652282487471 -0.08191531763976537 -0.02503652291522689 0.007190663095197915 -0.02814631891834525 -0.08191531777480238 -0.02814631866742679 0.0468079395367985
-0.06527957418783321 -0.02257298321467402 -0.0913987817105235 -0.02257298330113979 0.01232556847292 -0.02369831222411894 -0.09139878191372347 -0.02369831231641105 0.0529540063522352
-0.07535558984014369 -0.01730528419473632 -0.09923016140896694 -0.01730528415854507 0.01723219418232725 -0.01723222806023183 -0.09923016150960433 -0.01723222779145166 0.05812339548729604
-0.08242789112465282 -0.00944389880476978 -0.1044279970516437 -0.009443898717402758 0.02082692352423017 -0.00909372888316857 -0.1044279970340791 -0.009093729197700294 0.06160096735341482
-0.08498425428672701 -1.57483492705026e-07 -0.1062527825848119 -1.575610453490535e-07 0.02215364410413601 -1.222498528861303e-07 -0.106252782514476 -1.212900835830379e-07 0.06283060972618763
-0.0824280735249481 0.009443618337837726 -0.1044281036590708 0.009443618193996974 0.02082701784726045 0.009093504382502613 -0.1044281034883209 0.009093503819672399 0.06160105492447565
-0.07535590398487681 0.01730509272837109 -0.09923035421598167 0.01730509276217953 0.01723235103473025 0.01723205045194567 -0.09923035430037989 0.01723204900048757 0.05812355301855428
-0.0652799452061722 0.02257289869024444 -0.09139902913387911 0.02257289858762362 0.01232574076596183 0.02369819508059596 -0.09139902922200924 0.02369819482766689 0.05295420398974935
-0.05399896236926199 0.02503653052262108 -0.08191558451914448 0.02503653063940091 0.007190813224460539 0.02814626439715445 -0.08191558451795776 0.02814626403091723 0.04680814918209622
-0.04302145780569686 0.02512590369707006 -0.07175828121556635 0.02512590381600537 0.002655399386425078 0.03059586756960786 -0.0717582813639329 0.03059586731176558 0.04036605888571634
-0.03329288082606596 0.02356876803346375 -0.06172619429398377 0.02356876797700448 -0.0008573904541556596 0.03132522288702797 -0.06172619394058662 0.03132522262679511 0.03415027053456795
-0.02521397024200445 0.0210922288176911 -0.05236595104959738 0.02109222904077702 -0.003273841260925691 0.03073519069163489 -0.05236595097000087 0.03073519044730002 0.02848781110089497
-0.01880342640121398 0.01826437232260881 -0.04398168306260124 0.01826437214952674 -0.004730753589494462 0.02923821764186307 -0.04398168276892674 0.0292382178270663 0.02353418028887977
-0.01387460152567848 0.01545811044853225 -0.03668836316490583 0.01545811052796753 -0.005447523434277643 0.02719233846957868 -0.03668836310268987 0.02719233910340076 0.01932212486271382
-0.01016541435567888 0.01288078684509581 -0.03047478519054644 0.01288078691170156 -0.005644872184445403 0.02487535573124058 -0.03047478539096412 0.02487535545164228 0.01581028714249377
-0.01140490894553148 -0.01645124388131635 -0.03515857037826995 -0.01645124385061618 -0.008608685469775676 -0.03129104229799555 -0.03515856983241959 -0.03129104308968494 0.02001359448269911
-0.01612226289824995 -0.02034957092941019 -0.04309945647221034 -0.02034957011265365 -0.008865783947267232 -0.03489189489153278 -0.04309945591544375 -0.03489189558219277 0.0249880470815976
-0.02268137076720002 -0.02486616825928721 -0.0526857205093663 -0.02486616849486014 -0.008474890188641554 -0.03833128395406615 -0.05268572012614852 -0.03833128350305715 0.03115626141154455
-0.0316466561894516 -0.02979606670533556 -0.06404495810899276 -0.0297960665911437 -0.007033196083926104 -0.04122466021589701 -0.06404495785167445 -0.04122465978086373 0.03867985222783033
-0.04356850581926892 -0.03464315080596437 -0.07713902869543984 -0.0346431507830112 -0.004055727710540619 -0.04302474070310425 -0.07713902840727267 -0.04302474045124378 0.04762423317100885
-0.05876186110541757 -0.03849182059035275 -0.09164068392302537 -0.03849182063633294 0.0009072388288748793 -0.04303524139177061 -0.09164068409243326 -0.04303524123892562 0.05785462270964334
-0.0769209503981788 -0.03996276106766596 -0.1068023877372955 -0.03996276093252566 0.008015951949499616 -0.04049932069614111 -0.1068023874362377 -0.04049932115163959 0.06890499845624853
-0.09663765785634094 -0.03742115332971081 -0.1213820062135037 -0.0374211534258725 0.01676903013125172 -0.03479312562724723 -0.1213820064250149 -0.03479312489894348 0.07986862922025512
-0.1151143102934428 -0.02959381326262501 -0.1337227465543439 -0.02959381339205651 0.02570670158175543 -0.02570675946965752 -0.1337227465729516 -0.02570675939856958 0.08940760775992458
-0.1285572344045615 -0.01648565533100115 -0.1420606556790216 -0.01648565558708398 0.03256904396964536 -0.01370602014758066 -0.1420606557810287 -0.01370601987615776 0.09598819053577799
-0.1335110789365157 -2.988179294027664e-07 -0.1450152320474458 -2.987627541451639e-07 0.03516450560785056 -1.926755217314612e-07 -0.1450152320957012 -1.941006652476381e-07 0.09834657202623243
-0.1285576121381142 0.01648513849385007 -0.1420608352128536 0.01648513863746568 0.03256924152861117 0.01370566554818472 -0.1420608352947863 0.01370566495259546 0.09598837017931837
-0.1151149387313315 0.02959349540051048 -0.1337230667624853 0.02959349546239935 0.02570701513325978 0.02570649020083679 -0.1337230667664274 0.02570648994910936 0.08940792349494282
-0.0966383614617804 0.03742105776942602 -0.1213824057097345 0.0374210579441068 0.01676935048006842 0.0347929677167525 -0.1213824055611492 0.03479296725475447 0.07986900975378805
-0.07692159007049486 0.03996283567661733 -0.106802803947423 0.03996283566128454 0.008016204186737964 0.04049926855361356 -0.1068028038139378 0.04049926820975 0.06890538543753552
-0.05876236937801715 0.03849198702857319 -0.09164107165515387 0.03849198686413658 0.0009073970607609738 0.04303526948773732 -0.09164107165173485 0.04303526984955245 0.0578549729219348
-0.04356887434745682 0.0346433435482533 -0.0771393624108148 0.03464334360596721 -0.004055652123649213 0.04302481987402383 -0.07713936261828634 0.04302482008479518 0.04762452717012251
-0.03164690704230655 0.02979624709052872 -0.06404523084704879 0.02979624701765359 -0.007033178760319488 0.04122476503337691 -0.06404523063882388 0.04122476478866147 0.03868008580126689
-0.0226815339690653 0.02486631962018005 -0.05268593537078801 0.02486631955798833 -0.008474906581886823 0.03833139425090864 -0.05268593533952536 0.03833139440601424 0.03115644093744109
-0.01612236762584899 0.02034968938410549 -0.04309962295047819 0.02034968897948023 -0.008865816000486493 0.03489199971451934 -0.04309962222083574 0.03489200064682353 0.02498818277870888
-0.0114049732385467 0.01645133402916956 -0.03515869508811741 0.01645133413621582 -0.008608722305406541 0.0312911385278451 -0.03515869556253253 0.031291138125736 0.02001369500653544
-0.01240755300685408 -0.02083040905664731 -0.04025064333956933 -0.02083040929052142 -0.01293041354303357 -0.03934111580972015 -0.04025064413365974 -0.03934111510873207 0.02533796678605603
-0.0182502491082496 -0.02662636002497713 -0.05030958873463615 -0.02662636006896215 -0.01413736935306842 -0.04482564182967541 -0.05030958854101935 -0.04482564151549027 0.03238761896513737
-0.02679282451414468 -0.03377478062910361 -0.06282572576326972 -0.03377478055407281 -0.01466386025049465 -0.0504272702365401 -0.06282572538907398 -0.05042727020182516 0.04145668449803373
-0.03914562127164608 -0.04221421506454912 -0.07815753997352805 -0.04221421518701579 -0.01383916837947282 -0.05564739816451372 -0.07815753989868872 -0.0556473976711887 0.05298478974824915
-0.05663323859050267 -0.0514342950673057 -0.09647324837392691 -0.05143429502253115 -0.01069666266213765 -0.05968198833051235 -0.09647324834843059 -0.0596819884516854 0.06732990060288561
-0.08049290936794454 -0.06010963120246919 -0.1175248541609402 -0.060109631243976 -0.004072494115061399 -0.06138334403755002 -0.1175248543500287 -0.06138334394527546 0.08456540393222643
-0.1111293129374315 -0.06573914394128831 -0.1403570427404672 -0.06573914408520072 0.00697163087888665 -0.05934822586753552 -0.1403570430471733 -0.05934822559973969 0.1041576820132112
-0.1468415791137406 -0.06469756973758907 -0.1630649160101859 -0.06469756984856538 0.02225133909511316 -0.0522365527888403 -0.1630649163015442 -0.0522365522782675 0.1245902400017224
-0.1825197412742452 -0.05336746690699056 -0.1828281735993863 -0.053367467035274 0.03934570755979618 -0.0393458103221223 -0.1828281737672088 -0.03934581061050161 0.1431740338227774
-0.2097865789104514 -0.03059149191691645 -0.1964450492338863 -0.03059149207001171 0.05335269674022359 -0.02123976111035261 -0.1964450494822033 -0.0212397607482304 0.1564338812851301
-0.2201087938367483 -6.08364143218302e-07 -0.2013187013496778 -6.083679533018622e-07 0.05883494374623336 -3.172351556376093e-07 -0.2013187015659979 -3.16858487939698e-07 0.1612738488168586
-0.2097874222955823 0.03059048184802672 -0.1964453532284136 0.03059048178229846 0.05335314693455442 0.0212391888172092 -0.1964453532251844 0.02123918965413875 0.1564342768987875
-0.1825210782319283 0.05336693835833396 -0.1828287067948827 0.05336693826363886 0.03934637477674975 0.03934540167974152 -0.1828287068617146 0.03934540113234961 0.14317470356777
-0.1468429718721743 0.06469752527479915 -0.1630655630949634 0.06469752522725093 0.0222519557812462 0.05223634287337997 -0.1630655631559999 0.05223634230119954 0.1245910163916757
-0.1111304741078097 0.06573941012053654 -0.14035769293231 0.06573940995606788 0.006972050139000975 0.05934819596045086 -0.1403576931281068 0.05934819572058633 0.1041584234958182
-0.08049374993086296 0.06011001586312778 -0.1175254337861506 0.06011001584440415 -0.004072283693192442 0.06138343906469339 -0.117525433690039 0.06138343862824151 0.08456603304302697
-0.05663379385554303 0.05143467224758019 -0.09647372484667656 0.05143467211061493 -0.01069660420058711 0.05968214925883884 -0.0964737246449555 0.05968214926563212 0.06733039776215032
-0.03914596623798446 0.04221452982001519 -0.07815791104184168 0.04221452986459937 -0.01383919641525894 0.05564758128115013 -0.07815791137725105 0.05564758113755998 0.05298516255096404
-0.02679303068366527 0.03377502199876242 -0.06282600504359352 0.03377502203337347 -0.01466392556018418 0.05042744874511023 -0.06282600537344715 0.05042744856429107 0.04145695790730357
-0.01825037027858694 0.02662653583569522 -0.05030979543334661 0.02662653589720901 -0.01413744472514927 0.04482580091436452 -0.05030979583652256 0.04482580083120518 0.03238781378436149
-0.01240762224892974 0.02083053447748657 -0.04025079492002826 0.02083053438668013 -0.01293048466211721 0.03934125210627909 -0.04025079533497206 0.03934125177909123 0.02533810594525894
-0.01290274733033083 -0.02601627089931364 -0.04556900870471227 -0.0260162709014034 -0.01910276426284025 -0.04931921599661745 -0.04556900908054682 -0.0493192165436014 0.03200551069029222
-0.01985786443358078 -0.03443438754642224 -0.05813411708923846 -0.03443438755295177 -0.02210327452501783 -0.05750531076797545 -0.05813411757366618 -0.05750531054331541 0.04196113879427185
-0.03060120445576792 -0.04549196083665539 -0.07427391808252634 -0.04549196085011574 -0.02468964407593123 -0.06638132362984804 -0.07427391781998215 -0.06638132383226211 0.05529084930252058
-0.0471443773248373 -0.05961480933880319 -0.09475865677481854 -0.05961480927221666 -0.02588791836366872 -0.07536840666970203 -0.09475865658969324 -0.07536840691779537 0.07303229569042677
-0.07231224024189768 -0.07670250840800653 -0.1201951644626861 -0.07670250831043661 -0.02398365228809128 -0.0833534785754466 -0.1201951642542975 -0.08335347849826992 0.09629589172978464
-0.1095620059042955 -0.09530430225462304 -0.1506386699915221 -0.09530430217552588 -0.01636581494854981 -0.08850517896978623 -0.1506386699508734 -0.08850517896049022 0.125927820936872
-0.16185423402614 -0.1113455189834402 -0.1849886354570598 -0.1113455189147145 5.873787784383759e-05 -0.08827310797861267 -0.1849886359432741 -0.08827310761005314 0.1617954953721835
-0.228709488065066 -0.1170768521669456 -0.2203524593863827 -0.1170768523967104 0.0270487261026393 -0.07987113797898196 -0.2203524591408158 -0.07987113737995814 0.2016607623700926
-0.3015645630223629 -0.1023971067229771 -0.2519197519493151 -0.1023971067015763 0.06145640719228193 -0.06145660325086961 -0.251919751926615 -0.06145660348095549 0.2401081561023483
-0.361234981790901 -0.06115928716120951 -0.2739797714993434 -0.06115928729780799 0.09240709776010506 -0.0336126034554967 -0.2739797714308106 -0.03361260334428642 0.2688278851922645
-0.3847179484518684 -1.349071517032671e-06 -0.2819165310372937 -1.348984244301788e-06 0.1051377332696307 -5.206106127641753e-07 -0.2819165315848003 -5.227463681737854e-07 0.2795802265984445
-0.3612370385817559 0.06115717637483659 -0.2739802555534043 0.06115717522208136 0.092408215276506 0.03361167311742662 -0.2739802547941848 0.03361167757547862 0.2688288220697345
-0.3015676070170683 0.1023962674954871 -0.2519206009084895 0.1023962671269935 0.06145792761607537 0.06145597288614307 -0.2519206006023199 0.06145597420886349 0.2401096797342396
-0.2287123579427988 0.117077108275619 -0.2203534763571391 0.1170771082655064 0.02704994009829151 0.07987087032241542 -0.2203534762918939 0.07987087049919867 0.2016624185928604
-0.161856364083638 0.1113463050450706 -0.1849896281049745 0.111346305088198 5.939905570755529e-05 0.08827314590042659 -0.1849896280737079 0.08827314566464289 0.1617969655542175
-0.1095633725994628 0.09530516230992885 -0.1506395177201787 0.09530516180221739 -0.01636560398723732 0.08850540479556844 -0.1506395171998283 0.08850540539081975 0.1259289761868838
-0.07231304172752719 0.07670322921636497 -0.1201958275162114 0.07670322904597887 -0.02398369552171742 0.08335378285841631 -0.1201958272551834 0.08335378301148495 0.09629673782553815
-0.04714482336736948 0.05961534254970376 -0.09475914880647679 0.05961534208315863 -0.02588806724147714 0.07536871695248264 -0.0947591481024662 0.07536871713561563 0.07303289011523642
-0.03060144458231626 0.04549233167722622 -0.07427427120128377 0.04549233161556961 -0.02468981362439293 0.06638160361143371 -0.07427427129737234 0.0663816029858537 0.05529125837730461
-0.01985799079057096 0.03443463795000222 -0.05813436731269954 0.03443463773981019 -0.02210342812784442 0.05750554601237955 -0.05813436712286561 0.05750554601616999 0.04196141835323836
-0.01290281291099424 0.02601643758201113 -0.04556918477747138 0.02601643775648311 -0.01910289054739571 0.04931940779561727 -0.04556918427950998 0.04931940802740235 0.03200570332121289
-0.012536036601418 -0.0318543232437748 -0.05080520355255552 -0.0318543232460928 -0.02767872703359266 -0.06147256440872285 -0.05080520419088691 -0.06147256404351742 0.04021476376618281
-0.02034560199346474 -0.04370157336767736 -0.06618726198658076 -0.04370157332822035 -0.03380979962217577 -0.0734210568379552 -0.06618726234701838 -0.07342105653942053 0.05415540154568754
-0.03314269818990723 -0.06026771987775881 -0.08659525876386094 -0.06026771997905645 -0.04048517325196167 -0.08710160210768139 -0.08659525906497831 -0.08710160224760506 0.0736278709205659
-0.05424846808593622 -0.08315933992793992 -0.1134609034305114 -0.08315933989924522 -0.04662524058575757 -0.101972317197657 -0.1134609031133582 -0.101972317499615 0.100873708947947
-0.08906313366150859 -0.1138198560841017 -0.1481833367109086 -0.1138198552869653 -0.049698040426268 -0.1166179275557539 -0.1481833351353788 -0.1166179283197726 0.138761169642416
-0.1457405023612358 -0.1521322088016757 -0.1914873059581375 -0.1521322087600312 -0.04467354243088418 -0.1282144004038326 -0.1914873059599308 -0.1282144003606118 0.1904140452281378
-0.2345390937271391 -0.1931585063015526 -0.2421839671980914 -0.193158506409099 -0.02334764794703447 -0.1321748177393826 -0.2421839669578652 -0.1321748180984238 0.257886741958582
-0.3625775392684627 -0.2219091653443631 -0.295591891589464 -0.2219091652026362 0.02339997836719991 -0.122809668634636 -0.2955918913943546 -0.1228096681255248 0.3391775610084193
-0.5198558311364425 -0.210915398468306 -0.3431446967849056 -0.2109153986711504 0.09597638594393407 -0.09597677614345072 -0.34314469656208 -0.09597677535536381 0.423879443938438
-0.6622537635380898 -0.1339383730603666 -0.3753674971057014 -0.1339383734256895 0.1710252934621937 -0.05273885110149112 -0.3753674972496674 -0.05273885030138476 0.4912284700493944
-0.7216485807764521 -3.325429274423016e-06 -0.3865611659726072 -3.325661081426806e-06 0.2043000861064973 -7.933520971262298e-07 -0.386561166246984 -7.930631875399157e-07 0.517348495072943
-0.6622593154304868 0.1339336336235585 -0.3753680114438285 0.1339336336923192 0.1710284143873179 0.05273740668136023 -0.3753680112438179 0.0527374065157893 0.4912309008533843
-0.5198632556549351 0.2109143520260144 -0.3431457613158544 0.2109143523309579 0.09598009258982447 0.09597578119745732 -0.3431457617353667 0.09597578086972869 0.423883164381186
-0.3625836120321603 0.2219106205845607 -0.2955933031651832 0.2219106208311022 0.02340234015359489 0.1228093049494377 -0.2955933027675008 0.1228093040486418 0.3391812722266408
-0.2345429405405423 0.1931606517594943 -0.2421853788201475 0.1931606516046108 -0.0233467907243122 0.1321749853834654 -0.2421853787332036 0.1321749854149026 0.2578897314744332
-0.1457426100992045 0.152134058923326 -0.1914884840360249 0.1521340591981085 -0.04467357446752036 0.1282148583917413 -0.1914884842555749 0.1282148579768329 0.1904161830222377
-0.08906419656427257 0.1138211736471163 -0.1481842180844118 0.1138211737038869 -0.04969841081897555 0.1166184651944004 -0.1481842186746308 0.1166184644249487 0.1387626075828709
-0.05424898053628787 0.08316020014968825 -0.1134615251506327 0.08316020036330231 -0.04662566280946001 0.1019728196403347 -0.1134615253240805 0.1019728192278215 0.1008746437287363
-0.03314293824857165 0.06026826126017053 -0.08659568521446254 0.06026826110111352 -0.04048553724627417 0.08710202355729083 -0.08659568489362146 0.0871020234845369 0.07362847484032778
-0.02034571032048423 0.04370191064185322 -0.06618755076251037 0.04370191059441786 -0.033810081703929 0.07342139218439567 -0.06618754969564956 0.07342139255112323 0.05415579247714525
-0.01253608369801922 0.03185453333626177 -0.05080539864664175 0.03185453324379291 -0.02767893629440818 0.06147282486167711 -0.05080539849299967 0.06147282470301215 0.04021501929852924
-0.01091217844440746 -0.03796061538608222 -0.055506366148512 -0.03796061570607056 -0.03917557359385793 -0.07592914613990914 -0.05550636635184505 -0.07592914618492828 0.05008775275450649
-0.01895136050401804 -0.05395701733597243 -0.07382779195305175 -0.05395701754886674 -0.0503783700085404 -0.09292490795996151 -0.07382779224259418 -0.09292490784516703 0.06932973102092958
-0.03297986138844541 -0.07770868046799134 -0.09891342964833384 -0.07770868050020129 -0.06441791957825403 -0.1133724021502092 -0.09891343020707205 -0.1133724017022411 0.09739778042656481
-0.05786813251458058 -0.113149610938295 -0.1331377189453611 -0.1131496109083798 -0.08091727807802797 -0.1370135165095829 -0.1331377184676153 -0.1370135166749804 0.1387854103417333
-0.1026894390732736 -0.1656368469556575 -0.179114544653869 -0.1656368470588503 -0.09742649054932602 -0.1622385579355957 -0.1791145442243007 -0.1622385577269424 0.2001159298703773
-0.1839511534950364 -0.2407454747728293 -0.2385975451003975 -0.2407454746698717 -0.1064199587556536 -0.1847325467886387 -0.2385975450397059 -0.1847325473492909 0.2903711123247834
-0.3291494290330694 -0.3385495327487192 -0.309688182885291 -0.3385495326622661 -0.09016735766380425 -0.1959289336008409 -0.3096881830962408 -0.1959289335101557 0.4193167851544633
-0.5734781456022114 -0.4374671986672249 -0.3822597802099774 -0.4374671991027576 -0.01740428891092678 -0.1835976421877636 -0.3822597808731373 -0.1835976414914524 0.5908824339015968
-0.9277442406975717 -0.468713144201218 -0.4367359046572907 -0.468713144058494 0.1394996264608454 -0.1395004085332009 -0.4367359042121347 -0.1395004084973678 0.7882446140236868
-1.299955429761896 -0.3272676688724276 -0.4588317730770451 -0.3272676683145122 0.3414242095523479 -0.07209058430177823 -0.4588317728813626 -0.07209058523017521 0.9585312188021343
-1.469934121660951 -9.305586865606597e-06 -0.4609928756488382 -9.305613943403997e-06 0.4422355518482372 -6.457085465291491e-07 -0.4609928753776061 -6.451175157291739e-07 1.027698570291224
-1.299972161584637 0.327256325573105 -0.4588304362038592 0.3272563253519958 0.3414341742667155 0.07208879656637648 -0.4588304362301276 0.07208879690865928 0.9585379871897906
-0.9277633744443664 0.4687135619565646 -0.4367355201313283 0.468713562077777 0.139509173379218 0.1394985192205248 -0.4367355206372819 0.1394985185167672 0.7882542020712886
-0.5734908572782511 0.4374728842558166 -0.3822608925425598 0.4374728844742338 -0.01740015515766122 0.1835967905550878 -0.3822608928226464 0.1835967905683117 0.5908910120245098
-0.3291558941188218 0.3385550139361802 -0.3096898461548859 0.3385550141830341 -0.09016702814424181 0.1959291812831853 -0.3096898464459716 0.1959291803390758 0.419322923071948
-0.1839540199028657 0.2407492129744793 -0.2385990258755531 0.2407492128000926 -0.1064210147108235 0.1847333362612779 -0.2385990258575154 0.1847333362249381 0.2903750339133911
-0.1026906197423127 0.1656390884669486 -0.1791156301833229 0.1656390887606536 -0.09742769427260517 0.1622394389325154 -0.1791156306314449 0.1622394387402543 0.2001183141721575
-0.05786859447894527 0.1131508942264771 -0.1331384508536047 0.1131508942669795 -0.0809182464014499 0.1370142880580703 -0.1331384507851474 0.1370142870603674 0.1387868404437955
-0.03298003129282468 0.07770940876594866 -0.09891390835354121 0.07770940885503407 -0.06441861394633472 0.1133730100705505 -0.0989139081826565 0.1133730100476731 0.09739864530436522
-0.01895141418062155 0.05395743565853673 -0.07382810249070768 0.05395743566854333 -0.05037884637736701 0.09292536734635989 -0.07382810242690468 0.09292536712601172 0.0693302615895509
-0.01091218838651372 0.03796085989857316 -0.05550656918542336 0.0379608601927428 -0.03917589654075442 0.07592948662639312 -0.05550656888936348 0.07592948689854467 0.05008808536265036
-0.007692576822682502 -0.04367325147280144 -0.05908654553492667 -0.0436732513944767 -0.05390770918363216 -0.09260724557456122 -0.0590865455470471 -0.09260724537205405 0.06160028647084719
-0.01491022218106327 -0.06416279129824949 -0.08014892409085367 -0.06416279171465361 -0.07270068896463214 -0.1160663656611984 -0.08014892500713341 -0.1160663648370425 0.08761091108854217
-0.02840849362388512 -0.09628618540394218 -0.1098340308595683 -0.09628618546942495 -0.09878799270706796 -0.1455629541717469 -0.1098340308045879 -0.1455629543207204 0.1271964861050482
-0.05426055624444677 -0.1477380266078892 -0.1516745676431408 -0.1477380269972902 -0.1344461246522845 -0.18151535027727 -0.1516745677771675 -0.181515349804156 0.1887066801205574
-0.1052610388825211 -0.2315198343004296 -0.209814083657354 -0.2315198344882289 -0.1807433099619724 -0.222292842622329 -0.2098140837748081 -0.2222928429065364 0.2860043491994407
-0.2089750527486501 -0.3681590567651163 -0.2869104236861718 -0.368159056683432 -0.2323457743987231 -0.2608775716642621 -0.2869104243217159 -0.2608775718870022 0.4413208266474767
-0.4239767051754424 -0.5827482551979185 -0.3768510726935175 -0.5827482553043536 -0.262415730065625 -0.2789696999902186 -0.3768510730626586 -0.2789697000008201 0.6863924360644437
-0.8614127738833619 -0.874875869449464 -0.447247849401458 -0.8748758693930848 -0.1905034587204162 -0.2436207687590324 -0.447247850106367 -0.2436207684507891 1.051916233190125
-1.655924075626829 -1.112008773441546 -0.4236731055499861 -1.112008773519828 0.1327913017697377 -0.1327926547520916 -0.4236731052488185 -0.132792654462065 1.523132772401814
-2.699115053688098 -0.9025791244243829 -0.2629339551333723 -0.9025791244315825 0.7335658859339701 -0.01402346175185391 -0.2629339548422417 -0.01402346275982195 1.965549168639951
-3.250248763889474 -3.004360380748072e-05 -0.1445999816314219 -3.004264918038123e-05 1.098457513143081 4.241931126866611e-06 -0.1445999815364322 4.240352685751881e-06 2.151791252902291
-2.699170263212139 0.9025517424270989 -0.2629165340650045 0.9025517422348021 0.7336027221351352 0.01402362271343681 -0.2629165343598704 0.01402362336417815 1.965567543431102
-1.655973135061456 1.112020876527611 -0.4236610230344794 1.112020877026922 0.1328157794388593 0.1327860241839565 -0.4236610241425596 0.1327860238305545 1.523157355658433
-0.8614366205885532 0.8748948168040914 -0.4472451317855763 0.8748948166276074 -0.1904992230344049 0.2436168190995084 -0.4472451309717874 0.2436168197212246 1.051935842308492
-0.4239855536920576 0.5827608566396509 -0.3768521126493767 0.582760856706554 -0.262419140369807 0.2789692941764891 -0.3768521124197224 0.2789692946709083 0.6864046946076952
-0.2089779219881489 0.3681657831192842 -0.2869119687844264 0.368165783288615 -0.2323498167941014 0.2608786551798919 -0.2869119682266962 0.260878655439171 0.4413277388990535
-0.1052618684308259 0.2315232090332176 -0.2098152655549339 0.2315232089688153 -0.1807462689417519 0.2222941500107553 -0.2098152656050647 0.2222941497102565 0.2860081364596437
-0.05426074024522137 0.1477397197997924 -0.1516753430998196 0.1477397198771118 -0.134448031052488 0.1815164516598329 -0.1516753438531497 0.1815164511311245 0.1887087708466172
-0.02840849061915208 0.09628705647030165 -0.1098345176654833 0.09628705646064178 -0.09878917693352895 0.1455637835297989 -0.1098345177650465 0.1455637833545821 0.1271976679289162
-0.01491017633603797 0.06416325480119084 -0.08014922871084509 0.06416325495071072 -0.07270142395336726 0.1160669642472678 -0.08014922945811646 0.1160669644464048 0.08761159905088937
-0.00769252962204703 0.04367350706500701 -0.05908673638858127 0.04367350728243344 -0.0539081709941328 0.09260767424645379 -0.05908673684719559 0.09260767383543952 0.06160070064501275
-0.002738027654479511 -0.04808524562144126 -0.06088297337773178 -0.0480852453352312 -0.07177240715951541 -0.1111284343897912 -0.06088297211884312 -0.1111284346489336 0.07451043630562491
-0.007757050147596541 -0.07268909721498572 -0.08405297532072113 -0.07268909734400261 -0.1009634869312069 -0.1424136790672109 -0.08405297534748529 -0.1424136793570729 0.1087205355730069
-0.01807745160444849 -0.1130345764855192 -0.1175232881205005 -0.1130345765526979 -0.1447882373291851 -0.1832681548546245 -0.1175232884529979 -0.1832681543663997 0.1628656892125618
-0.03965708751530202 -0.1815930177917409 -0.1659970028157269 -0.1815930179516753 -0.2115653893585159 -0.235269653700673 -0.1659970030187476 -0.2352696533343842 0.251222476950084
-0.08640098703930391 -0.3026437597533924 -0.2351161019991815 -0.3026437599220714 -0.3135512628052162 -0.2968270761052453 -0.235116102175645 -0.2968270760260951 0.3999522493364081
-0.192870087768446 -0.5241775375233998 -0.3273594985412064 -0.5241775374371728 -0.464145384192533 -0.3550734955765077 -0.32735949852037 -0.3550734961407778 0.6570154708503403
-0.449620907272798 -0.9368725455060043 -0.4232799134824382 -0.936872545224168 -0.6556025524032439 -0.3644440392202526 -0.4232799137266807 -0.3644440390101851 1.105223458557252
-1.094311540542679 -1.67051120021746 -0.4142418096525476 -1.670511200823613 -0.7603733002834425 -0.2080662313430134 -0.4142418098371069 -0.2080662314655743 1.854684840811381
-2.647509298795346 -2.662268820315469 0.05108470831287432 -2.662268820487449 -0.262791676462317 0.2627914579898006 0.05108470995116007 0.2627914576704391 2.910301001303673
-5.45654890161646 -2.727805194548921 1.408868258702904 -2.727805193676684 1.613934151932434 0.6919671691290686 1.408868259284402 0.6919671686135308 3.842614749646896
-7.327174381158771 -0.0001087397286738904 2.475743705431237 -0.0001087403357263402 3.198201647774785 4.845569802817824e-05 2.475743705319427 4.84565236101054e-05 4.128972733744944
-5.456723418966114 2.727753452572553 1.408995811832507 2.727753452524497 1.614086497796108 -0.6919594699018801 1.408995811997873 -0.691959469744187 3.842636920257156
-2.647610674836234 2.662337048445394 0.05115320583818652 2.662337045691308 -0.2627410212511388 -0.2628320764164259 0.05115320799420166 -0.2628320715337528 2.910351672927038
-1.094341233233649 1.670562285597431 -0.414225497812384 1.670562285678263 -0.7603841384797115 0.2080467608782682 -0.4142254974267334 0.2080467594347762 1.854725372721389
-0.4496270449757276 0.9368960394713098 -0.4232786008822356 0.936896040090158 -0.6556189078466429 0.3644401643688072 -0.42327860122902 0.3644401639100287 1.105245951182277
-0.1928707260227498 0.5241873393964044 -0.3273606572234987 0.5241873389482609 -0.4641559724599649 0.3550744575485962 -0.3273606564029527 0.3550744579930023 0.6570266965976228
-0.0864006447620484 0.3026479071144488 -0.2351171682578274 0.3026479071023397 -0.3135571744940854 0.2968287962900115 -0.2351171682114628 0.2968287962821825 0.3999578182448267
-0.03965670803213717 0.1815948617979999 -0.1659977004789853 0.1815948619225885 -0.2115686175519154 0.2352711042502252 -0.1659977007943632 0.2352711039624499 0.251225325182939
-0.01807717819659892 0.1130354455159236 -0.1175237137942101 0.1130354455365684 -0.1447900313657163 0.1832692099674822 -0.1175237143948706 0.18326920929214 0.1628672086538823
-0.007756869966287444 0.07268953086103559 -0.08405323246331166 0.07268953103811032 -0.1009645143894572 0.1424144150179125 -0.08405323284666208 0.1424144154839059 0.1087213836347003
-0.002737912117876334 0.0480854730089936 -0.060883131647865 0.04808547299970565 -0.07177301602413924 0.1111289446539933 -0.06088313060968001 0.1111289446078592 0.07451092854596451
0.003755350183145074 -0.05020010802114413 -0.06026057386518006 -0.05020010797337748 -0.09206845092726884 -0.1307683948000115 -0.06026057443522882 -0.1307683944706871 0.08831310020840416
0.002322632909134526 -0.07758137678633695 -0.08443155079995843 -0.07758137654715155 -0.1341620855200101 -0.1709305900046164 -0.0844315497646851 -0.1709305909675899 0.1318394526302022
-0.001915643348759199 -0.1239296406557043 -0.1200175374587386 -0.1239296407138542 -0.201174136355986 -0.2250203573146307 -0.1200175381566394 -0.2250203567007768 0.2030897804822649
-0.012729288272376 -0.2060027369228469 -0.1726019170552306 -0.2060027372738382 -0.3116199472267001 -0.2962200587830357 -0.172601917266322 -0.2962200590071284 0.3243492356914838
-0.03960459178709522 -0.3593442918992198 -0.2488741593745896 -0.3593442918466697 -0.5000686346084537 -0.3827573785196537 -0.2488741590759528 -0.3827573784515876 0.5396732272079141
-0.1086017063455179 -0.6640295862418851 -0.3498645472409887 -0.6640295864788542 -0.8297443577427245 -0.4601129875848547 -0.349864547784617 -0.4601129872709896 0.938346064279862
-0.2990301192366726 -1.308475809608353 -0.4337654761871882 -1.308475809383862 -1.397175311259332 -0.4171323806247625 -0.4337654758057932 -0.4171323818334856 1.696205429464882
-0.8756848333210656 -2.718975493007295 -0.2369693466429689 -2.718975493071532 -2.205943837838674 0.146061259728797 -0.2369693472509147 0.1460612609922685 3.081628671582618
-2.716356111183831 -5.483594093024109 1.442801871917989 -5.483594093310177 -2.226255718306718 2.226269232785448 1.442801871528584 2.226269232936447 4.942611831449289
-7.567189082977493 -7.555814458046968 7.627260142152265 -7.555814458610917 3.005396807378549 5.17943612636072 7.627260141646915 5.179436126723577 4.561792274059938
-11.96872879753831 -0.0003476097996249832 13.95835291944906 -0.0003476094961538301 10.32724211734843 0.0003654262680573706 13.95835291967913 0.0003654261829956772 1.641486681302656
-7.567446397728477 7.555822040506738 7.62788157025745 7.555822040284577 3.00598308500564 -5.179503282455618 7.62788157147996 -5.179503282152423 4.561463312788469
-2.716406643982032 5.483801606099823 1.443010764877589 5.483801605868429 -2.226229394176834 -2.226492659008129 1.443010764945308 -2.22649265869339 4.942636037646608
-0.8756768994406913 2.719062405251162 -0.2369335872559739 2.71906240510324 -2.206017766702758 -0.1461302068013762 -0.2369335882798901 -0.1461302068264123 3.0816946649888
-0.2990217273331557 1.308504382756837 -0.4337615779648901 1.308504382885149 -1.397218862702925 0.4171199204937259 -0.4337615773616236 0.4171199211016576 1.696240589272604
-0.1085972688321321 0.6640392397036451 -0.3498650344062984 0.6640392401010974 -0.8297647680917624 0.4601131227558295 -0.3498650344060666 0.4601131224303117 0.9383620367274328
-0.03960241955013921 0.3593478528463965 -0.2488748690936309 0.3593478527830297 -0.5000781365124148 0.3827593757989675 -0.2488748687585244 0.3827593757660645 0.5396805544680574
-0.01272820261636174 0.2060041804626424 -0.1726023910060756 0.2060041805051962 -0.3116245696290891 0.2962217981365934 -0.172602391475825 0.2962217976810378 0.3243527717971482
-0.001915076359487696 0.1239302780125793 -0.1200178208672609 0.1239302779926504 -0.2011765115501726 0.2250215977387911 -0.1200178216386313 0.2250215981748322 0.2030915893223247
0.002322943516390125 0.07758167971301468 -0.0844317179326541 0.07758167981181396 -0.1341633730506014 0.1709314371413577 -0.08443171849724991 0.1709314363508402 0.1318404300217625
0.003755528744356315 0.05020026190683399 -0.06026067642941566 0.05020026171745006 -0.09206918346289604 0.1307689684828727 -0.06026067609251944 0.1307689688020333 0.08831365339316589
0.01121153179174652 -0.04919068808740509 -0.05674454467830073 -0.04919068771448158 -0.1134630681695186 -0.1504800847596894 -0.0567445428020457 -0.1504800845398728 0.1022515347522091
0.01431907940528116 -0.0771347099740616 -0.08041944943820757 -0.07713471275424404 -0.1699171852653265 -0.1999899405054352 -0.0804194589079343 -0.1999899401732288 0.1555981044005448
0.01822898462885961 -0.1252132300608563 -0.1157214535295649 -0.1252132294079009 -0.2635010071510312 -0.2682611449914949 -0.1157214513544318 -0.2682611446697472 0.2452720219693933
0.0230503066454158 -0.2119652722848795 -0.1685472106976189 -0.2119652730501621 -0.4259537179949158 -0.360352374689864 -0.1685472136984893 -0.3603523751235425 0.4029034085411669
0.02883011580701211 -0.3778696986294968 -0.2459534821125432 -0.377869696470562 -0.7231142584913789 -0.4740028226339467 -0.2459534780970386 -0.4740028230492052 0.6942841411026458
0.03551427651952201 -0.7182064672937396 -0.3480497946362322 -0.7182065121495891 -1.297150487807137 -0.5675011868182982 -0.3480498946299007 -0.5675011941309911 1.261636163078032
0.04297727713842307 -1.474010824431623 -0.4203976453263221 -1.474010819979552 -2.450762197340842 -0.4221421373279131 -0.4203976357078851 -0.4221421376283621 2.407784918584861
0.05139790126707173 -3.270169176131339 -0.09811019850093691 -3.27016917469946 -4.663106831597766 0.929127516697374 -0.09811019725135844 0.929127516147855 4.611708929278947
0.06301573045131162 -7.369699203073413 2.554364981389705 -7.369699225691926 -6.961063813096623 6.961109532318709 2.554364958461182 6.961109540910431 6.898048081180947
0.08562390640977761 -11.96716419346042 14.08034223917202 -11.96716419801448 3.536137786181025 19.57817852035667 14.08034223763867 19.57817852035711 -3.621761690031208
0.1078290244456798 -0.0003038555340017373 28.05275868026904 -0.0003038555268239022 27.77457020306806 0.001363661943011214 28.05275868018711 0.001363660919235628 -27.88239922775216
0.08629065879369895 11.96726595950906 14.08097813180032 11.96726596862855 3.537461827123679 -19.5787669552994 14.08097812749117 -19.57876695417607 -3.623752485014669
0.06330465273160844 7.369839091172524 2.554505847347254 7.369839133158648 -6.961204377398608 -6.961710559948994 2.554505809740291 -6.961710555920745 6.89789970440051
0.0514827907232553 3.27021001744016 -0.09809185288943358 3.270210026394004 -4.663270439246346 -0.9292618584844542 -0.09809186886018416 -0.9292618553060059 4.611787659795772
0.04300324917411095 1.474021817461843 -0.4203957585339663 1.474021818775776 -2.450831974684878 0.4221207744869889 -0.4203957605441942 0.4221207735622985 2.407828726826087
0.03552331338579998 0.7182098085694473 -0.3480499595150782 0.7182098101912028 -1.297178510582288 0.5675004234615943 -0.3480499624116123 0.5675004232036857 1.261655198115476
0.02883366873343933 0.377870831139098 -0.2459536788327984 0.3778708308422992 -0.7231261872764221 0.4740049253843195 -0.2459536764040076 0.4740049253621081 0.6942925193574826
0.02305188629594639 0.2119657171972774 -0.1685473721235553 0.211965701872946 -0.4259592019170778 0.3603542633168459 -0.1685473132506607 0.3603542633805785 0.4029073412037954
0.0182297321287078 0.1252134173872959 -0.1157215321317187 0.1252134173166725 -0.2635037195820458 0.2682624846009656 -0.1157215303087878 0.2682624848432686 0.2452739861736163
0.01431946321209135 0.07713479666996813 -0.08041949459376535 0.07713479627934239 -0.1699186161532233 0.199990841676584 -0.08041949284149708 0.1999908425468128 0.1555991545787029
0.01121174433289618 0.04919073082290504 -0.05674457081177792 0.04919073070922634 -0.1134638666976265 0.1504806910562954 -0.05674456932204179 0.1504806911250589 0.1022521233652134
0.0187805130769172 -0.04465668178019326 -0.05013875180707307 -0.04465668144297653 -0.1341803760323167 -0.1690020619449532 -0.05013875102791375 -0.1690020618592722 0.1153998626852014
0.02660945116963455 -0.07052563123674116 -0.07163121644024671 -0.07052563139312247 -0.2048565121103106 -0.2275633579991041 -0.07163121754599235 -0.2275633573322083 0.1782470600978785
0.03899118657110179 -0.1150878833361227 -0.1038959384763393 -0.115087883262688 -0.3248934023182443 -0.3096797161504786 -0.1038959380358379 -0.3096797162009176 0.2859022151935584
0.05998967372434501 -0.1951765031162549 -0.1524518591022129 -0.1951765030379952 -0.5392951414639371 -0.422308786258998 -0.1524518585086989 -0.4223087863492144 0.4793054682490699
0.09926834119596874 -0.3465075643697131 -0.2239907984748284 -0.3465075642373693 -0.9452184729239356 -0.5627474279636104 -0.2239907981157106 -0.5627474275530742 0.8459501316270877
0.1828152672436533 -0.6494106694484232 -0.3196727248048953 -0.6494106692963703 -1.763777356731099 -0.6721783830225651 -0.3196727243094323 -0.6721783833983367 1.580962089841112
0.3894945571615575 -1.292431138130245 -0.3980765437091699 -1.2924311375195 -3.50359930159953 -0.4245580407397588 -0.3980765433775694 -0.424558040594902 3.11410474444285
0.9832660022130062 -2.701017793645553 -0.1968123117590272 -2.701017797259509 -7.118220440782276 1.713344244091381 -0.1968123164391279 1.713344245148535 6.134954444243144
2.840316787743981 -5.45943291673227 1.480950044366093 -5.459432918346694 -11.68811314796567 11.68815002925311 1.480950042986253 11.68815002695949 8.847796359893989
7.700062208788352 -7.522122456180997 7.637151756928937 -7.522122456538738 4.070199738956184 33.93709289451102 7.637151756632445 33.93709289668653 -11.77026194918949
12.09837196614032 0.0004360502498081199 13.92916075498319 0.0004360486445043785 45.17906518563387 0.00105993707162111 13.92916075478433 0.001059937212376603 -57.27743715140081
7.700373448288406 7.522000962276224 7.636258655706901 7.522000963301276 4.071341237074223 -33.9375041677355 7.636258656041698 -33.93750416712685 -11.77171468452593
2.84050454824719 5.45921870448659 1.480734131800699 5.459218704460825 -11.68820419832763 -11.68865197441278 1.48073413103386 -11.68865197665923 8.847699648933075
0.9833319411155496 2.70095079116485 -0.1968420228176626 2.700950791608205 -7.118363263540361 -1.713463571938503 -0.1968420229758804 -1.713463571149854 6.135031321754163
0.3895166828774768 1.292412415659036 -0.3980796472878509 1.292412416362962 -3.503663603755991 0.4245385748511866 -0.3980796472396445 0.4245385752708572 3.114146921307741
0.1828233514826237 0.6494049231811844 -0.319672579950755 0.649404923128982 -1.76380388433468 0.6721778140832567 -0.3196725805984406 0.6721778143425463 1.580980530142124
0.09927162413215947 0.3465055673003756 -0.223990443833117 0.3465055673985256 -0.945229942364368 0.5627495147698702 -0.2239904438433108 0.5627495141825095 0.8459583193162784
0.05999114199899262 0.1951757249414365 -0.1524516184819029 0.1951757246418668 -0.5393004663683383 0.4223106498164197 -0.1524516182905954 0.4223106501920356 0.4793093239541965
0.03899190126397641 0.115087548999824 -0.1038957946903469 0.1150875488063708 -0.3248960537168677 0.3096810384589887 -0.1038957946992551 0.3096810382279672 0.2859041520752659
0.02660982410383724 0.0705254757151107 -0.07163113398368114 0.07052547580166084 -0.2048579172991827 0.2275642502450539 -0.07163113342639475 0.2275642503126767 0.1782480925031651
0.01878071948988892 0.04465660325458792 -0.05013869958663407 0.04465660349547544 -0.1341811626235352 0.1690026631510453 -0.05013870024007648 0.1690026629376708 0.1154004437186654
0.02556225307345031 -0.03674428324235856 -0.04058565528581141 -0.03674428356568523 -0.1523597561200398 -0.1850280662921459 -0.04058565671981607 -0.1850280663117842 0.1267975024059129
0.03750122960336927 -0.05810091668919542 -0.05827582066368474 -0.05810091656383469 -0.2354664363302136 -0.2515398794293918 -0.058275819630615 -0.2515398799373823 0.1979652077373367
0.05692513579059553 -0.09451264049231684 -0.08488527668006569 -0.09451264078712489 -0.3782552037143868 -0.3458239713742926 -0.08488527719287252 -0.3458239717163018 0.3213300667233939
0.09034421869933848 -0.1585576841703467 -0.1249403631848949 -0.1585576848208644 -0.6360596688644725 -0.4765058908514517 -0.1249403652239505 -0.4765058904142844 0.5457154501584663
0.1521587683581222 -0.2748608397376277 -0.1840337826342219 -0.2748608386588422 -1.128537985863431 -0.6408393319331456 -0.1840337794731159 -0.640839333443334 0.9763792154403406
0.2771205974515547 -0.4920779019883786 -0.2648518082768532 -0.4920779017437557 -2.126778976418082 -0.7686091068335015 -0.2648518083733878 -0.768609106735772 1.849658376475977
0.5552087840808644 -0.9017795931979108 -0.3486133780591265 -0.9017795933744238 -4.243457256657457 -0.4686904960762502 -0.3486133779906964 -0.4686904955252295 3.688248473820718
1.221900023427437 -1.634369157902911 -0.3282465897050509 -1.634369157967819 -8.561891394973006 2.073608800957337 -0.3282465901814984 2.073608801776515 7.339991372208558
2.792418790446111 -2.627117036039655 0.1439210553867606 -2.627117035936895 -13.6471920344433 13.64719887190523 0.1439210562671598 13.64719887207488 10.85477324521998
5.605744799291865 -2.700395299423974 1.498358367130053 -2.700395299845583 5.452470660902111 38.39759649030653 1.498358367816055 38.39759648908082 -11.05821546071005
7.472359345202075 0.0002604717089545175 2.558528091918346 0.0002604717956020536 52.26276821989337 0.0002112082687461098 2.558528092960648 0.0002112059573440494 -59.73512756312221
5.60546187180524 2.700425543573397 1.497935107344718 2.700425544483289 5.452878761178591 -38.39761313300789 1.497935107123303 -38.39761313248713 -11.05834063387974
2.792323732272893 2.626953021522999 0.1437561678170536 2.626953019976434 -13.64714417909491 -13.64734149221639 0.1437561699707552 -13.64734149148468 10.85482044756847
1.221889932616084 1.634288988194683 -0.3282779307125522 1.634288987298096 -8.561940499567907 -2.073658925535884 -0.3282779289764266 -2.073658924713943 7.340050566177554
0.555211696407977 0.9017507784548786 -0.3486167793246762 0.9017507783310705 -4.243491700293946 0.4686810259328772 -0.3486167798018194 0.4686810257767695 3.688280003009751
0.2771233663600922 0.4920676217578327 -0.2648511309343111 0.492067622066978 -2.126796398174931 0.7686095453795578 -0.2648511306056018 0.7686095451429386 1.849673032391876
0.1521603854091075 0.2748569131733015 -0.1840329462044838 0.2748569130468506 -1.128546461915072 0.6408412669956668 -0.1840329464143411 0.6408412671725505 0.9763860768180503
0.09034510338699916 0.1585560568294165 -0.1249398106114283 0.1585560569724193 -0.6360639098972931 0.4765075571292225 -0.1249398111914525 0.4765075565536537 0.545718806519329
0.05692562236670109 0.0945119106608634 -0.08488494440954053 0.09451191060903007 -0.3782574241279935 0.3458251655799929 -0.08488494408399236 0.3458251658832392 0.3213318024271298
0.03750150475218848 0.05810056481727095 -0.05827562178911867 0.0581005648361872 -0.2354676564468849 0.2515406994390671 -0.05827562177620975 0.2515406989372938 0.1979661495394412
0.0255624150523783 0.03674410366991332 -0.04058553589878815 0.03674410367985652 -0.152360456776456 0.1850286247816776 -0.04058553610513404 0.1850286248759209 0.1267980410163923
0.03082821411161012 -0.02606757002690176 -0.02854866129011162 -0.02606756979226994 -0.1664176175424067 -0.1973855233159609 -0.02854865925637934 -0.1973855239714696 0.1355894010386151
0.04576262474506589 -0.04113056431175382 -0.04110459817509304 -0.04113056470610558 -0.2589373824599162 -0.270055234959249 -0.04110459911952948 -0.270055234917969 0.2131747598040338
0.06990438526821781 -0.06641595256098164 -0.05997459509111039 -0.06641595229328599 -0.4184456685066374 -0.3737208738643104 -0.05997459372758009 -0.3737208741160281 0.348541284678621
0.1104015722079555 -0.1096159238413567 -0.08829667687843946 -0.1096159241552287 -0.7065528722823959 -0.5182532174739879 -0.08829667729798497 -0.5182532168322355 0.5961513007312959
0.1812950375170425 -0.1841462213416651 -0.1299869153077643 -0.1841462211297046 -1.254532042306766 -0.7011714212866865 -0.1299869145631666 -0.701171421153219 1.073237005495321
0.3112355139239121 -0.3117093530356592 -0.1878729126881625 -0.3117093530060332 -2.352811334232302 -0.8468498368585672 -0.18787291245694 -0.8468498367838709 2.041575820377076
0.5589007932690944 -0.5196621243124554 -0.2567328863025243 -0.519662124762073 -4.633718774438886 -0.5376358114246886 -0.2567328868509483 -0.5376358116330628 4.074817980611726
1.033100309257831 -0.8109378264095014 -0.306144379534002 -0.8109378264371322 -9.133585653838162 2.123890848199356 -0.3061443794153668 2.123890847472275 8.100485344563907
1.862218049869071 -1.056842407316264 -0.2648647057649166 -1.056842407084781 -14.05168566170062 14.05168451347677 -0.2648647057178122 14.05168451327612 12.1894676106847
2.929006284723287 -0.8690896780101398 -0.09314375549165708 -0.8690896777486388 6.311022596363622 39.10423503865137 -0.09314375600302499 39.10423503967229 -9.240028883535588
3.487837471675064 7.4409533584073e-05 0.02850371339032227 7.440852636112326e-05 54.32965978070771 2.532108565001426e-05 0.02850371370927734 2.532084994420923e-05 -57.8174972516769
2.928878339611276 0.8691354297886578 -0.09321711821631952 0.8691354292163803 6.311122814236311 -39.1042295529212 -0.09321711729568131 -39.10422955304085 -9.240001154232914
1.862131818083504 1.056798809593002 -0.2649083567071325 1.056798809695842 -14.05164264617868 -14.05170800172393 -0.2649083586637372 -14.05170800183957 12.18951082577824
1.033070061596125 0.8108983172057708 -0.3061553820705479 0.8108983174478693 -9.133588827803356 -2.123903328004633 -0.3061553805772063 -2.123903329427136 8.100518764128074
0.558892865049478 0.5196419065554883 -0.2567333346016362 0.5196419061516714 -4.633729942738215 0.5376334284134283 -0.256733333342644 0.5376334286106468 4.074837078495505
0.3112339068353124 0.3117003043625044 -0.1878715926426956 0.3117003044430386 -2.35281958508863 0.8468509074918723 -0.1878715932918402 0.8468509067723557 2.041585679382201
0.181294945367614 0.184142205247791 -0.129985790008796 0.1841422051515563 -1.254536976773745 0.7011730315112013 -0.129985789429324 0.7011730312348461 1.073242031316253
0.1104017606706206 0.1096140783459299 -0.08829594120063283 0.1096140784981927 -0.7065556861830974 0.5182545684845568 -0.08829594189053851 0.5182545689164272 0.5961539261623845
0.06990457181683099 0.06641506210601858 -0.05997414356299074 0.06641506242950325 -0.4184472788731462 0.3737218652555281 -0.05997414379096634 0.3737218650378568 0.3485427071340148
0.04576276346918581 0.04113011243932902 -0.04110432305495688 0.04113011266744621 -0.2589383245542877 0.2700559330639401 -0.0411043226851257 0.2700559334741642 0.2131755614307502
0.0308283114624505 0.02606732901590802 -0.02854849055420191 0.02606732891463389 -0.1664181844314591 0.1973860106742724 -0.02854849038300309 0.1973860111164366 0.135589872951689
0.03412508933003626 -0.01350341299756513 -0.01473524132910112 -0.01350341325295303 -0.1752524863327984 -0.2051721964410245 -0.01473524317491079 -0.2051721963278566 0.1411273978547744
0.05080375067052935 -0.0212482925970997 -0.02124203783128295 -0.02124829240059935 -0.2735400978737984 -0.2817180391362432 -0.02124203698774227 -0.2817180390319797 0.2227363472392574
0.07742466848153184 -0.03407617630901059 -0.03100487431198028 -0.03407617608259375 -0.4429688598455141 -0.39125267822889 -0.03100487381308027 -0.3912526781344179 0.3655441906251508
0.1208240086283386 -0.05546429393561831 -0.04560905276458189 -0.0554642934153314 -0.7480874293545503 -0.5443876516364381 -0.04560905143495003 -0.5443876520916776 0.6272634212280893
0.1928147298629092 -0.0908251625529371 -0.0670318289547116 -0.09082516263332673 -1.324406884507875 -0.7389131857002691 -0.06703182882081435 -0.7389131858736916 1.131592153243056
0.3132167523053407 -0.1471209447433277 -0.09693242840822906 -0.1471209468130385 -2.465952711774928 -0.8971757602646546 -0.09693243017377282 -0.897175759304656 2.152735955930276
0.5122522853004616 -0.2284234497876326 -0.1344744261635055 -0.2284234494920317 -4.79806639249704 -0.5929634884830015 -0.13447442578619 -0.5929634890755964 4.285814103594087
0.8242925217691703 -0.3208710943375208 -0.1724105703848104 -0.3208710957326653 -9.309966852388762 2.090308030982236 -0.1724105729281107 2.09030803087996 8.485674331619315
1.251252581711458 -0.3659891305692253 -0.1960010979677836 -0.3659891310676093 -14.07914411520977 14.07914290165439 -0.1960010980786157 14.07914290233657 12.8278915338679
1.682153311852219 -0.265498874028053 -0.1966412729437907 -0.2654988731779162 6.663665416829867 39.17341431627504 -0.1966412729277027 39.1734143170718 -8.345818729854784
1.8749737511711 2.103297395572198e-05 -0.1911422715283367 2.103213784954577e-05 54.93753836746468 1.5369001434547e-06 -0.1911422711698617 1.536252974100856e-06 -56.81251211981949
1.682114523512666 0.2655201928117745 -0.1966504250426513 0.2655201933548478 6.663690212479334 -39.17341525139629 -0.1966504250364561 -39.17341525016647 -8.345804734037676
1.251214986048061 0.3659827144546349 -0.1960074597408656 0.3659827141752959 -14.07912536578488 -14.07914713825923 -0.1960074575253659 -14.07914713858029 12.8279103795097
0.8242722208450216 0.3208575378755124 -0.1724114793622685 0.3208575365780517 -9.309962051945581 -2.090310467571598 -0.1724114789294265 -2.090310466822868 8.485689829226695
0.5122439138730148 0.2284134117176764 -0.1344730504936907 0.2284134113930855 -4.798068099984203 0.5929634417845555 -0.1344730499349018 0.5929634415658719 4.285824184950757
0.3132137264563097 0.1471151852426058 -0.09693086225909976 0.1471151848958509 -2.465955583271144 0.8971767811855661 -0.09693086117989815 0.8971767816600454 2.152741857869692
0.1928137259627264 0.09082211802767255 -0.0670306569697776 0.09082211845300149 -1.324409210680984 0.7389143655222757 -0.06703065821591778 0.7389143656112018 1.131595485453511
0.1208237128532906 0.05546270718073344 -0.04560827770531317 0.0554627070955757 -0.7480890176057096 0.544388652723797 -0.04560827793317154 0.5443886524130603 0.6272653050251418
0.07742460884242387 0.03407533702301726 -0.03100438371144036 0.03407533683121013 -0.4429698854796413 0.3912534408177702 -0.03100438314347184 0.3912534409415405 0.3655452753995629
0.05080376212359125 0.0212478364257883 -0.0212417289367205 0.02124783631966692 -0.273540751859375 0.2817185965310688 -0.0212417281286944 0.2817185966122954 0.2227369902115892
0.03412511876551152 0.01350315735755765 -0.01473504510338517 0.01350315700600397 -0.1752529059257545 0.2051725993177452 -0.01473504370778815 0.2051725992434147 0.1411277879835245
0.0352426334512685 -8.31179430929199e-07 -9.955253003821075e-07 -8.314391344488968e-07 -0.1782598706358944 -0.2078304435357351 -9.953397812842901e-07 -0.2078304438151705 0.1430172370120858
0.05248421093993945 -1.34437361051571e-06 -1.471402123877488e-06 -1.344397219781601e-06 -0.2784780552923474 -0.2856970053141857 -1.471195739331563e-06 -0.2856970053707651 0.225993844843403
0.07984600721459056 -2.222866000777354e-06 -2.213490912195645e-06 -2.223024965203918e-06 -0.4511588148127088 -0.3972229515804674 -2.213986347060924e-06 -0.3972229513872454 0.3713128070518755
0.1239215842297581 -3.739438704495251e-06 -3.369555352351312e-06 -3.739389633394962e-06 -0.7616534741982857 -0.5532615197561063 -3.369885078906064e-06 -0.5532615198628553 0.6377318883855809
0.1954254697339489 -6.336655401370852e-06 -5.152470662144191e-06 -6.337213240726541e-06 -1.346364852354533 -0.7517052853539322 -5.152985012515149e-06 -0.7517052859016491 1.150939381851318
0.3105273485670121 -1.059269820939493e-05 -7.794524018293266e-06 -1.059244266735894e-05 -2.499233428548073 -0.914399110943041 -7.794995423156573e-06 -0.9143991116642695 2.188706079995419
0.4895424630293467 -1.679650865389489e-05 -1.138361203213438e-05 -1.679706442918478e-05 -4.841189466495216 -0.6131921171436402 -1.138523540703128e-05 -0.6131921174955253 4.351647003960202
0.7464661021986063 -2.351088181719741e-05 -1.553005197614065e-05 -2.351144104272091e-05 -9.34672977461565 2.072121575799682 -1.553086430842903e-05 2.072121577650354 8.600263675533082
1.06115265046696 -2.531957920655444e-05 -1.91677505237223e-05 -2.531956663317666e-05 -14.06983733542659 14.06983670140825 -1.916807141207676e-05 14.06983670231398 13.00868468659885
1.345577549581154 -1.461880895983407e-05 -2.136307609580355e-05 -1.461925172663631e-05 6.7553823081145 39.1729755486908 -2.136335280900564e-05 39.17297554909302 -8.100959859147789
1.464107684092034 6.779673956792192e-06 -2.225995674389059e-05 6.784591770072685e-06 55.07598404963904 -8.313789818333815e-07 -2.226086374078171e-05 -8.358189503726341e-07 -56.54009173421568
1.345565541241276 2.336145687531666e-05 -2.16571006421786e-05 2.33614236544856e-05 6.755389312631413 -39.17297732085815 -2.165621347754069e-05 -39.17297732127377 -8.100954854220017
1.061138164430214 2.57495131257306e-05 -1.870089242994319e-05 2.57498912928495e-05 -14.06983011210134 -14.0698382077283 -1.870072618541434e-05 -14.06983820667595 13.00869194281194
0.7464557913983214 1.962625746078029e-05 -1.415265749813453e-05 1.962650535384772e-05 -9.346726179429742 -2.072122183255385 -1.415316355622687e-05 -2.072122182528902 8.600270386204222
0.4895368295506976 1.259848033522898e-05 -9.745758565968553e-06 1.259887152963834e-05 -4.841188818248412 0.613192370869622 -9.746453112724173e-06 0.6131923705268022 4.351651988391732
0.3105246723907623 7.523110862533314e-06 -6.390826149837028e-06 7.522419730557643e-06 -2.499234051113433 0.9143997992621657 -6.387849915721451e-06 0.9143997997860168 2.188709375179733
0.1954242910922389 4.399895781767618e-06 -4.121212483084556e-06 4.39977938177357e-06 -1.346365739784353 0.7517060567303879 -4.120455920304112e-06 0.751706055860292 1.150941446475504
0.1239210902608407 2.585226970000643e-06 -2.665278389224512e-06 2.58593563330994e-06 -0.7616542466178136 0.553262202928328 -2.665540964562705e-06 0.553262203647797 0.6377331598862472
0.07984580797861268 1.547508284206225e-06 -1.746811953356965e-06 1.547666042307696e-06 -0.4511593968447135 0.3972235014464803 -1.746906304385029e-06 0.3972235015743016 0.3713135889560067
0.05248413635984808 9.477640509937868e-07 -1.165394303378738e-06 9.48139359647089e-07 -0.2784784683792512 0.2856974272927668 -1.165563111452523e-06 0.2856974271695586 0.2259943313222942
0.03524261024120227 5.950972807826351e-07 -7.93853148575935e-07 5.95076320246389e-07 -0.1782601571604835 0.2078307604376848 -7.927286151260183e-07 0.207830760777989 0.1430175457850885
0.03412538553594541 0.01350181860128158 0.01473332295519948 0.01350181858937821 -0.175253255760307 -0.2051729478369725 0.01473332242986506 -0.205172947890581 0.1411278703730313
0.05080421558014166 0.02124570721548327 0.02123920249599129 0.02124570727599383 -0.2735414082154095 -0.2817192009774028 0.02123920284850797 -0.2817192011422397 0.2227371917509653
0.07742538725613914 0.03407187090862442 0.03100061536564379 0.03407187077836431 -0.4429711313724116 -0.3912544931500699 0.03100061590352076 -0.3912544929238437 0.3655457452928379
0.1208250284081537 0.05545693314005141 0.04560255990811383 0.05545693315620909 -0.7480914023985292 -0.5443904826698597 0.04560255923557583 -0.5443904828747455 0.6272663732753164
0.1928158395963062 0.09081229787593258 0.0670218699612202 0.0908122985463954 -1.324413759104751 -0.7389175050853888 0.0670218702782001 -0.7389175050638102 1.131597919151156
0.3132166236287842 0.1470982281632154 0.09691731344082576 0.1470982284811872 -2.465964022689635 -0.8971819611396002 0.09691731424952471 -0.8971819623206347 2.152747397790593
0.5122459099535198 0.228384036020327 0.1344524958678364 0.2283840359569157 -4.798082555537116 -0.5929712514070364 0.134452496249655 -0.5929712505206642 4.285836645876687
0.8242655138602272 0.3208081793745285 0.1723821060010309 0.3208081802771124 -9.309982197696668 2.090300824376801 0.1723821073152949 2.090300823993252 8.485716684154955
1.25117711238653 0.3659095368063698 0.1959714134145172 0.3659095353044184 -14.07913987672177 14.07913958641842 0.195971411679433 14.07913958435613 12.82796276068325
1.682011475441329 0.2654454078232175 0.19661750640377 0.2654454078640072 6.66370814196502 39.17341394470883 0.1966175061143124 39.17341394465038 -8.34571961652841
1.874811603152008 2.500399351325543e-06 0.1911191582272314 2.501498069451018e-06 54.93759369618185 -7.088209128733104e-07 0.1911191582457662 -7.089320016481538e-07 -56.81240529948946
1.682007319278741 -0.2654417152542436 0.1966180918390731 -0.2654417173190503 6.663710458758042 -39.17341523178244 0.1966180913706651 -39.17341522870071 -8.345717777086358
1.251171388141134 -0.3659084878162388 0.1959724843185389 -0.3659084888494572 -14.07913701631812 -14.07914045760096 0.1959724832385775 -14.07914045755621 12.82796563028018
0.8242606216298765 -0.3208090948717017 0.1723834254778165 -0.3208090975973499 -9.309980241250342 -2.090301155237793 0.1723834291150594 -2.090301154338274 8.485719625600941
0.5122426525475268 -0.2283856368270244 0.134453785647625 -0.2283856366652102 -4.798081734034836 0.592971374379918 0.1344537857985808 0.5929713755451418 4.285839080412696
0.3132147494227472 -0.1470997109734899 0.09691839208928292 -0.1470997106446235 -2.465963939736898 0.8971823408864873 0.09691839163772661 0.8971823415066992 2.152749189261777
0.1928148472235707 -0.09081340809131132 0.0670226866155143 -0.09081340813906631 -1.324414000492584 0.7389179653158986 0.06702268667792706 0.7389179651712343 1.131599152329256
0.1208245274392332 -0.05545768554928113 0.04560314374638004 -0.05545768527377992 -0.7480917237731661 0.5443909218791653 0.04560314396247949 0.5443909218430628 0.6272671950140715
0.07742514118913182 -0.0340723585679711 0.03100102107978555 -0.03407235880369985 -0.4429714274344972 0.3912548694696666 0.03100102163728748 0.3912548691499248 0.3655462848955646
0.05080409883389007 -0.0212460181101982 0.02123948192521534 -0.02124601846655103 -0.2735416471926664 0.281719505110032 0.02123948115457407 0.2817195050614161 0.2227375477002109
0.03412532996597221 -0.01350201634995355 0.01473351266074614 -0.01350201663956059 -0.1752534375121476 0.2051731861167751 0.01473351348392432 0.2051731862160997 0.1411281071667712
0.03082877866460337 0.02606617808666443 0.02854694968642713 0.02606617733542537 -0.16641909320925 -0.197386962778584 0.0285469442849144 -0.1973869625418433 0.1355903134816796
0.04576353606669586 0.04112830151305539 0.04110208906923739 0.04112830117343468 -0.2589399160305021 -0.2700574641805496 0.04110208831219663 -0.2700574640693933 0.2131763780158446
0.06990585247330788 0.06641212618963233 0.05997083913840117 0.06641212593341682 -0.4184501330223291 -0.3737243614330875 0.05997083864426586 -0.3737243620050766 0.348544279367034
0.1104038694162108 0.109609138642302 0.08829095312254205 0.1096091386525702 -0.7065609278559437 -0.5182586822895783 0.08829095299370561 -0.5182586827873519 0.5961570595484046
0.1812982986603678 0.1841334821945329 0.1299780932436277 0.1841334823270675 -1.254546800251009 -0.701179806356243 0.1299780933566252 -0.7011798061859508 1.07324850054816
0.3112386752892395 0.3116838704570104 0.1878595046886186 0.311683871043458 -2.352838208100129 -0.8468617910229074 0.1878595053975517 -0.846861790209437 2.041599532289888
0.5588970869821643 0.5196083360751128 0.2567144089868116 0.5196083365160082 -4.633764772720808 -0.5376494147223752 0.2567144101949442 -0.5376494151105552 4.074867683844189
1.03306116132644 0.8108246025690219 0.3061285867157162 0.8108246034613159 -9.133648168182662 2.123886083859877 0.3061285896105456 2.123886084772539 8.100587006415383
1.862055576731699 1.056641600923379 0.2648889356002325 1.056641600454353 -14.05170976801995 14.05170967888319 0.2648889350794663 14.05170968004582 12.18965419255242
2.92859549778703 0.868902429137315 0.09327229108341804 0.868902428165279 6.311160219361261 39.10427502838893 0.09327228972283398 39.10427502856002 -9.239755716887849
3.487319175975356 9.833771490779971e-07 -0.02833457649682567 9.812271766973236e-07 54.32987663789014 -3.837754982358417e-07 -0.02833457613582003 -3.86439458701894e-07 -57.81719581290891
2.928593818274959 -0.8689007951381709 0.09327288914296922 -0.8689007942156567 6.311161187803444 -39.10427581697743 0.09327288885055003 -39.10427581586487 -9.239755006676363
1.862053108216967 -1.056640803954909 0.2648897843117936 -1.056640802016764 -14.05170853151578 -14.0517102913599 0.2648897828416079 -14.05171029099674 12.18965542415732
1.033058816647178 -0.810824672456479 0.3061295043089804 -0.8108246728126394 -9.133647185466009 -2.123886363318596 0.3061295051118068 -2.123886361598796 8.100588369559825
0.5588953003444485 -0.5196088966117882 0.2567152929343352 -0.5196088958737303 -4.633764205617026 0.5376494217736655 0.2567152920514465 0.5376494219728721 4.074868904549216
0.3112374867571304 -0.311684546602091 0.1878602659242046 -0.3116845462653877 -2.352837993424172 0.8468619704906183 0.1878602652569878 0.8468619703901207 2.041600507776162
0.1812975755182688 -0.1841340786640703 0.1299786969046783 -0.1841340785254938 -1.254546803711011 0.7011800622160195 0.1299786970327925 0.7011800633884114 1.073249227666161
0.1104034517366146 -0.1096095970144828 0.08829140670353469 -0.1096095967824816 -0.7065610316459634 0.5182589506721442 0.08829140680611525 0.5182589505982087 0.596157580110497
0.06990562021903315 -0.06641245465038594 0.05997117074355241 -0.06641245458109019 -0.4184502655016576 0.3737246074818282 0.05997117128444591 0.3737246077911037 0.3485446444473496
0.04576341033215175 -0.04112852835772404 0.0411023256790445 -0.04112852847092142 -0.2589400423754667 0.2700576749332817 0.04110232593219442 0.2700576749601443 0.2131766312649225
0.03082870958321115 -0.02606633123929719 0.02854711488380884 -0.02606633150153383 -0.166419201003275 0.1973871368320227 0.02854711609472056 0.1973871368449912 0.1355904871815558
0.02556303641817616 0.03674321844830536 0.0405842660154519 0.03674321872779862 -0.1523618054799716 -0.1850300745129652 0.04058426669692767 -0.1850300749061802 0.1267987699086143
0.03750251677688933 0.05809920298263001 0.05827382043981475 0.05809920352221594 -0.2354699811731083 -0.2515429835418738 0.05827382098998125 -0.2515429833997325 0.1979674641196827
0.05692730167843078 0.09450973466735627 0.08488233690343983 0.09450973444841441 -0.3782615615114513 -0.3458288323186809 0.08488233673091183 -0.345828831891366 0.3213342593483343
0.09034794754403284 0.1585523903958849 0.1249359377656429 0.1585523902485108 -0.6360715463039386 -0.4765135369123159 0.1249359379881907 -0.4765135366551315 0.5457235993957151
0.1521652885088973 0.2748502258030855 0.1840270161423791 0.2748502258272379 -1.128561181070392 -0.6408511052643219 0.1840270163282507 -0.6408511053989911 0.9763958928465485
0.2771319209641064 0.4920539353918028 0.2648417208221296 0.4920539354004039 -2.126826268357494 -0.7686255193074815 0.2648417199878207 -0.7686255192515756 1.849694345059282
0.5552263765432398 0.9017180626287465 0.3486015936711928 0.9017180627197704 -4.24355591840153 -0.4687046600315903 0.3486015937453923 -0.4687046600764727 3.688329542721571
1.221910362588789 1.634195482589328 0.3282573965502427 1.634195483389117 -8.562083810342594 2.073639501605647 0.3282573961126281 2.073639502617897 7.340173448153681
2.792303197955678 2.626652752964615 -0.1437307831009436 2.626652753374834 -13.64742129958731 13.64742132537157 -0.1437307823345597 13.64742132453182 10.85511810112526
5.60506391318224 2.699694739951127 -1.497469091790313 2.699694740580862 5.452809559512915 38.39804848188709 -1.497469092035369 38.398048482405 -11.05787347207623
7.47123062420311 6.248666386213766e-07 -2.557152987194317 6.272996136479884e-07 52.26366280468176 7.413242057887426e-08 -2.557152985796749 7.884014954169911e-08 -59.73489343403351
5.605063748245347 -2.699694290595687 -1.497468132373775 -2.699694290806966 5.452810233925893 -38.39804886775461 -1.497468132009419 -38.39804886914059 -11.05787398343358
2.792302060465537 -2.626652177985985 -0.1437299301913864 -2.626652177265712 -13.64742062326172 -13.64742203451695 -0.1437299295082054 -13.64742203411688 10.85511856281957
1.221909219074455 -1.634195312337642 0.3282580130079742 -1.634195312205717 -8.562083382409405 -2.073639803284775 0.328258013184257 -2.073639802478615 7.340174160312703
0.5552254093021375 -0.9017182265911939 0.3486021664144329 -0.9017182264875793 -4.24355560345384 0.4687046069656024 0.3486021654507643 0.4687046073326895 3.68833019381869
0.2771312003657339 -0.4920542323622221 0.2648422341747314 -0.492054232448481 -2.126826088980285 0.7686255908683377 0.2648422344709747 0.7686255902392509 1.849694888253486
0.1521647954615521 -0.2748505352507714 0.1840274461991407 -0.274850535978763 -1.128561118647028 0.6408512399979776 0.1840274465491017 0.6408512391117184 0.9763963241155259
0.09034763245629471 -0.1585526578500414 0.1249362780655715 -0.1585526578925734 -0.6360715586399409 0.4765136940804953 0.124936278515333 0.4765136939354489 0.545723925638181
0.05692710846671597 -0.09450994588372912 0.08488259573692111 -0.09450994607724766 -0.3782616092496047 0.3458289886742103 0.0848825955477947 0.3458289889798655 0.3213345015113191
0.03750240003203621 -0.05809936002704147 0.05827401373187519 -0.05809936025423847 -0.2354700418080245 0.2515431259375758 0.05827401502527157 0.2515431260552241 0.1979676404178085
0.02556296783397115 -0.03674333293393826 0.04058441100927507 -0.03674333264018834 -0.1523618651161702 0.1850301982141535 0.04058441010187611 0.1850301982842075 0.1267988973598997
0.018781416892698 0.04465603409531922 0.05013776372767272 0.04465603416426598 -0.1341827989324079 -0.169004471679998 0.05013776403569114 -0.169004471531006 0.1154013802282233
0.02661095679501211 0.07052465260298489 0.07162986076205675 0.07052465257214634 -0.2048607078789423 -0.2275670597764292 0.07162986045636198 -0.2275670607331986 0.1782497511133349
0.03899379372992821 0.1150863211115246 0.1038940421361592 0.115086321066197 -0.3249009954625899 -0.3096854966746143 0.1038940425712808 -0.3096854960903406 0.285907202692584
0.05999442776496611 0.1951737920396149 0.1524491590371641 0.1951737917062471 -0.5393096323909423 -0.4223178680998715 0.1524491576281149 -0.4223178680915688 0.4793152050925675
0.09927765055663478 0.3465022278386649 0.2239868933174366 0.3465022275102873 -0.9452479806751418 -0.5627613893442243 0.2239868926561628 -0.5627613895402678 0.8459703296353781
0.1828353314171227 0.6493982025477945 0.3196672293303377 0.6493982021417564 -1.763842283586923 -0.6721972978513535 0.3196672292199694 -0.6721972985601579 1.581006952624802
0.3895434876054087 1.292395531670526 0.3980712082836138 1.292395531779196 -3.503754471415343 -0.4245678413301709 0.3980712085161052 -0.4245678418390791 3.114210983579515
0.9834029682113163 2.70089433704395 0.1968304814181925 2.700894339359158 -7.118609051051163 1.713446361733748 0.1968304833758728 1.713446362173361 6.135206083108903
2.84073376683252 5.458963042209973 -1.480696429662121 5.458963046148872 -11.68891519942537 11.68891473899073 -1.480696427658482 11.6889147481199 8.848181431507685
7.70111240204844 7.520926717855819 -7.635356178974213 7.520926717868647 4.070527341773836 33.93957731170209 -7.635356178680994 33.93957730984881 -11.77163974376199
12.09969303272239 5.593648931831895e-06 -13.92546989301646 5.594697248899559e-06 45.18218854284707 -4.388021600455513e-06 -13.92546989252622 -4.387567829179359e-06 -57.28188157601288
7.70111532002022 -7.520930992900117 -7.635359130770913 -7.520930993332884 4.070528121855009 -33.93957271227554 -7.635359130737077 -33.93957271264186 -11.77164344156012
2.840733521350914 -5.458962896955431 -1.480695384648282 -5.458962896809242 -11.68891402703829 -11.68891628313154 -1.480695390268846 -11.6889162779972 8.848180511103932
0.9834024682848442 -2.700894156587309 0.1968308962404784 -2.700894154739317 -7.118609003191912 -1.713446805388496 0.1968308950745872 -1.713446802727629 6.135206532052834
0.389542971350304 -1.292395568871521 0.3980715725000841 -1.29239556896492 -3.503754339326743 0.4245677630914644 0.3980715724584256 0.4245677626680115 3.114211369637054
0.1828348989980505 -0.6493983316596252 0.3196675730090681 -0.6493983311360596 -1.763842165547308 0.6721973181267017 0.3196675719936787 0.672197318811138 1.581007265379936
0.09927732656287562 -0.3465023859118753 0.2239871933997931 -0.3465023861151291 -0.9452479147744032 0.5627614553173936 0.2239871929300555 0.5627614558540369 0.8459705876549393
0.05999420163618304 -0.195173945185656 0.1524494075968186 -0.195173945071322 -0.5393096118330492 0.4223179578499656 0.1524494075405713 0.4223179576055078 0.4793154106777626
0.0389936418141042 -0.1150864524725973 0.1038942405679803 -0.1150864524499715 -0.3249010045118634 0.3096855933010151 0.1038942409071169 0.3096855932677797 0.285907361878406
0.02661085843315427 -0.07052475819570132 0.07163001516527992 -0.07052475836178021 -0.2048607322797502 0.2275671542103532 0.07163001539760254 0.2275671544205564 0.1782498740578271
0.01878135544177039 -0.04465611608175486 0.05013788265881157 -0.04465611598247552 -0.134182828835526 0.1690045572806568 0.05013788155246385 0.1690045568200612 0.1154014742955419
0.01121243726088029 0.04919048979814569 0.05674400102455088 0.04919048665654924 -0.1134656213632319 -0.1504827033163755 0.05674398428425141 -0.1504827029839657 0.1022531732770877
0.01432057871901358 0.07713453245621384 0.08041878572392994 0.07713453200616927 -0.1699215641910505 -0.199993917684234 0.08041878408559078 -0.1999939185256171 0.1556009916924392
0.01823157198387162 0.1252131880170035 0.1157206829875145 0.125213188592904 -0.2635088726786006 -0.2682672933019094 0.1157206856200418 -0.2682672932712302 0.2452773022136811
0.02305504368497659 0.2119656843798711 0.1685464006503926 0.2119656835785058 -0.4259686643015691 -0.3603619440681852 0.1685463981533101 -0.3603619444810422 0.4029136211799405
0.02883953955425641 0.377871466823258 0.2459527390178779 0.3778714698104376 -0.7231447029163152 -0.4740174216772556 0.2459527482339732 -0.4740174214019273 0.6943051671507223
0.03553519462905134 0.7182125094775239 0.3480494079292339 0.7182124898155585 -1.297217928267417 -0.5675208019710614 0.3480493585561334 -0.5675208006442927 1.261682723698671
0.04303074171344377 1.474031246925221 0.4203960563970752 1.474031245811042 -2.450926015857443 -0.4221514725730697 0.4203960541479494 -0.4221514726252862 2.407895275689992
0.05155970147939969 3.270246268827258 0.09809209976800135 3.270246270951928 -4.66353082563219 0.9292429970896343 0.0980921039856394 0.929242998357848 4.611971125786722
0.06358382320374042 7.370011357651299 -2.554545539124919 7.370011361772184 -6.962004727886565 6.962003401048021 -2.554545533423528 6.962003401903468 6.898420897713631
0.08749764648396456 11.96802890827434 -14.08166830791652 11.96802890656659 3.536376987436001 19.58134985249454 -14.08166830865848 19.58134985239083 -3.623874637916413
0.1107354687468149 -1.141905031407236e-06 -28.05564392604436 -1.139202335906703e-06 27.77837446431248 -2.548154304117562e-05 -28.05564392549207 -2.54803985959769e-05 -27.88910993364254
0.08749076106715385 -11.96802724527715 -14.08166788691026 -11.9680273467498 3.536380187116984 -19.5813289485722 -14.08166782784988 -19.58132895426448 -3.623870948866672
0.0635838673239302 -7.37001140044447 -2.554545748861938 -7.370011395640835 -6.962002489256149 -6.962005384208312 -2.554545755895351 -6.962005383279985 6.898418619318949
0.05155949010588545 -3.270246283498258 0.09809226928190405 -3.270246285488787 -4.66353092808713 -0.9292434786824463 0.09809227137450448 -0.9292434783938154 4.611971432711932
0.04303045098840578 -1.474031268067178 0.4203962825401731 -1.474031270497189 -2.450925971602763 0.4221513994042782 0.4203962868685927 0.4221513999903746 2.407895518414973
0.03553485490284438 -0.7182126019976878 0.3480497241042133 -0.718212507979352 -1.297217839199422 0.5675207652631141 0.3480494734654817 0.5675207453841536 1.261683041543083
0.02883932544387523 -0.3778715497753291 0.2459529560515899 -0.3778715497749968 -0.7231446492690622 0.4740174512533504 0.2459529556221372 0.4740174518056502 0.6943053230036562
0.02305488552252165 -0.2119657698571807 0.1685465779102145 -0.2119657704753101 -0.4259686364220304 0.3603619935362103 0.1685465810433799 0.3603619929949893 0.4029137503293763
0.01823145831146926 -0.1252132689844764 0.1157208352128281 -0.125213268364318 -0.2635088657116856 0.2682673514553767 0.1157208334046742 0.2682673513535448 0.2452774083603105
0.01432049777330259 -0.07713460057757009 0.08041890168556544 -0.07713460048770117 -0.169921570169084 0.1999939794290977 0.08041890135735921 0.1999939791273462 0.1556010765564269
0.01121238682223039 -0.04919054307147983 0.05674407850174978 -0.04919054387358873 -0.1134656339311074 0.1504827599579237 0.05674408365045813 0.1504827595271848 0.1022532488015433

441
m3d/test/pipeline/V.dat Normal file
View File

@ -0,0 +1,441 @@
1.628921066230654e-09
1.807097944213176e-09
1.998204429587379e-09
2.199153111820641e-09
2.404885156109702e-09
2.608040043039341e-09
2.798917948632393e-09
2.965965857684955e-09
3.096954632257715e-09
3.18080503710284e-09
3.209699605368718e-09
3.180810810709187e-09
3.096960182288939e-09
2.965969043688052e-09
2.798919973174448e-09
2.608044347761809e-09
2.404891552196069e-09
2.19916083458842e-09
1.998209315925476e-09
1.807104016762417e-09
1.628921467462594e-09
1.873861728636862e-09
2.101792647789736e-09
2.351338986478564e-09
2.61956218683857e-09
2.900559229078564e-09
3.184620480591221e-09
3.457712413902722e-09
3.701833299982176e-09
3.896722234026986e-09
4.023122699288516e-09
4.066982795783726e-09
4.02312751863644e-09
3.896729508534182e-09
3.701837463297554e-09
3.457717054321914e-09
3.1846273552193e-09
2.900568062687393e-09
2.619569133063356e-09
2.351343625494385e-09
2.101795153914171e-09
1.87386289507695e-09
2.15944632885966e-09
2.452019933666147e-09
2.779845860105049e-09
3.141220524582688e-09
3.530214730659225e-09
3.934768485636344e-09
4.334964834773789e-09
4.702533320522791e-09
5.002947223164941e-09
5.201227571973961e-09
5.270677266527368e-09
5.201233487872615e-09
5.002955305300648e-09
4.702543420764313e-09
4.334974220665892e-09
3.934779011926599e-09
3.530227097057474e-09
3.14123016611678e-09
2.779853203924391e-09
2.45202782163386e-09
2.159449256477507e-09
2.490573103767544e-09
2.866702866997538e-09
3.299161204787369e-09
3.789826728143626e-09
4.335081972790472e-09
4.921961340403655e-09
5.523639433999448e-09
6.095979721882576e-09
6.578661626012784e-09
6.904979011983978e-09
7.020778995140792e-09
6.904987468876203e-09
6.578675613163953e-09
6.095995909351035e-09
5.523655563114217e-09
4.921977722457767e-09
4.335097716876939e-09
3.789840261047853e-09
3.299170335994727e-09
2.86671109531207e-09
2.490578299888753e-09
2.871164421341323e-09
3.354216291730484e-09
3.925553108557975e-09
4.595198583621117e-09
5.367376119094994e-09
6.233594967507563e-09
7.162324967560193e-09
8.087214565865302e-09
8.901295209135223e-09
9.470614090157719e-09
9.676513026547645e-09
9.470629837453349e-09
8.901318749449976e-09
8.087243459063773e-09
7.162351081005319e-09
6.233618989392923e-09
5.367397215407806e-09
4.595214160836526e-09
3.925565540532316e-09
3.354227559850687e-09
2.871169781269956e-09
3.303078025780224e-09
3.920791885510083e-09
4.673936360260424e-09
5.588868039087935e-09
6.689319074481981e-09
7.985922403895494e-09
9.455816651809938e-09
1.101050118967329e-08
1.246255037555306e-08
1.352941063828438e-08
1.392643266317492e-08
1.352944135561166e-08
1.246259818135986e-08
1.101055406617779e-08
9.455863645623267e-09
7.985960385737343e-09
6.689350802618855e-09
5.588891594994194e-09
4.673954411194047e-09
3.920804043807698e-09
3.30308688653553e-09
3.784716572898337e-09
4.568120583077737e-09
5.55399412880944e-09
6.79839221950091e-09
8.366540003610303e-09
1.032205824015632e-08
1.269510127585817e-08
1.541003272101754e-08
1.816546155539789e-08
2.034555486307541e-08
2.119425233135029e-08
2.034562552500763e-08
1.816556590680247e-08
1.541013585128315e-08
1.269518324282018e-08
1.032212008911117e-08
8.366584942854462e-09
6.798423691264641e-09
5.554017729831468e-09
4.568137175550986e-09
3.784728697238266e-09
4.309468070079006e-09
5.290369387005185e-09
6.564497717390782e-09
8.236982942955085e-09
1.045088685826381e-08
1.338984983249764e-08
1.725189217580543e-08
2.213110874824338e-08
2.768757132354306e-08
3.260919298000676e-08
3.467227995274275e-08
3.260938062853132e-08
2.768781454100618e-08
2.213131384818179e-08
1.725203643685656e-08
1.338994537510045e-08
1.045094985401766e-08
8.237024818264953e-09
6.56452644753966e-09
5.290388884820687e-09
4.309482720933534e-09
4.864406117481058e-09
6.071209046734841e-09
7.686693719212065e-09
9.888911657153446e-09
1.294907804952657e-08
1.727987866790822e-08
2.348246791369265e-08
3.228485023245169e-08
4.39388599400668e-08
5.614489460805615e-08
6.192618355425116e-08
5.614544441133687e-08
4.393944875210416e-08
3.228525213932582e-08
2.348270792849099e-08
1.728001939603058e-08
1.294916312854585e-08
9.888963249099143e-09
7.686727915464837e-09
6.071232996730732e-09
4.864423728392157e-09
5.429778248987458e-09
6.882088270474536e-09
8.879221003106679e-09
1.169527225157419e-08
1.578333052184158e-08
2.191804393825748e-08
3.145138022752706e-08
4.666565739534278e-08
7.050769860554708e-08
1.014952546039992e-07
1.190459722915253e-07
1.014968781970607e-07
7.050900643546953e-08
4.666635961735622e-08
3.145173656395498e-08
2.191823140772892e-08
1.578343503459212e-08
1.169533476615582e-08
8.879259807109321e-09
6.882114924509458e-09
5.429794278086615e-09
5.979801802280077e-09
7.683029205893787e-09
1.007805579248563e-08
1.354952131663661e-08
1.876852670172158e-08
2.696968343909951e-08
4.054823727827555e-08
6.429088851560877e-08
1.068789541795706e-07
1.734647145065684e-07
2.178962272787798e-07
1.734680364279641e-07
1.068810630617935e-07
6.42918432176898e-08
4.05486742982047e-08
2.696989537811586e-08
1.876864316651647e-08
1.3549586664116e-08
1.007809662825593e-08
7.683053975258751e-09
5.979820229988167e-09
6.48494135953385e-09
8.426588938784384e-09
1.120376709498088e-08
1.531118110891597e-08
2.163773743116001e-08
3.187820522843502e-08
4.947171400155052e-08
8.170906859115617e-08
1.429997495224589e-07
2.451108178420089e-07
3.163597685426568e-07
2.451137162628436e-07
1.430016821877568e-07
8.17099712981425e-08
4.947213489380924e-08
3.187841562104338e-08
2.163785205265859e-08
1.531124700980013e-08
1.120380801477702e-08
8.426616163386476e-09
6.484958377514961e-09
6.915224109182499e-09
9.064188846922341e-09
1.217448110078388e-08
1.683515336841557e-08
2.411598492383057e-08
3.607413334852399e-08
5.690188077859457e-08
9.544743183396258e-08
1.688138434802721e-07
2.895810977107213e-07
3.725236344161323e-07
2.895823005714572e-07
1.688149020224116e-07
9.544804061426498e-08
5.690220309559566e-08
3.607430775499148e-08
2.411608437616206e-08
1.683521339972047e-08
1.217451817173127e-08
9.06421490969076e-09
6.915241245000858e-09
7.243764682921765e-09
9.552672327685162e-09
1.291917537669831e-08
1.800126145239191e-08
2.599373994942212e-08
3.918226503801426e-08
6.216663579234596e-08
1.044403703672823e-07
1.837173473341323e-07
3.116197134348472e-07
3.982184180189888e-07
3.116201107960283e-07
1.837178019757661e-07
1.044407023172928e-07
6.216684529125292e-08
3.918239202089898e-08
2.599381859098996e-08
1.80013109302807e-08
1.291920711322666e-08
9.552695038662323e-09
7.243782467311046e-09
7.449658660386041e-09
9.859186176254843e-09
1.338608633104307e-08
1.872900278680386e-08
2.715222156375211e-08
4.105609784697654e-08
6.521164325369673e-08
1.093023668087029e-07
1.910483890802899e-07
3.214438486130902e-07
4.091631696110361e-07
3.214439868063966e-07
1.910485783389431e-07
1.093025341004452e-07
6.52117670318229e-08
4.105618228453955e-08
2.715227905715736e-08
1.872904135642942e-08
1.338611313311246e-08
9.859204075871889e-09
7.449671014964238e-09
7.519778374030093e-09
9.963607236621636e-09
1.354499647985109e-08
1.897586538761106e-08
2.75423188636324e-08
4.167830131790754e-08
6.619876248490636e-08
1.108217165675736e-07
1.932334225780548e-07
3.242437345151175e-07
4.122229941199049e-07
3.242437887790079e-07
1.932335049766147e-07
1.108218009088188e-07
6.619883344929751e-08
4.167835572420498e-08
2.754235859328275e-08
1.897589435711794e-08
1.354501653527945e-08
9.963622179576745e-09
7.51978938200407e-09
7.449674383067285e-09
9.859210989544308e-09
1.338612531139919e-08
1.872906472522956e-08
2.715232235752618e-08
4.105626523124338e-08
6.52119243909913e-08
1.093028237269414e-07
1.910490766193255e-07
3.214447426430318e-07
4.091641081412897e-07
3.214447670480882e-07
1.910491166644436e-07
1.093028680629743e-07
6.521196512613473e-08
4.105629992064271e-08
2.715234988206354e-08
1.872908479942065e-08
1.338614063255382e-08
9.859221877733231e-09
7.449684145132879e-09
7.243797670895535e-09
9.55271949065403e-09
1.291924882498094e-08
1.800138054547369e-08
2.599393663539132e-08
3.918260018038225e-08
6.216722097617019e-08
1.044413880433571e-07
1.837190305108881e-07
3.116221120411692e-07
3.982210068421462e-07
3.116221243408518e-07
1.837190513127919e-07
1.044414121793662e-07
6.216724474554055e-08
3.918262272893388e-08
2.599395519531256e-08
1.800139549563643e-08
1.291926150101441e-08
9.552728694045205e-09
7.243807828360193e-09
6.915266417104819e-09
9.064255799104967e-09
1.217458342799979e-08
1.683532087813544e-08
2.41162645042905e-08
3.607462269392344e-08
5.690277788253796e-08
9.544914640427984e-08
1.688171346607755e-07
2.895866777321595e-07
3.725300707451941e-07
2.895866850999132e-07
1.688171475295509e-07
9.544916113316652e-08
5.690279199789194e-08
3.607463637769052e-08
2.411627683151906e-08
1.683533060728121e-08
1.217459270012852e-08
9.06426221029802e-09
6.915273307357327e-09
6.484992731915556e-09
8.426669930842489e-09
1.12038907201154e-08
1.531138114373061e-08
2.163807349007074e-08
3.187880166717509e-08
4.947284855529761e-08
8.171140719782495e-08
1.430049271093582e-07
2.451216274493116e-07
3.163736591246126e-07
2.451216289647435e-07
1.430049330044465e-07
8.171141633725483e-08
4.947285726948809e-08
3.187881054188564e-08
2.163808160523679e-08
1.531138794232347e-08
1.120389834881549e-08
8.426674932438643e-09
6.484998504060396e-09
5.979859697982216e-09
7.683115610027883e-09
1.007818993787266e-08
1.354973551741611e-08
1.876888364573364e-08
2.697030592760395e-08
4.054942363227762e-08
6.429334139878957e-08
1.068844742240763e-07
1.734766417803605e-07
2.179118794000861e-07
1.73476632987701e-07
1.068844800481871e-07
6.429334700272647e-08
4.054942887924189e-08
2.697029239564481e-08
1.876888883365822e-08
1.35497408785962e-08
1.007819489757359e-08
7.683118149975137e-09
5.97986530081091e-09

448488
m3d/test/pipeline/pipeline.ele Executable file

File diff suppressed because it is too large Load Diff

134120
m3d/test/pipeline/pipeline.node Executable file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,801 @@
%!PS-Adobe-3.0 EPSF-3.0
%%Creator: MATLAB, The Mathworks, Inc. Version 7.9.0.529 (R2009b). Operating System: Linux 4.6.4-201.fc23.x86_64 #1 SMP Tue Jul 12 11:43:59 UTC 2016 x86_64.
%%Title: /home/renzh/code/m3d2geophysics/m3d/test/pipeline/piple_V.eps
%%CreationDate: 02/26/2017 13:22:52
%%DocumentNeededFonts: Helvetica
%%DocumentProcessColors: Cyan Magenta Yellow Black
%%LanguageLevel: 2
%%Pages: 1
%%BoundingBox: 145 276 465 516
%%EndComments
%%BeginProlog
% MathWorks dictionary
/MathWorks 160 dict begin
% definition operators
/bdef {bind def} bind def
/ldef {load def} bind def
/xdef {exch def} bdef
/xstore {exch store} bdef
% operator abbreviations
/c /clip ldef
/cc /concat ldef
/cp /closepath ldef
/gr /grestore ldef
/gs /gsave ldef
/mt /moveto ldef
/np /newpath ldef
/cm /currentmatrix ldef
/sm /setmatrix ldef
/rm /rmoveto ldef
/rl /rlineto ldef
/s {show newpath} bdef
/sc {setcmykcolor} bdef
/sr /setrgbcolor ldef
/sg /setgray ldef
/w /setlinewidth ldef
/j /setlinejoin ldef
/cap /setlinecap ldef
/rc {rectclip} bdef
/rf {rectfill} bdef
% page state control
/pgsv () def
/bpage {/pgsv save def} bdef
/epage {pgsv restore} bdef
/bplot /gsave ldef
/eplot {stroke grestore} bdef
% orientation switch
/portraitMode 0 def /landscapeMode 1 def /rotateMode 2 def
% coordinate system mappings
/dpi2point 0 def
% font control
/FontSize 0 def
/FMS {/FontSize xstore findfont [FontSize 0 0 FontSize neg 0 0]
makefont setfont} bdef
/reencode {exch dup where {pop load} {pop StandardEncoding} ifelse
exch dup 3 1 roll findfont dup length dict begin
{ 1 index /FID ne {def}{pop pop} ifelse } forall
/Encoding exch def currentdict end definefont pop} bdef
/isroman {findfont /CharStrings get /Agrave known} bdef
/FMSR {3 1 roll 1 index dup isroman {reencode} {pop pop} ifelse
exch FMS} bdef
/csm {1 dpi2point div -1 dpi2point div scale neg translate
dup landscapeMode eq {pop -90 rotate}
{rotateMode eq {90 rotate} if} ifelse} bdef
% line types: solid, dotted, dashed, dotdash
/SO { [] 0 setdash } bdef
/DO { [.5 dpi2point mul 4 dpi2point mul] 0 setdash } bdef
/DA { [6 dpi2point mul] 0 setdash } bdef
/DD { [.5 dpi2point mul 4 dpi2point mul 6 dpi2point mul 4
dpi2point mul] 0 setdash } bdef
% macros for lines and objects
/L {lineto stroke} bdef
/MP {3 1 roll moveto 1 sub {rlineto} repeat} bdef
/AP {{rlineto} repeat} bdef
/PDlw -1 def
/W {/PDlw currentlinewidth def setlinewidth} def
/PP {closepath eofill} bdef
/DP {closepath stroke} bdef
/MR {4 -2 roll moveto dup 0 exch rlineto exch 0 rlineto
neg 0 exch rlineto closepath} bdef
/FR {MR stroke} bdef
/PR {MR fill} bdef
/L1i {{currentfile picstr readhexstring pop} image} bdef
/tMatrix matrix def
/MakeOval {newpath tMatrix currentmatrix pop translate scale
0 0 1 0 360 arc tMatrix setmatrix} bdef
/FO {MakeOval stroke} bdef
/PO {MakeOval fill} bdef
/PD {currentlinewidth 2 div 0 360 arc fill
PDlw -1 eq not {PDlw w /PDlw -1 def} if} def
/FA {newpath tMatrix currentmatrix pop translate scale
0 0 1 5 -2 roll arc tMatrix setmatrix stroke} bdef
/PA {newpath tMatrix currentmatrix pop translate 0 0 moveto scale
0 0 1 5 -2 roll arc closepath tMatrix setmatrix fill} bdef
/FAn {newpath tMatrix currentmatrix pop translate scale
0 0 1 5 -2 roll arcn tMatrix setmatrix stroke} bdef
/PAn {newpath tMatrix currentmatrix pop translate 0 0 moveto scale
0 0 1 5 -2 roll arcn closepath tMatrix setmatrix fill} bdef
/vradius 0 def /hradius 0 def /lry 0 def
/lrx 0 def /uly 0 def /ulx 0 def /rad 0 def
/MRR {/vradius xdef /hradius xdef /lry xdef /lrx xdef /uly xdef
/ulx xdef newpath tMatrix currentmatrix pop ulx hradius add uly
vradius add translate hradius vradius scale 0 0 1 180 270 arc
tMatrix setmatrix lrx hradius sub uly vradius add translate
hradius vradius scale 0 0 1 270 360 arc tMatrix setmatrix
lrx hradius sub lry vradius sub translate hradius vradius scale
0 0 1 0 90 arc tMatrix setmatrix ulx hradius add lry vradius sub
translate hradius vradius scale 0 0 1 90 180 arc tMatrix setmatrix
closepath} bdef
/FRR {MRR stroke } bdef
/PRR {MRR fill } bdef
/MlrRR {/lry xdef /lrx xdef /uly xdef /ulx xdef /rad lry uly sub 2 div def
newpath tMatrix currentmatrix pop ulx rad add uly rad add translate
rad rad scale 0 0 1 90 270 arc tMatrix setmatrix lrx rad sub lry rad
sub translate rad rad scale 0 0 1 270 90 arc tMatrix setmatrix
closepath} bdef
/FlrRR {MlrRR stroke } bdef
/PlrRR {MlrRR fill } bdef
/MtbRR {/lry xdef /lrx xdef /uly xdef /ulx xdef /rad lrx ulx sub 2 div def
newpath tMatrix currentmatrix pop ulx rad add uly rad add translate
rad rad scale 0 0 1 180 360 arc tMatrix setmatrix lrx rad sub lry rad
sub translate rad rad scale 0 0 1 0 180 arc tMatrix setmatrix
closepath} bdef
/FtbRR {MtbRR stroke } bdef
/PtbRR {MtbRR fill } bdef
/stri 6 array def /dtri 6 array def
/smat 6 array def /dmat 6 array def
/tmat1 6 array def /tmat2 6 array def /dif 3 array def
/asub {/ind2 exch def /ind1 exch def dup dup
ind1 get exch ind2 get sub exch } bdef
/tri_to_matrix {
2 0 asub 3 1 asub 4 0 asub 5 1 asub
dup 0 get exch 1 get 7 -1 roll astore } bdef
/compute_transform {
dmat dtri tri_to_matrix tmat1 invertmatrix
smat stri tri_to_matrix tmat2 concatmatrix } bdef
/ds {stri astore pop} bdef
/dt {dtri astore pop} bdef
/db {2 copy /cols xdef /rows xdef mul dup 3 mul string
currentfile
3 index 0 eq {/ASCIIHexDecode filter}
{/ASCII85Decode filter 3 index 2 eq {/RunLengthDecode filter} if }
ifelse exch readstring pop
dup 0 3 index getinterval /rbmap xdef
dup 2 index dup getinterval /gbmap xdef
1 index dup 2 mul exch getinterval /bbmap xdef pop pop}bdef
/it {gs np dtri aload pop moveto lineto lineto cp c
cols rows 8 compute_transform
rbmap gbmap bbmap true 3 colorimage gr}bdef
/il {newpath moveto lineto stroke}bdef
currentdict end def
%%EndProlog
%%BeginSetup
MathWorks begin
0 cap
end
%%EndSetup
%%Page: 1 1
%%BeginPageSetup
%%PageBoundingBox: 145 276 465 516
MathWorks begin
bpage
%%EndPageSetup
%%BeginObject: obj1
bplot
/dpi2point 12 def
portraitMode 1740 6192 csm
0 0 3840 2880 rc
85 dict begin %Colortable dictionary
/c0 { 0.000000 0.000000 0.000000 sr} bdef
/c1 { 1.000000 1.000000 1.000000 sr} bdef
/c2 { 0.900000 0.000000 0.000000 sr} bdef
/c3 { 0.000000 0.820000 0.000000 sr} bdef
/c4 { 0.000000 0.000000 0.800000 sr} bdef
/c5 { 0.910000 0.820000 0.320000 sr} bdef
/c6 { 1.000000 0.260000 0.820000 sr} bdef
/c7 { 0.000000 0.820000 0.820000 sr} bdef
c0
1 j
1 sg
0 0 3841 2881 rf
6 w
0 2185 2281 0 0 -2185 570 2473 4 MP
PP
-2281 0 0 2185 2281 0 0 -2185 570 2473 5 MP stroke
gs 570 288 2282 2186 rc
/c8 { 0.000000 0.000000 0.562500 sr} bdef
c8
24 0 23 0 23 0 23 0 23 0 23 0 23 0 23 0
23 0 23 0 23 0 23 0 23 0 23 0 23 0 23 0
23 0 23 0 23 0 23 0 23 0 23 0 23 0 23 0
24 0 23 0 23 0 23 0 23 0 23 0 23 0 23 0
23 0 23 0 23 0 23 0 23 0 23 0 23 0 23 0
23 0 23 0 23 0 23 0 23 0 23 0 23 0 23 0
23 0 24 0 23 0 23 0 23 0 23 0 23 0 23 0
23 0 23 0 23 0 23 0 23 0 23 0 23 0 23 0
23 0 23 0 23 0 23 0 23 0 23 0 23 0 23 0
23 0 23 0 24 0 23 0 23 0 23 0 23 0 23 0
23 0 23 0 23 0 23 0 23 0 23 0 23 0 23 0
23 0 23 0 23 0 23 0 23 0 23 0 23 0 23 0
23 0 23 0 23 0 570 287 100 MP
0 23 0 22 0 22 0 22 0 22 0 22 0 22 0 22
0 22 0 22 0 22 0 22 0 22 0 22 0 23 0 22
0 22 0 22 0 22 0 22 0 22 0 22 0 22 0 22
0 22 0 22 0 22 0 22 0 23 0 22 0 22 0 22
0 22 0 22 0 22 0 22 0 22 0 22 0 22 0 22
0 22 0 22 0 23 0 22 0 22 0 22 0 22 0 22
0 22 0 22 0 22 0 22 0 22 0 22 0 22 0 22
0 23 0 22 0 22 0 22 0 22 0 22 0 22 0 22
0 22 0 22 0 22 0 22 0 22 0 22 0 23 0 22
0 22 0 22 0 22 0 22 0 22 0 22 0 22 0 22
0 22 0 22 0 22 0 22 0 23 0 22 0 22 0 22
0 22 0 22 0 22 0 22 0 22 0 22 0 22 0 22
0 22 0 22 0 22 0 1 100 AP
-23 0 -23 0 -23 0 -23 0 -23 0 -23 0 -23 0 -23 0
-23 0 -23 0 -23 0 -23 0 -23 0 -23 0 -23 0 -23 0
-23 0 -23 0 -23 0 -23 0 -23 0 -23 0 -23 0 -23 0
-24 0 -23 0 -23 0 -23 0 -23 0 -23 0 -23 0 -23 0
-23 0 -23 0 -23 0 -23 0 -23 0 -23 0 -23 0 -23 0
-23 0 -23 0 -23 0 -23 0 -23 0 -23 0 -23 0 -23 0
-23 0 -24 0 -23 0 -23 0 -23 0 -23 0 -23 0 -23 0
-23 0 -23 0 -23 0 -23 0 -23 0 -23 0 -23 0 -23 0
-23 0 -23 0 -23 0 -23 0 -23 0 -23 0 -23 0 -23 0
-23 0 -23 0 -24 0 -23 0 -23 0 -23 0 -23 0 -23 0
-23 0 -23 0 -23 0 -23 0 -23 0 -23 0 -23 0 -23 0
-23 0 -23 0 -23 0 -23 0 -23 0 -23 0 -23 0 -23 0
-23 0 -23 0 -24 0 0 0 100 AP
0 -22 0 -22 0 -22 0 -22 0 -22 0 -22 0 -22 0 -22
0 -22 0 -22 0 -22 0 -22 0 -22 0 -22 0 -23 0 -22
0 -22 0 -22 0 -22 0 -22 0 -22 0 -22 0 -22 0 -22
0 -22 0 -22 0 -22 0 -22 0 -23 0 -22 0 -22 0 -22
0 -22 0 -22 0 -22 0 -22 0 -22 0 -22 0 -22 0 -22
0 -22 0 -22 0 -23 0 -22 0 -22 0 -22 0 -22 0 -22
0 -22 0 -22 0 -22 0 -22 0 -22 0 -22 0 -22 0 -22
0 -23 0 -22 0 -22 0 -22 0 -22 0 -22 0 -22 0 -22
0 -22 0 -22 0 -22 0 -22 0 -22 0 -22 0 -23 0 -22
0 -22 0 -22 0 -22 0 -22 0 -22 0 -22 0 -22 0 -22
0 -22 0 -22 0 -22 0 -22 0 -23 0 -22 0 -22 0 -22
0 -22 0 -22 0 -22 0 -22 0 -22 0 -22 0 -22 0 -22
0 -22 0 -22 -1 -23 0 0 100 AP
1 -1 1 AP
PP
0 sg
0 0 1 -1 0 -22 0 -22 0 -22 0 -22 0 -22 0 -22
0 -22 0 -22 0 -22 0 -22 0 -22 0 -22 0 -22 0 -22
0 -23 0 -22 0 -22 0 -22 0 -22 0 -22 0 -22 0 -22
0 -22 0 -22 0 -22 0 -22 0 -22 0 -22 0 -23 0 -22
0 -22 0 -22 0 -22 0 -22 0 -22 0 -22 0 -22 0 -22
0 -22 0 -22 0 -22 0 -22 0 -23 0 -22 0 -22 0 -22
0 -22 0 -22 0 -22 0 -22 0 -22 0 -22 0 -22 0 -22
0 -22 0 -22 0 -23 0 -22 0 -22 0 -22 0 -22 0 -22
0 -22 0 -22 0 -22 0 -22 0 -22 0 -22 0 -22 0 -22
0 -23 0 -22 0 -22 0 -22 0 -22 0 -22 0 -22 0 -22
0 -22 0 -22 0 -22 0 -22 0 -22 0 -22 0 -23 0 -22
0 -22 0 -22 0 -22 0 -22 0 -22 0 -22 0 -22 0 -22
0 -22 0 -22 0 -22 0 -22 -1 -23 0 0 -23 0 -23 0
-23 0 -23 0 -23 0 -23 0 -23 0 -23 0 -23 0 -23 0
-23 0 -23 0 -23 0 -23 0 -23 0 -23 0 -23 0 -23 0
-23 0 -23 0 -23 0 -23 0 -23 0 -23 0 -24 0 -23 0
-23 0 -23 0 -23 0 -23 0 -23 0 -23 0 -23 0 -23 0
-23 0 -23 0 -23 0 -23 0 -23 0 -23 0 -23 0 -23 0
-23 0 -23 0 -23 0 -23 0 -23 0 -23 0 -23 0 -24 0
-23 0 -23 0 -23 0 -23 0 -23 0 -23 0 -23 0 -23 0
-23 0 -23 0 -23 0 -23 0 -23 0 -23 0 -23 0 -23 0
-23 0 -23 0 -23 0 -23 0 -23 0 -23 0 -23 0 -23 0
-24 0 -23 0 -23 0 -23 0 -23 0 -23 0 -23 0 -23 0
-23 0 -23 0 -23 0 -23 0 -23 0 -23 0 -23 0 -23 0
-23 0 -23 0 -23 0 -23 0 -23 0 -23 0 -23 0 -23 0
-24 0 0 0 0 23 0 22 0 22 0 22 0 22 0 22
0 22 0 22 0 22 0 22 0 22 0 22 0 22 0 22
0 23 0 22 0 22 0 22 0 22 0 22 0 22 0 22
0 22 0 22 0 22 0 22 0 22 0 22 0 23 0 22
0 22 0 22 0 22 0 22 0 22 0 22 0 22 0 22
0 22 0 22 0 22 0 22 0 23 0 22 0 22 0 22
0 22 0 22 0 22 0 22 0 22 0 22 0 22 0 22
0 22 0 22 0 23 0 22 0 22 0 22 0 22 0 22
0 22 0 22 0 22 0 22 0 22 0 22 0 22 0 22
0 23 0 22 0 22 0 22 0 22 0 22 0 22 0 22
0 22 0 22 0 22 0 22 0 22 0 22 0 23 0 22
0 22 0 22 0 22 0 22 0 22 0 22 0 22 0 22
0 22 0 22 0 22 2851 332 300 MP stroke
0 22 0 22 0 1 24 0 23 0 23 0 23 0 23 0
23 0 23 0 23 0 23 0 23 0 23 0 23 0 23 0
23 0 23 0 23 0 23 0 23 0 23 0 23 0 23 0
23 0 23 0 23 0 24 0 23 0 23 0 23 0 23 0
23 0 23 0 23 0 23 0 23 0 23 0 23 0 23 0
23 0 23 0 23 0 23 0 23 0 23 0 23 0 23 0
23 0 23 0 23 0 23 0 24 0 23 0 23 0 23 0
23 0 23 0 23 0 23 0 23 0 23 0 23 0 23 0
23 0 23 0 23 0 23 0 23 0 23 0 23 0 23 0
23 0 23 0 23 0 23 0 23 0 24 0 23 0 23 0
23 0 23 0 23 0 23 0 23 0 23 0 23 0 23 0
23 0 23 0 23 0 23 0 23 0 23 0 23 0 23 0
23 0 23 0 23 0 23 0 23 0 23 0 570 287 103 MP stroke
/c9 { 0.000000 0.000000 1.000000 sr} bdef
c9
-23 -16 -2 -1 -22 -12 -23 -8 -6 -2 -17 -6 -23 -9 -21 -7
-2 -1 -23 -10 -23 -6 -17 -5 -6 -2 -23 -8 -23 -8 -20 -5
-3 0 -23 -3 -23 -5 -23 -5 -23 -5 -23 -3 -8 -1 -15 -1
-23 -2 -23 -2 -23 -3 -23 -1 -23 -1 -23 0 -23 -1 -23 -1
-24 0 -23 1 -23 0 -23 1 -23 1 -23 2 -23 1 -23 2
-23 3 -12 1 -11 2 -23 3 -23 3 -23 4 -23 6 -20 4
-3 1 -23 5 -23 7 -23 9 -1 1 -22 6 -23 8 -20 8
-3 1 -23 6 -23 6 -23 8 -2 1 -22 14 0 8 0 22
0 22 0 22 0 22 0 22 0 22 0 22 0 22 0 22
0 22 0 23 0 22 0 22 0 22 0 22 0 22 0 22
0 22 0 22 0 22 0 22 0 22 0 22 0 22 0 23
0 22 0 22 0 22 0 22 0 22 0 22 0 22 0 22
0 22 0 22 0 8 2851 986 100 MP
23 6 23 4 19 2 4 0 23 2 23 2 23 3 23 2
23 0 23 1 23 1 23 1 24 0 23 -1 23 0 23 -1
23 -1 23 -1 23 -1 23 -2 23 -2 23 -3 1 0 22 -3
23 -3 23 -4 23 -5 23 -5 9 -2 14 -4 23 -5 23 -9
13 -5 10 -3 23 -7 23 -8 8 -4 15 -4 23 -6 23 -6
13 -6 10 -6 24 -13 8 -3 15 -5 23 -15 2 -2 20 -22
1 -1 23 -15 6 -6 17 -15 12 -7 11 -6 23 -13 2 -3
11 -22 10 -22 0 0 17 -22 6 -13 4 -9 10 -22 9 -19
2 -4 11 -22 5 -22 5 -17 1 -5 6 -22 3 -22 2 -22
-1 -22 -5 -22 -5 -22 -1 -4 -4 -18 -2 -22 -8 -22 -9 -18
-3 -4 -11 -23 -9 -17 -2 -5 -11 -22 -10 -14 -6 -8 -17 -18
-4 -4 -19 -20 -2 -2 -20 -22 -1 -1 -23 -21 -1 0 -22 -16
-9 -6 -14 -11 -17 -11 -6 -5 100 AP
24 8 18 6 5 2 23 8 23 9 8 3 15 8 23 6
23 7 6 1 17 6 23 8 23 8 7 1 16 2 23 4
23 4 17 AP
PP
0 sg
0 0 24 8 18 6 5 2 23 8 23 9 8 3 15 8
23 6 23 7 6 1 17 6 23 8 23 8 7 1 16 2
23 4 23 4 23 6 23 4 19 2 4 0 23 2 23 2
23 3 23 2 23 0 23 1 23 1 23 1 24 0 23 -1
23 0 23 -1 23 -1 23 -1 23 -1 23 -2 23 -2 23 -3
1 0 22 -3 23 -3 23 -4 23 -5 23 -5 9 -2 14 -4
23 -5 23 -9 13 -5 10 -3 23 -7 23 -8 8 -4 15 -4
23 -6 23 -6 13 -6 10 -6 24 -13 8 -3 15 -5 23 -15
2 -2 20 -22 1 -1 23 -15 6 -6 17 -15 12 -7 11 -6
23 -13 2 -3 11 -22 10 -22 0 0 17 -22 6 -13 4 -9
10 -22 9 -19 2 -4 11 -22 5 -22 5 -17 1 -5 6 -22
3 -22 2 -22 -1 -22 -5 -22 -5 -22 -1 -4 -4 -18 -2 -22
-8 -22 -9 -18 -3 -4 -11 -23 -9 -17 -2 -5 -11 -22 -10 -14
-6 -8 -17 -18 -4 -4 -19 -20 -2 -2 -20 -22 -1 -1 -23 -21
-1 0 -22 -16 -9 -6 -14 -11 -17 -11 -6 -5 -23 -16 -2 -1
-22 -12 -23 -8 -6 -2 -17 -6 -23 -9 -21 -7 -2 -1 -23 -10
-23 -6 -17 -5 -6 -2 -23 -8 -23 -8 -20 -5 -3 0 -23 -3
-23 -5 -23 -5 -23 -5 -23 -3 -8 -1 -15 -1 -23 -2 -23 -2
-23 -3 -23 -1 -23 -1 -23 0 -23 -1 -23 -1 -24 0 -23 1
-23 0 -23 1 -23 1 -23 2 -23 1 -23 2 -23 3 -12 1
-11 2 -23 3 -23 3 -23 4 -23 6 -20 4 -3 1 -23 5
-23 7 -23 9 -1 1 -22 6 -23 8 -20 8 -3 1 -23 6
-23 6 -23 8 -2 1 -22 14 0 8 0 22 0 22 0 22
0 22 0 22 0 22 0 22 0 22 0 22 0 22 0 23
0 22 0 22 0 22 0 22 0 22 0 22 0 22 0 22
0 22 0 22 0 22 0 22 0 22 0 23 0 22 0 22
0 22 0 22 0 22 0 22 0 22 0 22 0 22 0 22
0 8 2851 986 218 MP stroke
/c10 { 0.000000 0.500000 1.000000 sr} bdef
c10
-8 -22 -7 -22 -7 -22 0 -2 -6 -20 -14 -22 -3 -5 -16 -17
-7 -9 -12 -14 -11 -12 -9 -10 -14 -16 -6 -6 -17 -16 -9 -6
-15 -9 -23 -10 -5 -3 -18 -10 -22 -12 -1 0 -23 -13 -23 -9
0 0 -23 -5 -23 -5 -23 -5 -23 -5 -10 -2 -13 -4 -23 -3
-23 -4 -23 -4 -23 -4 -23 -2 -17 -1 -6 -1 -23 -2 -23 -3
-23 -2 -23 -1 -23 -1 -23 -1 -23 0 -23 -1 -24 0 -23 1
-23 1 -23 0 -23 1 -23 2 -23 2 -23 2 -23 3 0 0
-23 2 -23 2 -23 4 -23 4 -23 4 -23 4 -8 2 -15 3
-23 4 -23 4 -23 5 -18 6 -5 2 -23 7 -23 6 -19 7
-4 2 -23 19 -2 1 -22 18 0 4 0 22 0 22 0 22
0 23 0 22 0 22 0 22 0 22 0 22 0 22 0 22
0 22 0 22 0 22 0 22 0 22 0 22 0 23 0 22
0 22 0 22 0 4 2851 1144 100 MP
24 10 15 8 8 3 23 13 10 6 13 7 23 12 12 3
11 2 23 5 23 5 23 6 18 4 5 2 23 3 23 4
23 4 23 4 23 3 23 2 5 0 18 2 23 2 23 3
23 2 23 0 23 1 23 1 23 1 24 0 23 0 23 -1
23 -1 23 -1 23 -1 23 -2 23 -2 23 -3 12 -1 11 -1
23 -2 23 -3 23 -4 23 -4 23 -4 19 -4 4 -1 23 -4
23 -4 23 -4 23 -7 7 -2 16 -6 23 -6 23 -6 8 -4
15 -12 13 -10 10 -8 23 -14 1 0 23 -19 3 -3 20 -10
23 -12 0 0 10 -22 10 -23 3 -5 11 -17 9 -22 3 -12
4 -10 9 -22 8 -22 2 -11 1 -11 -1 -11 -1 -11 79 AP
PP
0 sg
0 0 24 10 15 8 8 3 23 13 10 6 13 7 23 12
12 3 11 2 23 5 23 5 23 6 18 4 5 2 23 3
23 4 23 4 23 4 23 3 23 2 5 0 18 2 23 2
23 3 23 2 23 0 23 1 23 1 23 1 24 0 23 0
23 -1 23 -1 23 -1 23 -1 23 -2 23 -2 23 -3 12 -1
11 -1 23 -2 23 -3 23 -4 23 -4 23 -4 19 -4 4 -1
23 -4 23 -4 23 -4 23 -7 7 -2 16 -6 23 -6 23 -6
8 -4 15 -12 13 -10 10 -8 23 -14 1 0 23 -19 3 -3
20 -10 23 -12 0 0 10 -22 10 -23 3 -5 11 -17 9 -22
3 -12 4 -10 9 -22 8 -22 2 -11 1 -11 -1 -11 -1 -11
-8 -22 -7 -22 -7 -22 0 -2 -6 -20 -14 -22 -3 -5 -16 -17
-7 -9 -12 -14 -11 -12 -9 -10 -14 -16 -6 -6 -17 -16 -9 -6
-15 -9 -23 -10 -5 -3 -18 -10 -22 -12 -1 0 -23 -13 -23 -9
0 0 -23 -5 -23 -5 -23 -5 -23 -5 -10 -2 -13 -4 -23 -3
-23 -4 -23 -4 -23 -4 -23 -2 -17 -1 -6 -1 -23 -2 -23 -3
-23 -2 -23 -1 -23 -1 -23 -1 -23 0 -23 -1 -24 0 -23 1
-23 1 -23 0 -23 1 -23 2 -23 2 -23 2 -23 3 0 0
-23 2 -23 2 -23 4 -23 4 -23 4 -23 4 -8 2 -15 3
-23 4 -23 4 -23 5 -18 6 -5 2 -23 7 -23 6 -19 7
-4 2 -23 19 -2 1 -22 18 0 4 0 22 0 22 0 22
0 23 0 22 0 22 0 22 0 22 0 22 0 22 0 22
0 22 0 22 0 22 0 22 0 22 0 22 0 23 0 22
0 22 0 22 0 4 2851 1144 180 MP stroke
/c11 { 0.000000 1.000000 1.000000 sr} bdef
c11
13 -4 10 -6 18 -16 5 -6 21 -17 3 -1 20 -21 3 -5
9 -17 14 -21 0 -1 10 -22 4 -22 4 -22 -3 -22 -10 -22
-5 -12 -5 -10 -8 -22 -5 -22 -5 -8 -10 -14 -13 -15 -10 -7
-14 -11 -22 -12 -1 0 -23 -12 -19 -10 -4 -2 -23 -14 -12 -6
-11 -5 -23 -7 -23 -6 -11 -4 -12 -4 -23 -7 -23 -5 -23 -3
-15 -3 -8 -1 -23 -4 -23 -5 -23 -2 -23 -1 -23 -2 -23 -2
-23 -2 -23 -1 -23 0 -23 0 -23 -1 -23 -1 -24 0 -23 1
-23 0 -23 1 -23 1 -23 1 -23 1 -23 2 -23 2 -23 2
-23 2 -23 3 -23 4 -11 2 -12 3 -23 4 -23 5 -23 8
-7 2 -16 5 -23 7 -23 8 -6 2 -17 6 -23 8 -23 8
-1 0 -22 16 -6 6 -18 18 0 5 0 22 0 22 0 22
0 22 0 22 0 22 0 22 0 22 0 22 0 22 0 22
0 22 0 22 0 5 2851 1232 100 MP
24 12 11 6 12 6 23 12 5 4 18 10 19 12 4 2
23 6 23 7 23 7 0 0 23 8 23 7 23 3 23 3
4 1 19 3 23 4 23 4 23 2 23 1 23 2 23 2
23 1 23 1 23 0 23 1 23 0 24 1 23 -1 23 0
23 -1 23 0 23 -1 23 -1 23 -2 23 -2 23 -2 23 -2
23 -2 23 -4 22 -4 1 0 23 -5 23 -4 23 -6 18 -7
5 -2 23 -6 23 -7 17 -7 6 -3 23 -7 23 -8 55 AP
PP
0 sg
0 0 24 12 11 6 12 6 23 12 5 4 18 10 19 12
4 2 23 6 23 7 23 7 0 0 23 8 23 7 23 3
23 3 4 1 19 3 23 4 23 4 23 2 23 1 23 2
23 2 23 1 23 1 23 0 23 1 23 0 24 1 23 -1
23 0 23 -1 23 0 23 -1 23 -1 23 -2 23 -2 23 -2
23 -2 23 -2 23 -4 22 -4 1 0 23 -5 23 -4 23 -6
18 -7 5 -2 23 -6 23 -7 17 -7 6 -3 23 -7 23 -8
13 -4 10 -6 18 -16 5 -6 21 -17 3 -1 20 -21 3 -5
9 -17 14 -21 0 -1 10 -22 4 -22 4 -22 -3 -22 -10 -22
-5 -12 -5 -10 -8 -22 -5 -22 -5 -8 -10 -14 -13 -15 -10 -7
-14 -11 -22 -12 -1 0 -23 -12 -19 -10 -4 -2 -23 -14 -12 -6
-11 -5 -23 -7 -23 -6 -11 -4 -12 -4 -23 -7 -23 -5 -23 -3
-15 -3 -8 -1 -23 -4 -23 -5 -23 -2 -23 -1 -23 -2 -23 -2
-23 -2 -23 -1 -23 0 -23 0 -23 -1 -23 -1 -24 0 -23 1
-23 0 -23 1 -23 1 -23 1 -23 1 -23 2 -23 2 -23 2
-23 2 -23 3 -23 4 -11 2 -12 3 -23 4 -23 5 -23 8
-7 2 -16 5 -23 7 -23 8 -6 2 -17 6 -23 8 -23 8
-1 0 -22 16 -6 6 -18 18 0 5 0 22 0 22 0 22
0 22 0 22 0 22 0 22 0 22 0 22 0 22 0 22
0 22 0 22 0 5 2851 1232 156 MP stroke
/c12 { 0.500000 1.000000 0.500000 sr} bdef
c12
23 -2 23 -3 23 -2 23 -3 23 -3 23 -5 4 0 19 -4
23 -5 23 -7 17 -6 6 -3 23 -9 23 -8 5 -3 18 -18
4 -4 19 -19 3 -3 16 -22 4 -9 8 -13 12 -22 4 -7
7 -15 -4 -22 -3 -8 -8 -14 -12 -22 -4 -7 -10 -15 -13 -20
-1 -2 -22 -20 -2 -2 -21 -14 -12 -8 -11 -8 -23 -10 -20 -5
-3 0 -23 -6 -23 -7 -23 -8 -3 -1 -20 -4 -23 -3 -23 -2
-23 -3 -23 -3 -23 -2 -23 -2 -23 -1 -23 -1 -8 -1 -15 -1
-23 -1 -23 0 -23 -1 -23 0 -23 -1 -24 1 -23 0 -23 1
-23 0 -23 0 -23 2 -6 0 -17 1 -23 1 -23 2 -23 1
-23 3 -23 2 -23 3 -23 3 -23 3 -15 3 -8 2 -23 5
-23 5 -23 8 -5 2 -18 8 -23 8 -14 7 -9 6 -15 16
-8 8 -15 14 -8 10 -8 12 -10 22 -6 11 0 11 0 22
0 22 0 22 0 11 2851 1336 100 MP
8 11 14 22 2 3 12 19 11 10 14 12 9 6 23 16
1 0 22 15 23 5 9 3 14 3 23 7 23 7 14 5
9 3 23 2 23 3 23 3 23 3 23 3 23 1 23 1
23 2 20 1 3 0 23 1 23 1 23 0 23 1 23 0
24 1 23 -1 23 0 23 -1 23 0 23 -1 17 -1 6 -1
23 -1 23 -1 23 -1 43 AP
PP
0 sg
0 0 8 11 14 22 2 3 12 19 11 10 14 12 9 6
23 16 1 0 22 15 23 5 9 3 14 3 23 7 23 7
14 5 9 3 23 2 23 3 23 3 23 3 23 3 23 1
23 1 23 2 20 1 3 0 23 1 23 1 23 0 23 1
23 0 24 1 23 -1 23 0 23 -1 23 0 23 -1 17 -1
6 -1 23 -1 23 -1 23 -1 23 -2 23 -3 23 -2 23 -3
23 -3 23 -5 4 0 19 -4 23 -5 23 -7 17 -6 6 -3
23 -9 23 -8 5 -3 18 -18 4 -4 19 -19 3 -3 16 -22
4 -9 8 -13 12 -22 4 -7 7 -15 -4 -22 -3 -8 -8 -14
-12 -22 -4 -7 -10 -15 -13 -20 -1 -2 -22 -20 -2 -2 -21 -14
-12 -8 -11 -8 -23 -10 -20 -5 -3 0 -23 -6 -23 -7 -23 -8
-3 -1 -20 -4 -23 -3 -23 -2 -23 -3 -23 -3 -23 -2 -23 -2
-23 -1 -23 -1 -8 -1 -15 -1 -23 -1 -23 0 -23 -1 -23 0
-23 -1 -24 1 -23 0 -23 1 -23 0 -23 0 -23 2 -6 0
-17 1 -23 1 -23 2 -23 1 -23 3 -23 2 -23 3 -23 3
-23 3 -15 3 -8 2 -23 5 -23 5 -23 8 -5 2 -18 8
-23 8 -14 7 -9 6 -15 16 -8 8 -15 14 -8 10 -8 12
-10 22 -6 11 0 11 0 22 0 22 0 22 0 11 2851 1336 144 MP stroke
/c13 { 1.000000 1.000000 0.000000 sr} bdef
c13
23 1 23 0 23 0 23 1 24 0 23 0 23 -1 23 0
23 -1 23 0 23 -2 23 -1 11 0 12 -1 23 -2 23 -2
23 -3 23 -3 23 -3 23 -5 22 -4 1 0 23 -5 23 -9
17 -8 6 -2 23 -11 14 -9 9 -7 15 -15 8 -7 15 -15
8 -12 5 -10 11 -22 -4 -22 -12 -16 -4 -6 -17 -22 -2 -3
-15 -19 -8 -11 -12 -11 -11 -8 -23 -10 -11 -4 -12 -5 -23 -8
-23 -8 -8 -1 -15 -4 -23 -2 -23 -4 -23 -4 -23 -4 -23 -2
-23 -1 -23 -1 -4 -1 -19 -1 -23 -2 -23 0 -23 -1 -23 0
-23 -1 -23 0 -24 0 -23 0 -23 1 -23 0 -23 1 -23 1
-23 1 -23 1 0 0 -23 2 -23 2 -23 2 -23 3 -23 3
-23 5 -23 4 -10 2 -13 2 -23 8 -23 9 -6 3 -17 8
-23 11 -4 3 -19 18 -4 4 -19 19 -3 3 -14 22 -6 14
-4 8 3 22 1 1 2804 1368 100 MP
16 21 7 9 9 13 14 18 3 4 17 22 3 3 23 10
22 9 1 0 23 9 23 8 17 5 6 2 23 3 23 3
23 4 23 4 23 3 23 1 23 2 14 1 9 0 23 2
23 1 25 AP
PP
0 sg
0 0 16 21 7 9 9 13 14 18 3 4 17 22 3 3
23 10 22 9 1 0 23 9 23 8 17 5 6 2 23 3
23 3 23 4 23 4 23 3 23 1 23 2 14 1 9 0
23 2 23 1 23 1 23 0 23 0 23 1 24 0 23 0
23 -1 23 0 23 -1 23 0 23 -2 23 -1 11 0 12 -1
23 -2 23 -2 23 -3 23 -3 23 -3 23 -5 22 -4 1 0
23 -5 23 -9 17 -8 6 -2 23 -11 14 -9 9 -7 15 -15
8 -7 15 -15 8 -12 5 -10 11 -22 -4 -22 -12 -16 -4 -6
-17 -22 -2 -3 -15 -19 -8 -11 -12 -11 -11 -8 -23 -10 -11 -4
-12 -5 -23 -8 -23 -8 -8 -1 -15 -4 -23 -2 -23 -4 -23 -4
-23 -4 -23 -2 -23 -1 -23 -1 -4 -1 -19 -1 -23 -2 -23 0
-23 -1 -23 0 -23 -1 -23 0 -24 0 -23 0 -23 1 -23 0
-23 1 -23 1 -23 1 -23 1 0 0 -23 2 -23 2 -23 2
-23 3 -23 3 -23 5 -23 4 -10 2 -13 2 -23 8 -23 9
-6 3 -17 8 -23 11 -4 3 -19 18 -4 4 -19 19 -3 3
-14 22 -6 14 -4 8 3 22 1 1 2804 1368 126 MP stroke
/c14 { 1.000000 0.500000 0.000000 sr} bdef
c14
23 14 12 3 11 2 23 5 23 4 23 5 23 4 23 2
7 0 16 2 23 1 23 2 23 1 23 1 23 0 23 1
23 0 24 0 23 0 23 -1 23 0 23 0 23 -1 23 -2
23 -1 23 -2 8 -1 15 -1 23 -2 23 -5 23 -4 23 -5
23 -5 1 0 22 -8 23 -12 3 -2 20 -10 19 -12 4 -3
23 -17 2 -2 21 -18 3 -4 -2 -22 -1 0 -23 -22 0 0
-23 -14 -14 -8 -9 -5 -23 -15 -4 -2 -19 -13 -23 -9 -1 0
-22 -5 -23 -4 -23 -5 -23 -4 -23 -3 -18 -1 -5 -1 -23 -1
-23 -2 -23 -2 -23 0 -23 -1 -23 0 -23 -1 -23 0 -24 0
-23 0 -23 1 -23 0 -23 1 -23 1 -23 1 -23 2 -19 2
-4 0 -23 2 -23 3 -23 5 -23 5 -23 4 -12 3 -11 3
-23 11 -15 8 -8 4 -23 13 -8 5 -15 12 -14 10 -9 7
-14 15 2 22 12 15 2735 1354 100 MP
12 7 11 7 23 13 2 2 21 13 15 9 8 5 7 AP
PP
0 sg
0 0 12 7 11 7 23 13 2 2 21 13 15 9 8 5
23 14 12 3 11 2 23 5 23 4 23 5 23 4 23 2
7 0 16 2 23 1 23 2 23 1 23 1 23 0 23 1
23 0 24 0 23 0 23 -1 23 0 23 0 23 -1 23 -2
23 -1 23 -2 8 -1 15 -1 23 -2 23 -5 23 -4 23 -5
23 -5 1 0 22 -8 23 -12 3 -2 20 -10 19 -12 4 -3
23 -17 2 -2 21 -18 3 -4 -2 -22 -1 0 -23 -22 0 0
-23 -14 -14 -8 -9 -5 -23 -15 -4 -2 -19 -13 -23 -9 -1 0
-22 -5 -23 -4 -23 -5 -23 -4 -23 -3 -18 -1 -5 -1 -23 -1
-23 -2 -23 -2 -23 0 -23 -1 -23 0 -23 -1 -23 0 -24 0
-23 0 -23 1 -23 0 -23 1 -23 1 -23 1 -23 2 -19 2
-4 0 -23 2 -23 3 -23 5 -23 5 -23 4 -12 3 -11 3
-23 11 -15 8 -8 4 -23 13 -8 5 -15 12 -14 10 -9 7
-14 15 2 22 12 15 2735 1354 108 MP stroke
/c15 { 1.000000 0.000000 0.000000 sr} bdef
c15
23 14 11 3 12 3 23 6 23 7 23 6 0 0 23 6
23 3 23 2 23 3 23 2 23 3 23 1 23 0 23 1
23 1 24 0 23 -1 23 0 23 -1 23 -1 23 -1 23 -3
23 -2 23 -3 23 -2 23 -4 15 -4 8 -2 23 -6 23 -6
23 -7 2 -1 21 -8 22 -14 -2 -22 -20 -13 -23 -9 0 0
-23 -6 -23 -6 -23 -7 -11 -3 -12 -4 -23 -3 -23 -3 -23 -2
-23 -3 -23 -3 -23 -1 -23 -1 -23 -1 -23 0 -23 -1 -24 0
-23 1 -23 1 -23 0 -23 1 -23 2 -23 3 -23 2 -23 3
-23 3 -23 5 -4 1 -19 5 -23 6 -23 7 -14 4 -9 3
-23 12 -11 7 3 22 8 5 2643 1364 77 MP
PP
0 sg
0 0 23 14 11 3 12 3 23 6 23 7 23 6 0 0
23 6 23 3 23 2 23 3 23 2 23 3 23 1 23 0
23 1 23 1 24 0 23 -1 23 0 23 -1 23 -1 23 -1
23 -3 23 -2 23 -3 23 -2 23 -4 15 -4 8 -2 23 -6
23 -6 23 -7 2 -1 21 -8 22 -14 -2 -22 -20 -13 -23 -9
0 0 -23 -6 -23 -6 -23 -7 -11 -3 -12 -4 -23 -3 -23 -3
-23 -2 -23 -3 -23 -3 -23 -1 -23 -1 -23 -1 -23 0 -23 -1
-24 0 -23 1 -23 1 -23 0 -23 1 -23 2 -23 3 -23 2
-23 3 -23 3 -23 5 -4 1 -19 5 -23 6 -23 7 -14 4
-9 3 -23 12 -11 7 3 22 8 5 2643 1364 78 MP stroke
/c16 { 0.500000 0.000000 0.000000 sr} bdef
c16
23 0 23 1 23 1 23 1 24 0 23 -1 23 -1 23 0
23 -1 16 -1 -1 -22 -15 -1 -23 -1 -23 0 -23 -1 -23 -1
-24 0 -23 1 -23 1 -23 1 -23 0 -5 1 0 22 5 1
2390 1368 25 MP
PP
0 sg
0 0 23 0 23 1 23 1 23 1 24 0 23 -1 23 -1
23 0 23 -1 16 -1 -1 -22 -15 -1 -23 -1 -23 0 -23 -1
-23 -1 -24 0 -23 1 -23 1 -23 1 -23 0 -5 1 0 22
5 1 2390 1368 26 MP stroke
gr
0 sg
%%IncludeResource: font Helvetica
/Helvetica /ISOLatin1Encoding 168 FMSR
1541 2841 mt
(x\(m\)) s
159 1549 mt -90 rotate
(y\(m\)) s
90 rotate
1654 156 mt
(V) s
%%IncludeResource: font Helvetica
/Helvetica /ISOLatin1Encoding 120 FMSR
553 2516 mt
( ) s
2835 330 mt
( ) s
4 w
DO
SO
6 w
570 2473 mt 2851 2473 L
570 288 mt 2851 288 L
570 2473 mt 570 288 L
2851 2473 mt 2851 288 L
570 2473 mt 2851 2473 L
570 2473 mt 570 288 L
570 2473 mt 570 2450 L
570 288 mt 570 310 L
%%IncludeResource: font Helvetica
/Helvetica /ISOLatin1Encoding 168 FMSR
379 2663 mt
(-20) s
1140 2473 mt 1140 2450 L
1140 288 mt 1140 310 L
949 2663 mt
(-10) s
1710 2473 mt 1710 2450 L
1710 288 mt 1710 310 L
1664 2663 mt
(0) s
2280 2473 mt 2280 2450 L
2280 288 mt 2280 310 L
2187 2663 mt
(10) s
2851 2473 mt 2851 2450 L
2851 288 mt 2851 310 L
2758 2663 mt
(20) s
570 2473 mt 592 2473 L
2851 2473 mt 2828 2473 L
251 2535 mt
(-20) s
570 1926 mt 592 1926 L
2851 1926 mt 2828 1926 L
251 1988 mt
(-10) s
570 1380 mt 592 1380 L
2851 1380 mt 2828 1380 L
442 1442 mt
(0) s
570 834 mt 592 834 L
2851 834 mt 2828 834 L
349 896 mt
(10) s
570 288 mt 592 288 L
2851 288 mt 2828 288 L
349 350 mt
(20) s
570 2473 mt 2851 2473 L
570 288 mt 2851 288 L
570 2473 mt 570 288 L
2851 2473 mt 2851 288 L
1 sg
0 2186 240 0 0 -2186 3032 2474 4 MP
PP
-240 0 0 2186 240 0 0 -2186 3032 2474 5 MP stroke
gs 3032 288 241 2187 rc
/mwscm { [/Indexed /DeviceRGB 63
<
00008f 00009f 0000af 0000bf 0000cf 0000df 0000ef 0000ff 000fff 001fff
002fff 003fff 004fff 005fff 006fff 007fff 008fff 009fff 00afff 00bfff
00cfff 00dfff 00efff 00ffff 0fffef 1fffdf 2fffcf 3fffbf 4fffaf 5fff9f
6fff8f 7fff7f 8fff6f 9fff5f afff4f bfff3f cfff2f dfff1f efff0f ffff00
ffef00 ffdf00 ffcf00 ffbf00 ffaf00 ff9f00 ff8f00 ff7f00 ff6f00 ff5f00
ff4f00 ff3f00 ff2f00 ff1f00 ff0f00 ff0000 ef0000 df0000 cf0000 bf0000
af0000 9f0000 8f0000 7f0000
>
] setcolorspace } bdef mwscm
gs np 3032 288 mt 0 2186 rl 240 0 rl 0 -2186 rl cp c np
[240 0 0 2186 3032 288] cc
<< % Image dictionary
/ImageType 1
/Width 1 /Height 64
/BitsPerComponent 8
/Decode [0 255]
/ImageMatrix [1.000000 0 0 64.000000 0 0]
/DataSource currentfile
/ASCII85Decode filter
/RunLengthDecode filter
>>
image
5<h=p4?GSa3&``Q1c$mA0J>%1/1W2!-mp>f,U4KV+<MXF*#fe6(`*r&'GD)k&.]6[$k!CK#R:P;"9S]+
!.Y
~>
gr
gr
0 sg
2815 156 mt
(NA) s
%%IncludeResource: font Helvetica
/Helvetica /ISOLatin1Encoding 132 FMSR
3048 72 mt
(-1) s
%%IncludeResource: font Helvetica
/Helvetica /ISOLatin1Encoding 168 FMSR
3198 156 mt
(m) s
%%IncludeResource: font Helvetica
/Helvetica /ISOLatin1Encoding 132 FMSR
3337 72 mt
(-3) s
4 w
DO
SO
6 w
3032 2474 mt 3272 2474 L
3032 288 mt 3272 288 L
3032 2474 mt 3032 288 L
3272 2474 mt 3272 288 L
3032 2474 mt 3272 2474 L
3272 2474 mt 3272 288 L
3272 2208 mt 3250 2208 L
3032 2208 mt 3053 2208 L
%%IncludeResource: font Helvetica
/Helvetica /ISOLatin1Encoding 168 FMSR
3306 2270 mt
(0.5) s
3272 1934 mt 3250 1934 L
3032 1934 mt 3053 1934 L
3306 1996 mt
(1) s
3272 1659 mt 3250 1659 L
3032 1659 mt 3053 1659 L
3306 1721 mt
(1.5) s
3272 1385 mt 3250 1385 L
3032 1385 mt 3053 1385 L
3306 1447 mt
(2) s
3272 1111 mt 3250 1111 L
3032 1111 mt 3053 1111 L
3306 1173 mt
(2.5) s
3272 836 mt 3250 836 L
3032 836 mt 3053 836 L
3306 898 mt
(3) s
3272 562 mt 3250 562 L
3032 562 mt 3053 562 L
3306 624 mt
(3.5) s
3272 288 mt 3250 288 L
3032 288 mt 3053 288 L
3306 350 mt
(4) s
3272 234 mt
(x 10) s
%%IncludeResource: font Helvetica
/Helvetica /ISOLatin1Encoding 112 FMSR
3589 130 mt
(-7) s
3032 2474 mt 3272 2474 L
3032 288 mt 3272 288 L
3032 2474 mt 3032 288 L
3272 2474 mt 3272 288 L
end %%Color Dict
eplot
%%EndObject
epage
end
showpage
%%Trailer
%%EOF

108
m3d/test/pipeline/plot_contour.m Executable file
View File

@ -0,0 +1,108 @@
clear all;
%% load closed-form from prism
xyz = load('xyz.dat');
x = xyz(:,1);
y = xyz(:,2);
%% solution
V = load('V.dat');
B = load('B.dat');
T = load('T.dat');
lsize=1.5;
fsize=14;
msize= 6;
%% plot potential
figure('Position',[0 0 400 300]);
[X,Y,Z0] = xyz2XYZ(x, y, V);
contourf(X,Y,Z0);
hcb= colorbar;
xlabel('x(m)','fontsize',fsize);
ylabel('y(m)','fontsize',fsize);
set(gca, 'FontSize', fsize);
title(hcb,'NA^{-1}m^{-3}','fontsize',fsize);
colormap(jet)
title('V','fontsize',fsize);
%% plot field
figure('Position',[0 0 900 200 ]);
for i=1:3
subplot(1,3,i);
[X,Y,Z0] = xyz2XYZ(x, y, B(:,i));
contourf(X,Y,Z0);
hcb=colorbar;
xlabel('x(m)','fontsize',fsize);
set(gca, 'FontSize', fsize);
title(hcb,'nT','fontsize',fsize);
if(i==1)
title('B_{x}','fontsize',fsize);
ylabel('y(m)','fontsize',fsize);
end
if(i==2)
title('B_{y}','fontsize',fsize);
end
if(i==3)
title('B_{z}','fontsize',fsize);
end
colormap(jet);
caxis([-60, 60])
end
%% (xx,xy,xz,yx,yy,yz,zx,zy,zz)
%% plot tensor
figure('Position',[0 0 900 600]);
for i=1:9
if (i==1||i==2||i==3||i==5||i==6||i==9)
subplot(3,3,i);
[X,Y,Z0] = xyz2XYZ(x, y, T(:,i));
contourf(X,Y,Z0);
hcb=colorbar;
title(hcb,'nT/m','fontsize',fsize);
colormap(jet);
caxis([-50, 50])
end
if(i==1)
xlabel('x(m)','fontsize',fsize);
ylabel('y(m)','fontsize',fsize);
set(gca, 'FontSize', fsize);
title('T_{xx}','fontsize',fsize);
end
if(i==2)
set(gca, 'FontSize', fsize);
title('T_{xy}','fontsize',fsize);
end
if(i==3)
set(gca, 'FontSize', fsize);
title('T_{xz}','fontsize',fsize);
end
if(i==5)
xlabel('x(m)','fontsize',fsize);
ylabel('y(m)','fontsize',fsize);
set(gca, 'FontSize', fsize);
title('T_{yy}','fontsize',fsize);
end
if(i==6)
set(gca, 'FontSize', fsize);
title('T_{yz}','fontsize',fsize);
end
if(i==9)
xlabel('x(m)','fontsize',fsize);
ylabel('y(m)','fontsize',fsize);
set(gca, 'FontSize', fsize);
title('T_{zz}','fontsize',fsize);
end
end

442
m3d/test/pipeline/site.dat Executable file
View File

@ -0,0 +1,442 @@
441
0 -20 -20 4
1 -20 -18 4
2 -20 -16 4
3 -20 -14 4
4 -20 -12 4
5 -20 -10 4
6 -20 -8 4
7 -20 -6 4
8 -20 -4 4
9 -20 -2 4
10 -20 0 4
11 -20 2 4
12 -20 4 4
13 -20 6 4
14 -20 8 4
15 -20 10 4
16 -20 12 4
17 -20 14 4
18 -20 16 4
19 -20 18 4
20 -20 20 4
21 -18 -20 4
22 -18 -18 4
23 -18 -16 4
24 -18 -14 4
25 -18 -12 4
26 -18 -10 4
27 -18 -8 4
28 -18 -6 4
29 -18 -4 4
30 -18 -2 4
31 -18 0 4
32 -18 2 4
33 -18 4 4
34 -18 6 4
35 -18 8 4
36 -18 10 4
37 -18 12 4
38 -18 14 4
39 -18 16 4
40 -18 18 4
41 -18 20 4
42 -16 -20 4
43 -16 -18 4
44 -16 -16 4
45 -16 -14 4
46 -16 -12 4
47 -16 -10 4
48 -16 -8 4
49 -16 -6 4
50 -16 -4 4
51 -16 -2 4
52 -16 0 4
53 -16 2 4
54 -16 4 4
55 -16 6 4
56 -16 8 4
57 -16 10 4
58 -16 12 4
59 -16 14 4
60 -16 16 4
61 -16 18 4
62 -16 20 4
63 -14 -20 4
64 -14 -18 4
65 -14 -16 4
66 -14 -14 4
67 -14 -12 4
68 -14 -10 4
69 -14 -8 4
70 -14 -6 4
71 -14 -4 4
72 -14 -2 4
73 -14 0 4
74 -14 2 4
75 -14 4 4
76 -14 6 4
77 -14 8 4
78 -14 10 4
79 -14 12 4
80 -14 14 4
81 -14 16 4
82 -14 18 4
83 -14 20 4
84 -12 -20 4
85 -12 -18 4
86 -12 -16 4
87 -12 -14 4
88 -12 -12 4
89 -12 -10 4
90 -12 -8 4
91 -12 -6 4
92 -12 -4 4
93 -12 -2 4
94 -12 0 4
95 -12 2 4
96 -12 4 4
97 -12 6 4
98 -12 8 4
99 -12 10 4
100 -12 12 4
101 -12 14 4
102 -12 16 4
103 -12 18 4
104 -12 20 4
105 -10 -20 4
106 -10 -18 4
107 -10 -16 4
108 -10 -14 4
109 -10 -12 4
110 -10 -10 4
111 -10 -8 4
112 -10 -6 4
113 -10 -4 4
114 -10 -2 4
115 -10 0 4
116 -10 2 4
117 -10 4 4
118 -10 6 4
119 -10 8 4
120 -10 10 4
121 -10 12 4
122 -10 14 4
123 -10 16 4
124 -10 18 4
125 -10 20 4
126 -8 -20 4
127 -8 -18 4
128 -8 -16 4
129 -8 -14 4
130 -8 -12 4
131 -8 -10 4
132 -8 -8 4
133 -8 -6 4
134 -8 -4 4
135 -8 -2 4
136 -8 0 4
137 -8 2 4
138 -8 4 4
139 -8 6 4
140 -8 8 4
141 -8 10 4
142 -8 12 4
143 -8 14 4
144 -8 16 4
145 -8 18 4
146 -8 20 4
147 -6 -20 4
148 -6 -18 4
149 -6 -16 4
150 -6 -14 4
151 -6 -12 4
152 -6 -10 4
153 -6 -8 4
154 -6 -6 4
155 -6 -4 4
156 -6 -2 4
157 -6 0 4
158 -6 2 4
159 -6 4 4
160 -6 6 4
161 -6 8 4
162 -6 10 4
163 -6 12 4
164 -6 14 4
165 -6 16 4
166 -6 18 4
167 -6 20 4
168 -4 -20 4
169 -4 -18 4
170 -4 -16 4
171 -4 -14 4
172 -4 -12 4
173 -4 -10 4
174 -4 -8 4
175 -4 -6 4
176 -4 -4 4
177 -4 -2 4
178 -4 0 4
179 -4 2 4
180 -4 4 4
181 -4 6 4
182 -4 8 4
183 -4 10 4
184 -4 12 4
185 -4 14 4
186 -4 16 4
187 -4 18 4
188 -4 20 4
189 -2 -20 4
190 -2 -18 4
191 -2 -16 4
192 -2 -14 4
193 -2 -12 4
194 -2 -10 4
195 -2 -8 4
196 -2 -6 4
197 -2 -4 4
198 -2 -2 4
199 -2 0 4
200 -2 2 4
201 -2 4 4
202 -2 6 4
203 -2 8 4
204 -2 10 4
205 -2 12 4
206 -2 14 4
207 -2 16 4
208 -2 18 4
209 -2 20 4
210 0 -20 4
211 0 -18 4
212 0 -16 4
213 0 -14 4
214 0 -12 4
215 0 -10 4
216 0 -8 4
217 0 -6 4
218 0 -4 4
219 0 -2 4
220 0 0 4
221 0 2 4
222 0 4 4
223 0 6 4
224 0 8 4
225 0 10 4
226 0 12 4
227 0 14 4
228 0 16 4
229 0 18 4
230 0 20 4
231 2 -20 4
232 2 -18 4
233 2 -16 4
234 2 -14 4
235 2 -12 4
236 2 -10 4
237 2 -8 4
238 2 -6 4
239 2 -4 4
240 2 -2 4
241 2 0 4
242 2 2 4
243 2 4 4
244 2 6 4
245 2 8 4
246 2 10 4
247 2 12 4
248 2 14 4
249 2 16 4
250 2 18 4
251 2 20 4
252 4 -20 4
253 4 -18 4
254 4 -16 4
255 4 -14 4
256 4 -12 4
257 4 -10 4
258 4 -8 4
259 4 -6 4
260 4 -4 4
261 4 -2 4
262 4 0 4
263 4 2 4
264 4 4 4
265 4 6 4
266 4 8 4
267 4 10 4
268 4 12 4
269 4 14 4
270 4 16 4
271 4 18 4
272 4 20 4
273 6 -20 4
274 6 -18 4
275 6 -16 4
276 6 -14 4
277 6 -12 4
278 6 -10 4
279 6 -8 4
280 6 -6 4
281 6 -4 4
282 6 -2 4
283 6 0 4
284 6 2 4
285 6 4 4
286 6 6 4
287 6 8 4
288 6 10 4
289 6 12 4
290 6 14 4
291 6 16 4
292 6 18 4
293 6 20 4
294 8 -20 4
295 8 -18 4
296 8 -16 4
297 8 -14 4
298 8 -12 4
299 8 -10 4
300 8 -8 4
301 8 -6 4
302 8 -4 4
303 8 -2 4
304 8 0 4
305 8 2 4
306 8 4 4
307 8 6 4
308 8 8 4
309 8 10 4
310 8 12 4
311 8 14 4
312 8 16 4
313 8 18 4
314 8 20 4
315 10 -20 4
316 10 -18 4
317 10 -16 4
318 10 -14 4
319 10 -12 4
320 10 -10 4
321 10 -8 4
322 10 -6 4
323 10 -4 4
324 10 -2 4
325 10 0 4
326 10 2 4
327 10 4 4
328 10 6 4
329 10 8 4
330 10 10 4
331 10 12 4
332 10 14 4
333 10 16 4
334 10 18 4
335 10 20 4
336 12 -20 4
337 12 -18 4
338 12 -16 4
339 12 -14 4
340 12 -12 4
341 12 -10 4
342 12 -8 4
343 12 -6 4
344 12 -4 4
345 12 -2 4
346 12 0 4
347 12 2 4
348 12 4 4
349 12 6 4
350 12 8 4
351 12 10 4
352 12 12 4
353 12 14 4
354 12 16 4
355 12 18 4
356 12 20 4
357 14 -20 4
358 14 -18 4
359 14 -16 4
360 14 -14 4
361 14 -12 4
362 14 -10 4
363 14 -8 4
364 14 -6 4
365 14 -4 4
366 14 -2 4
367 14 0 4
368 14 2 4
369 14 4 4
370 14 6 4
371 14 8 4
372 14 10 4
373 14 12 4
374 14 14 4
375 14 16 4
376 14 18 4
377 14 20 4
378 16 -20 4
379 16 -18 4
380 16 -16 4
381 16 -14 4
382 16 -12 4
383 16 -10 4
384 16 -8 4
385 16 -6 4
386 16 -4 4
387 16 -2 4
388 16 0 4
389 16 2 4
390 16 4 4
391 16 6 4
392 16 8 4
393 16 10 4
394 16 12 4
395 16 14 4
396 16 16 4
397 16 18 4
398 16 20 4
399 18 -20 4
400 18 -18 4
401 18 -16 4
402 18 -14 4
403 18 -12 4
404 18 -10 4
405 18 -8 4
406 18 -6 4
407 18 -4 4
408 18 -2 4
409 18 0 4
410 18 2 4
411 18 4 4
412 18 6 4
413 18 8 4
414 18 10 4
415 18 12 4
416 18 14 4
417 18 16 4
418 18 18 4
419 18 20 4
420 20 -20 4
421 20 -18 4
422 20 -16 4
423 20 -14 4
424 20 -12 4
425 20 -10 4
426 20 -8 4
427 20 -6 4
428 20 -4 4
429 20 -2 4
430 20 0 4
431 20 2 4
432 20 4 4
433 20 6 4
434 20 8 4
435 20 10 4
436 20 12 4
437 20 14 4
438 20 16 4
439 20 18 4
440 20 20 4

441
m3d/test/pipeline/xyz.dat Executable file
View File

@ -0,0 +1,441 @@
-20 -20 4
-20 -18 4
-20 -16 4
-20 -14 4
-20 -12 4
-20 -10 4
-20 -8 4
-20 -6 4
-20 -4 4
-20 -2 4
-20 0 4
-20 2 4
-20 4 4
-20 6 4
-20 8 4
-20 10 4
-20 12 4
-20 14 4
-20 16 4
-20 18 4
-20 20 4
-18 -20 4
-18 -18 4
-18 -16 4
-18 -14 4
-18 -12 4
-18 -10 4
-18 -8 4
-18 -6 4
-18 -4 4
-18 -2 4
-18 0 4
-18 2 4
-18 4 4
-18 6 4
-18 8 4
-18 10 4
-18 12 4
-18 14 4
-18 16 4
-18 18 4
-18 20 4
-16 -20 4
-16 -18 4
-16 -16 4
-16 -14 4
-16 -12 4
-16 -10 4
-16 -8 4
-16 -6 4
-16 -4 4
-16 -2 4
-16 0 4
-16 2 4
-16 4 4
-16 6 4
-16 8 4
-16 10 4
-16 12 4
-16 14 4
-16 16 4
-16 18 4
-16 20 4
-14 -20 4
-14 -18 4
-14 -16 4
-14 -14 4
-14 -12 4
-14 -10 4
-14 -8 4
-14 -6 4
-14 -4 4
-14 -2 4
-14 0 4
-14 2 4
-14 4 4
-14 6 4
-14 8 4
-14 10 4
-14 12 4
-14 14 4
-14 16 4
-14 18 4
-14 20 4
-12 -20 4
-12 -18 4
-12 -16 4
-12 -14 4
-12 -12 4
-12 -10 4
-12 -8 4
-12 -6 4
-12 -4 4
-12 -2 4
-12 0 4
-12 2 4
-12 4 4
-12 6 4
-12 8 4
-12 10 4
-12 12 4
-12 14 4
-12 16 4
-12 18 4
-12 20 4
-10 -20 4
-10 -18 4
-10 -16 4
-10 -14 4
-10 -12 4
-10 -10 4
-10 -8 4
-10 -6 4
-10 -4 4
-10 -2 4
-10 0 4
-10 2 4
-10 4 4
-10 6 4
-10 8 4
-10 10 4
-10 12 4
-10 14 4
-10 16 4
-10 18 4
-10 20 4
-8 -20 4
-8 -18 4
-8 -16 4
-8 -14 4
-8 -12 4
-8 -10 4
-8 -8 4
-8 -6 4
-8 -4 4
-8 -2 4
-8 0 4
-8 2 4
-8 4 4
-8 6 4
-8 8 4
-8 10 4
-8 12 4
-8 14 4
-8 16 4
-8 18 4
-8 20 4
-6 -20 4
-6 -18 4
-6 -16 4
-6 -14 4
-6 -12 4
-6 -10 4
-6 -8 4
-6 -6 4
-6 -4 4
-6 -2 4
-6 0 4
-6 2 4
-6 4 4
-6 6 4
-6 8 4
-6 10 4
-6 12 4
-6 14 4
-6 16 4
-6 18 4
-6 20 4
-4 -20 4
-4 -18 4
-4 -16 4
-4 -14 4
-4 -12 4
-4 -10 4
-4 -8 4
-4 -6 4
-4 -4 4
-4 -2 4
-4 0 4
-4 2 4
-4 4 4
-4 6 4
-4 8 4
-4 10 4
-4 12 4
-4 14 4
-4 16 4
-4 18 4
-4 20 4
-2 -20 4
-2 -18 4
-2 -16 4
-2 -14 4
-2 -12 4
-2 -10 4
-2 -8 4
-2 -6 4
-2 -4 4
-2 -2 4
-2 0 4
-2 2 4
-2 4 4
-2 6 4
-2 8 4
-2 10 4
-2 12 4
-2 14 4
-2 16 4
-2 18 4
-2 20 4
0 -20 4
0 -18 4
0 -16 4
0 -14 4
0 -12 4
0 -10 4
0 -8 4
0 -6 4
0 -4 4
0 -2 4
0 0 4
0 2 4
0 4 4
0 6 4
0 8 4
0 10 4
0 12 4
0 14 4
0 16 4
0 18 4
0 20 4
2 -20 4
2 -18 4
2 -16 4
2 -14 4
2 -12 4
2 -10 4
2 -8 4
2 -6 4
2 -4 4
2 -2 4
2 0 4
2 2 4
2 4 4
2 6 4
2 8 4
2 10 4
2 12 4
2 14 4
2 16 4
2 18 4
2 20 4
4 -20 4
4 -18 4
4 -16 4
4 -14 4
4 -12 4
4 -10 4
4 -8 4
4 -6 4
4 -4 4
4 -2 4
4 0 4
4 2 4
4 4 4
4 6 4
4 8 4
4 10 4
4 12 4
4 14 4
4 16 4
4 18 4
4 20 4
6 -20 4
6 -18 4
6 -16 4
6 -14 4
6 -12 4
6 -10 4
6 -8 4
6 -6 4
6 -4 4
6 -2 4
6 0 4
6 2 4
6 4 4
6 6 4
6 8 4
6 10 4
6 12 4
6 14 4
6 16 4
6 18 4
6 20 4
8 -20 4
8 -18 4
8 -16 4
8 -14 4
8 -12 4
8 -10 4
8 -8 4
8 -6 4
8 -4 4
8 -2 4
8 0 4
8 2 4
8 4 4
8 6 4
8 8 4
8 10 4
8 12 4
8 14 4
8 16 4
8 18 4
8 20 4
10 -20 4
10 -18 4
10 -16 4
10 -14 4
10 -12 4
10 -10 4
10 -8 4
10 -6 4
10 -4 4
10 -2 4
10 0 4
10 2 4
10 4 4
10 6 4
10 8 4
10 10 4
10 12 4
10 14 4
10 16 4
10 18 4
10 20 4
12 -20 4
12 -18 4
12 -16 4
12 -14 4
12 -12 4
12 -10 4
12 -8 4
12 -6 4
12 -4 4
12 -2 4
12 0 4
12 2 4
12 4 4
12 6 4
12 8 4
12 10 4
12 12 4
12 14 4
12 16 4
12 18 4
12 20 4
14 -20 4
14 -18 4
14 -16 4
14 -14 4
14 -12 4
14 -10 4
14 -8 4
14 -6 4
14 -4 4
14 -2 4
14 0 4
14 2 4
14 4 4
14 6 4
14 8 4
14 10 4
14 12 4
14 14 4
14 16 4
14 18 4
14 20 4
16 -20 4
16 -18 4
16 -16 4
16 -14 4
16 -12 4
16 -10 4
16 -8 4
16 -6 4
16 -4 4
16 -2 4
16 0 4
16 2 4
16 4 4
16 6 4
16 8 4
16 10 4
16 12 4
16 14 4
16 16 4
16 18 4
16 20 4
18 -20 4
18 -18 4
18 -16 4
18 -14 4
18 -12 4
18 -10 4
18 -8 4
18 -6 4
18 -4 4
18 -2 4
18 0 4
18 2 4
18 4 4
18 6 4
18 8 4
18 10 4
18 12 4
18 14 4
18 16 4
18 18 4
18 20 4
20 -20 4
20 -18 4
20 -16 4
20 -14 4
20 -12 4
20 -10 4
20 -8 4
20 -6 4
20 -4 4
20 -2 4
20 0 4
20 2 4
20 4 4
20 6 4
20 8 4
20 10 4
20 12 4
20 14 4
20 16 4
20 18 4
20 20 4

6
m3d/test/pipeline/xyz2XYZ.m Executable file
View File

@ -0,0 +1,6 @@
function [X,Y,Z] = xyz2XYZ(x,y,z)
F = TriScatteredInterp(x,y,z);
%% 1D x,y,z to 2D X,Y,Z
[X,Y]= meshgrid(linspace(min(x),max(x),100), linspace(min(y),max(y),100));
Z = F(X, Y);
end

21
m3d/test/prism/B.dat Normal file
View File

@ -0,0 +1,21 @@
1.737757574463652e-10 -635.4085370474393 -212.8584696131428
7.100187505910168e-11 -863.7006228547203 -200.1092298959717
6.971809074841938e-11 -1189.007890611924 -141.7214283010672
-4.39596864735181e-11 -1651.918543074786 10.78045214147956
8.561650212168858e-11 -2298.687469671002 350.1488193308566
9.076487425421862e-11 -3154.961236659576 1043.789659412136
7.697411908173454e-11 -4144.066208409773 2353.372919599165
7.003903682608996e-11 -4918.860355559848 4545.864439676168
6.215104250478429e-11 -4754.740298994076 7508.666465817736
-3.176373552203626e-12 -3007.689004117421 10265.02007584552
-3.970466940254533e-11 -1.092672501958047e-10 11400.03318745997
-5.331013611781753e-11 3007.689004117223 10265.02007584555
-1.222374422006362e-10 4754.740298993823 7508.666465817816
-5.878938049536878e-11 4918.860355559699 4545.864439676241
-1.449220433192904e-10 4144.066208409641 2353.372919599243
-1.796900988261193e-10 3154.961236659423 1043.789659412213
-1.849774373015583e-10 2298.687469670839 350.1488193309253
1.524659305057741e-11 1651.918543074769 10.78045214151214
-2.047205841619739e-10 1189.007890611837 -141.7214283009593
-7.065611356305452e-11 863.7006228546859 -200.1092298958737
-2.23121216888216e-10 635.4085370473767 -212.8584696130135

21
m3d/test/prism/T.dat Normal file
View File

@ -0,0 +1,21 @@
21.12231754000101 -3.019209235818551e-14 -6.886278599503955e-14 3.474158572722716e-14 -63.54910194478789 -0.1839987196832902 1.013296250377459e-14 -0.1839987196833266 42.42678440478725
31.87138101262279 5.624828165360588e-14 6.617444900424221e-14 -1.985233470127266e-14 -90.30444582602237 9.99293632784965 5.004442705945817e-14 9.992936327849796 58.4330648134002
49.29453097814596 1.108422020821057e-13 1.19114008207636e-13 -9.347140921849213e-14 -128.8385075423322 31.51421540285394 2.183756817139993e-13 31.5142154028544 79.5439765641856
78.12325569581066 -3.805030817743927e-14 -1.621274000603934e-13 -1.48892510259545e-13 -182.4574255685077 75.12864161221496 4.880365614062863e-14 75.12864161221508 104.334169872696
126.4986335395693 -1.224227306578481e-13 -2.216844041642114e-13 -8.271806125530277e-14 -250.5577297032963 160.2435924801685 1.753622898612419e-13 160.2435924801684 124.0590961637267
207.6337869138934 -9.595295105615121e-14 -8.106370003019671e-14 -4.367513634279986e-13 -317.0213860559829 317.0213860559825 9.098986738083304e-14 317.0213860559826 109.3875991420891
339.6486195020142 -1.323488980084844e-14 0 -8.602678370551488e-14 -324.2013637302235 572.972272004424 -3.110199103199384e-13 572.9722720044236 -15.44725577179146
536.5279311516452 2.051407919131509e-13 1.323488980084844e-13 1.522012327097571e-13 -149.7675027828188 886.3048081641168 -5.161607022330893e-13 886.3048081641166 -386.7604283688267
780.8632702299377 1.455837878093329e-13 2.646977960169689e-14 6.617444900424221e-14 301.7336734016437 1032.383272758852 6.617444900424221e-14 1032.383272758853 -1082.596943631582
997.1209753131577 3.308722450212111e-15 -1.058791184067875e-13 8.271806125530277e-14 844.5477841780263 717.9269806455579 1.323488980084844e-13 717.9269806455579 -1841.668759491184
1084.557107935641 0 -1.588186776101813e-13 4.301339185275744e-14 1084.557107935641 2.249931266144235e-13 -2.911675756186657e-13 1.852884572118782e-13 -2169.114215871282
997.1209753131577 -1.257314531080602e-13 -6.617444900424221e-14 -6.617444900424221e-14 844.5477841780263 -717.9269806455578 -2.646977960169689e-13 -717.9269806455573 -1841.668759491184
780.8632702299373 -1.654361225106055e-13 -9.26442286059391e-14 3.970466940254533e-14 301.7336734016437 -1032.383272758852 -1.058791184067875e-13 -1032.383272758853 -1082.596943631582
536.5279311516449 -1.78671012311454e-13 2.845501307182415e-13 2.249931266144235e-13 -149.7675027828188 -886.3048081641169 3.639594695233322e-13 -886.3048081641166 -386.7604283688262
339.6486195020144 -1.919059021123024e-13 1.422750653591208e-13 -6.28657265540301e-14 -324.2013637302236 -572.9722720044241 1.985233470127266e-13 -572.9722720044239 -15.44725577179121
207.6337869138933 1.654361225106055e-14 -1.20768369432742e-13 0 -317.0213860559826 -317.0213860559829 -2.804142276554764e-13 -317.0213860559826 109.3875991420888
126.4986335395695 -1.058791184067875e-13 1.712263867984767e-13 -1.48892510259545e-14 -250.5577297032962 -160.2435924801688 -1.745351092486888e-13 -160.2435924801684 124.0590961637264
78.12325569581127 8.271806125530277e-16 2.067951531382569e-14 -1.455837878093329e-13 -182.4574255685078 -75.12864161221478 1.77843831698901e-13 -75.12864161221437 104.3341698726953
49.29453097814511 1.079470699381701e-13 -4.264116057710858e-13 -1.468245587281624e-13 -128.8385075423318 -31.51421540285424 1.294537658645488e-13 -31.51421540285419 79.54397656418534
31.8713810126225 -1.137373342260413e-13 1.178732372888064e-13 -1.364848010712496e-14 -90.30444582602198 -9.992936327849893 7.320548421094295e-14 -9.992936327850073 58.43306481340039
21.12231754000106 -6.369290716658313e-14 9.822769774067204e-14 3.019209235818551e-14 -63.54910194478767 0.1839987196831578 2.460862322345257e-14 0.1839987196832273 42.4267844047873

21
m3d/test/prism/V.dat Normal file
View File

@ -0,0 +1,21 @@
7.945192481831718e-06
1.017383329478892e-05
1.322404102437235e-05
1.744522272350393e-05
2.331989022427822e-05
3.144984660923422e-05
4.239139532730504e-05
5.611494310888429e-05
7.096632415803106e-05
8.302285058871522e-05
8.771664564788265e-05
8.302285058871541e-05
7.096632415803139e-05
5.611494310888459e-05
4.239139532730563e-05
3.144984660923555e-05
2.331989022428026e-05
1.744522272350437e-05
1.322404102437398e-05
1.017383329478864e-05
7.94519248183215e-06

7
m3d/test/prism/cube.ele Executable file
View File

@ -0,0 +1,7 @@
6
0 2 0 3 7 0 0 200
1 2 0 7 6 0 0 200
2 5 4 0 6 0 0 200
3 0 4 7 6 0 0 200
4 0 2 1 6 0 0 200
5 5 0 1 6 0 0 200

10
m3d/test/prism/cube.node Executable file
View File

@ -0,0 +1,10 @@
8
0 -5 5 0
1 -5 -5 0
2 5 -5 0
3 5 5 0
4 -5 5 -10
5 -5 -5 -10
6 5 -5 -10
7 5 5 -10

View File

@ -0,0 +1,21 @@
0 -30 0 21.122317540001099 0 0 0 -63.549101944787999 -0.18399871968333148 0 -0.18399871968333148 42.4267844047869
0 -27 0 31.871381012622496 0 0 0 -90.304445826022018 9.992936327849824 0 9.992936327849824 58.433064813399525
0 -24 0 49.29453097814573 0 0 0 -128.8385075423322 31.51421540285429 0 31.51421540285429 79.543976564186465
0 -21 0 78.123255695811622 0 0 0 -182.45742556850811 75.12864161221475 0 75.12864161221475 104.33416987269649
0 -18 0 126.49863353956923 0 0 0 -250.55772970329625 160.24359248016859 0 160.24359248016859 124.05909616372702
0 -15 0 207.6337869138932 0 0 0 -317.02138605598282 317.02138605598282 0 317.02138605598282 109.38759914208961
0 -12 0 339.64861950201418 0 0 0 -324.20136373022308 572.97227200442421 0 572.97227200442421 -15.447255771791106
0 -9 0 536.52793115164491 0 0 0 -149.76750278281909 886.30480816411728 0 886.30480816411728 -386.76042836882584
0 -6 0 780.86327022993771 0 0 0 301.73367340164367 1032.3832727588522 0 1032.3832727588522 -1082.5969436315813
0 -3 0 997.12097531315806 0 0 0 844.54778417802595 717.92698064555793 0 717.92698064555793 -1841.6687594911841
0 0 0 1084.5571079356412 0 0 0 1084.5571079356412 0 0 0 -2169.1142158712823
0 3 0 997.12097531315771 0 0 0 844.54778417802595 -717.92698064555793 0 -717.92698064555793 -1841.6687594911837
0 6 0 780.86327022993726 0 0 0 301.73367340164378 -1032.3832727588526 0 -1032.3832727588526 -1082.5969436315811
0 9 0 536.52793115164468 0 0 0 -149.76750278281909 -886.3048081641175 0 -886.3048081641175 -386.76042836882561
0 12 0 339.64861950201595 0 0 0 -324.20136373022308 -572.97227200442421 0 -572.97227200442421 -15.447255771792868
0 15 0 207.63378691389613 0 0 0 -317.02138605598282 -317.02138605598282 0 -317.02138605598282 109.38759914208669
0 18 0 126.4986335395718 0 0 0 -250.55772970329625 -160.24359248016853 0 -160.24359248016853 124.05909616372445
0 21 0 78.123255695812801 0 0 0 -182.45742556850811 -75.128641612214707 0 -75.128641612214707 104.33416987269531
0 24 0 49.294530978142291 0 0 0 -128.83850754233234 -31.514215402854362 0 -31.514215402854362 79.543976564190046
0 27 0 31.871381012621434 0 0 0 -90.304445826022018 -9.9929363278497902 0 -9.9929363278497902 58.433064813400584
0 30 0 21.122317539998271 0 0 0 -63.549101944787999 0.18399871968336617 0 0.18399871968336617 42.426784404789728

View File

@ -0,0 +1,77 @@
clear all;
%% load closed-form from prism
xyz = load('xyz.dat');
x = xyz(:,1);
y = xyz(:,2);
%% solution
T = load('T.dat'); %% our solutions
T2 = load('heath2005_result.dat'); %% reference solutions from prism
lsize=1.5;
fsize=11;
msize= 4;
%% (xx,xy,xz,yx,yy,yz,zx,zy,zz) in T.dat
%% plot tensor (xx,yy,zz)
figure('Position',[0 0 800 600]);
subplot(3,2,1);
plot(y, T(:,1),'ko', y, T2(:,4), 'k-', 'MarkerSize', msize, 'LineWidth', lsize);
ylabel('T_{xx}(nT/m)','FontSize', fsize);
set(gca,'fontsize',fsize);
subplot(3,2,2);
plot(y, (T(:,1)-T2(:,4))./T2(:,4)*100, 'ko', 'MarkerSize', msize, 'LineWidth', lsize);
ylabel('Relative error of T_{xx} (%)','FontSize', fsize);
set(gca,'fontsize',fsize);
subplot(3,2,3);
plot(y, T(:,5), 'ko', y, T2(:,8), 'k-', 'MarkerSize', msize, 'LineWidth', lsize);
ylabel({'T_{yy}(nT/m)'},'FontSize', fsize);
set(gca,'fontsize',fsize);
subplot(3,2,4);
plot(y, (T(:,5)-T2(:,8))./T2(:,8)*100, 'ko', 'MarkerSize', msize, 'LineWidth', lsize);
ylabel('Relative error of T_{yy} (%)','FontSize', fsize);
set(gca,'fontsize',fsize);
subplot(3,2,5);
plot(y, T(:,9), 'ko', y, T2(:,12), 'k-', 'MarkerSize', msize, 'LineWidth', lsize);
xlabel('y(m)','FontSize', fsize);
ylabel({'T_{zz}(nT/m)'},'FontSize', fsize);
ylim([-5000,1000]);
hl=legend('Our closed-form solutions', 'Closed-form solutions for prism');
set(hl, 'Box', 'off', 'location', 'Best','FontSize', fsize) ;
set(gca,'fontsize',fsize);
subplot(3,2,6);
plot(y, (T(:,9)-T2(:,12))./T2(:,12)*100, 'ko', 'MarkerSize', msize, 'LineWidth', lsize);
xlabel('y(m)','FontSize', fsize);
ylabel('Relative error of T_{zz} (%)','FontSize', fsize);
set(gca,'fontsize',fsize);
%% plot tensor (yz)
figure('Position',[0 0 800 250]);
subplot(1,2,1);
plot(y, T(:,6),'ko', y, T2(:,9), 'k-', 'MarkerSize', msize, 'LineWidth', lsize);
ylabel({'T_{yz}(nT/m)'},'FontSize', fsize);
ylim([-1500,2000]);
hl=legend('Our closed-form solutions', 'Closed-form solutions for prism');
set(hl, 'Box', 'off', 'location', 'Best','FontSize', fsize) ;
xlabel('y(m)','FontSize', fsize);
set(gca,'fontsize',fsize);
subplot(1,2,2);
plot(y, (T(:,6)-T2(:,9))./T2(:,9)*100, 'ko', 'MarkerSize', msize, 'LineWidth', lsize);
ylabel('Relative error of T_{yz} (%)','FontSize', fsize);
xlabel('y(m)','FontSize', fsize);
set(gca,'fontsize',fsize);

23
m3d/test/prism/site.dat Executable file
View File

@ -0,0 +1,23 @@
21
0 0 -30 10
1 0 -27 10
2 0 -24 10
3 0 -21 10
4 0 -18 10
5 0 -15 10
6 0 -12 10
7 0 -9 10
8 0 -6 10
9 0 -3 10
10 0 0 10
11 0 3 10
12 0 6 10
13 0 9 10
14 0 12 10
15 0 15 10
16 0 18 10
17 0 21 10
18 0 24 10
19 0 27 10
20 0 30 10

View File

@ -0,0 +1,950 @@
%!PS-Adobe-3.0 EPSF-3.0
%%Creator: MATLAB, The Mathworks, Inc. Version 7.9.0.529 (R2009b). Operating System: Linux 4.6.4-201.fc23.x86_64 #1 SMP Tue Jul 12 11:43:59 UTC 2016 x86_64.
%%Title: /home/renzh/code/m3d2geophysics/m3d/test/prism/solution_one_profile.eps
%%CreationDate: 02/26/2017 13:42:23
%%DocumentNeededFonts: Helvetica
%%DocumentProcessColors: Cyan Magenta Yellow Black
%%LanguageLevel: 2
%%Pages: 1
%%BoundingBox: -13 156 626 636
%%EndComments
%%BeginProlog
% MathWorks dictionary
/MathWorks 160 dict begin
% definition operators
/bdef {bind def} bind def
/ldef {load def} bind def
/xdef {exch def} bdef
/xstore {exch store} bdef
% operator abbreviations
/c /clip ldef
/cc /concat ldef
/cp /closepath ldef
/gr /grestore ldef
/gs /gsave ldef
/mt /moveto ldef
/np /newpath ldef
/cm /currentmatrix ldef
/sm /setmatrix ldef
/rm /rmoveto ldef
/rl /rlineto ldef
/s {show newpath} bdef
/sc {setcmykcolor} bdef
/sr /setrgbcolor ldef
/sg /setgray ldef
/w /setlinewidth ldef
/j /setlinejoin ldef
/cap /setlinecap ldef
/rc {rectclip} bdef
/rf {rectfill} bdef
% page state control
/pgsv () def
/bpage {/pgsv save def} bdef
/epage {pgsv restore} bdef
/bplot /gsave ldef
/eplot {stroke grestore} bdef
% orientation switch
/portraitMode 0 def /landscapeMode 1 def /rotateMode 2 def
% coordinate system mappings
/dpi2point 0 def
% font control
/FontSize 0 def
/FMS {/FontSize xstore findfont [FontSize 0 0 FontSize neg 0 0]
makefont setfont} bdef
/reencode {exch dup where {pop load} {pop StandardEncoding} ifelse
exch dup 3 1 roll findfont dup length dict begin
{ 1 index /FID ne {def}{pop pop} ifelse } forall
/Encoding exch def currentdict end definefont pop} bdef
/isroman {findfont /CharStrings get /Agrave known} bdef
/FMSR {3 1 roll 1 index dup isroman {reencode} {pop pop} ifelse
exch FMS} bdef
/csm {1 dpi2point div -1 dpi2point div scale neg translate
dup landscapeMode eq {pop -90 rotate}
{rotateMode eq {90 rotate} if} ifelse} bdef
% line types: solid, dotted, dashed, dotdash
/SO { [] 0 setdash } bdef
/DO { [.5 dpi2point mul 4 dpi2point mul] 0 setdash } bdef
/DA { [6 dpi2point mul] 0 setdash } bdef
/DD { [.5 dpi2point mul 4 dpi2point mul 6 dpi2point mul 4
dpi2point mul] 0 setdash } bdef
% macros for lines and objects
/L {lineto stroke} bdef
/MP {3 1 roll moveto 1 sub {rlineto} repeat} bdef
/AP {{rlineto} repeat} bdef
/PDlw -1 def
/W {/PDlw currentlinewidth def setlinewidth} def
/PP {closepath eofill} bdef
/DP {closepath stroke} bdef
/MR {4 -2 roll moveto dup 0 exch rlineto exch 0 rlineto
neg 0 exch rlineto closepath} bdef
/FR {MR stroke} bdef
/PR {MR fill} bdef
/L1i {{currentfile picstr readhexstring pop} image} bdef
/tMatrix matrix def
/MakeOval {newpath tMatrix currentmatrix pop translate scale
0 0 1 0 360 arc tMatrix setmatrix} bdef
/FO {MakeOval stroke} bdef
/PO {MakeOval fill} bdef
/PD {currentlinewidth 2 div 0 360 arc fill
PDlw -1 eq not {PDlw w /PDlw -1 def} if} def
/FA {newpath tMatrix currentmatrix pop translate scale
0 0 1 5 -2 roll arc tMatrix setmatrix stroke} bdef
/PA {newpath tMatrix currentmatrix pop translate 0 0 moveto scale
0 0 1 5 -2 roll arc closepath tMatrix setmatrix fill} bdef
/FAn {newpath tMatrix currentmatrix pop translate scale
0 0 1 5 -2 roll arcn tMatrix setmatrix stroke} bdef
/PAn {newpath tMatrix currentmatrix pop translate 0 0 moveto scale
0 0 1 5 -2 roll arcn closepath tMatrix setmatrix fill} bdef
/vradius 0 def /hradius 0 def /lry 0 def
/lrx 0 def /uly 0 def /ulx 0 def /rad 0 def
/MRR {/vradius xdef /hradius xdef /lry xdef /lrx xdef /uly xdef
/ulx xdef newpath tMatrix currentmatrix pop ulx hradius add uly
vradius add translate hradius vradius scale 0 0 1 180 270 arc
tMatrix setmatrix lrx hradius sub uly vradius add translate
hradius vradius scale 0 0 1 270 360 arc tMatrix setmatrix
lrx hradius sub lry vradius sub translate hradius vradius scale
0 0 1 0 90 arc tMatrix setmatrix ulx hradius add lry vradius sub
translate hradius vradius scale 0 0 1 90 180 arc tMatrix setmatrix
closepath} bdef
/FRR {MRR stroke } bdef
/PRR {MRR fill } bdef
/MlrRR {/lry xdef /lrx xdef /uly xdef /ulx xdef /rad lry uly sub 2 div def
newpath tMatrix currentmatrix pop ulx rad add uly rad add translate
rad rad scale 0 0 1 90 270 arc tMatrix setmatrix lrx rad sub lry rad
sub translate rad rad scale 0 0 1 270 90 arc tMatrix setmatrix
closepath} bdef
/FlrRR {MlrRR stroke } bdef
/PlrRR {MlrRR fill } bdef
/MtbRR {/lry xdef /lrx xdef /uly xdef /ulx xdef /rad lrx ulx sub 2 div def
newpath tMatrix currentmatrix pop ulx rad add uly rad add translate
rad rad scale 0 0 1 180 360 arc tMatrix setmatrix lrx rad sub lry rad
sub translate rad rad scale 0 0 1 0 180 arc tMatrix setmatrix
closepath} bdef
/FtbRR {MtbRR stroke } bdef
/PtbRR {MtbRR fill } bdef
/stri 6 array def /dtri 6 array def
/smat 6 array def /dmat 6 array def
/tmat1 6 array def /tmat2 6 array def /dif 3 array def
/asub {/ind2 exch def /ind1 exch def dup dup
ind1 get exch ind2 get sub exch } bdef
/tri_to_matrix {
2 0 asub 3 1 asub 4 0 asub 5 1 asub
dup 0 get exch 1 get 7 -1 roll astore } bdef
/compute_transform {
dmat dtri tri_to_matrix tmat1 invertmatrix
smat stri tri_to_matrix tmat2 concatmatrix } bdef
/ds {stri astore pop} bdef
/dt {dtri astore pop} bdef
/db {2 copy /cols xdef /rows xdef mul dup 3 mul string
currentfile
3 index 0 eq {/ASCIIHexDecode filter}
{/ASCII85Decode filter 3 index 2 eq {/RunLengthDecode filter} if }
ifelse exch readstring pop
dup 0 3 index getinterval /rbmap xdef
dup 2 index dup getinterval /gbmap xdef
1 index dup 2 mul exch getinterval /bbmap xdef pop pop}bdef
/it {gs np dtri aload pop moveto lineto lineto cp c
cols rows 8 compute_transform
rbmap gbmap bbmap true 3 colorimage gr}bdef
/il {newpath moveto lineto stroke}bdef
currentdict end def
%%EndProlog
%%BeginSetup
MathWorks begin
0 cap
end
%%EndSetup
%%Page: 1 1
%%BeginPageSetup
%%PageBoundingBox: -13 156 626 636
MathWorks begin
bpage
%%EndPageSetup
%%BeginObject: obj1
bplot
/dpi2point 12 def
portraitMode -0156 7632 csm
0 0 7679 5760 rc
85 dict begin %Colortable dictionary
/c0 { 0.000000 0.000000 0.000000 sr} bdef
/c1 { 1.000000 1.000000 1.000000 sr} bdef
/c2 { 0.900000 0.000000 0.000000 sr} bdef
/c3 { 0.000000 0.820000 0.000000 sr} bdef
/c4 { 0.000000 0.000000 0.800000 sr} bdef
/c5 { 0.910000 0.820000 0.320000 sr} bdef
/c6 { 1.000000 0.260000 0.820000 sr} bdef
/c7 { 0.000000 0.820000 0.820000 sr} bdef
c0
1 j
1 sg
0 0 7680 5761 rf
6 w
0 1200 2570 0 0 -1200 998 1675 4 MP
PP
-2570 0 0 1200 2570 0 0 -1200 998 1675 5 MP stroke
4 w
DO
SO
6 w
0 sg
998 1675 mt 3568 1675 L
998 475 mt 3568 475 L
998 1675 mt 998 475 L
3568 1675 mt 3568 475 L
998 1675 mt 3568 1675 L
998 1675 mt 998 475 L
998 1675 mt 998 1649 L
998 475 mt 998 500 L
%%IncludeResource: font Helvetica
/Helvetica /ISOLatin1Encoding 132 FMSR
849 1831 mt
(-30) s
1426 1675 mt 1426 1649 L
1426 475 mt 1426 500 L
1277 1831 mt
(-20) s
1854 1675 mt 1854 1649 L
1854 475 mt 1854 500 L
1705 1831 mt
(-10) s
2283 1675 mt 2283 1649 L
2283 475 mt 2283 500 L
2247 1831 mt
(0) s
2711 1675 mt 2711 1649 L
2711 475 mt 2711 500 L
2638 1831 mt
(10) s
3139 1675 mt 3139 1649 L
3139 475 mt 3139 500 L
3066 1831 mt
(20) s
3568 1675 mt 3568 1649 L
3568 475 mt 3568 500 L
3495 1831 mt
(30) s
998 1675 mt 1023 1675 L
3568 1675 mt 3542 1675 L
890 1723 mt
(0) s
998 1275 mt 1023 1275 L
3568 1275 mt 3542 1275 L
743 1323 mt
(500) s
998 875 mt 1023 875 L
3568 875 mt 3542 875 L
670 923 mt
(1000) s
998 475 mt 1023 475 L
3568 475 mt 3542 475 L
670 523 mt
(1500) s
998 1675 mt 3568 1675 L
998 475 mt 3568 475 L
998 1675 mt 998 475 L
3568 1675 mt 3568 475 L
gs 998 475 2571 1201 rc
18 w
gr
18 w
gs 930 739 2707 988 rc
24 24 998 1658 FO
24 24 1126 1649 FO
24 24 1255 1635 FO
24 24 1383 1612 FO
24 24 1512 1573 FO
24 24 1640 1508 FO
24 24 1769 1403 FO
24 24 1897 1245 FO
24 24 2026 1050 FO
24 24 2154 877 FO
24 24 2283 807 FO
24 24 2411 877 FO
24 24 2540 1050 FO
24 24 2668 1245 FO
24 24 2797 1403 FO
24 24 2925 1508 FO
24 24 3054 1573 FO
24 24 3182 1612 FO
24 24 3311 1635 FO
24 24 3439 1649 FO
24 24 3568 1658 FO
gr
gs 998 475 2571 1201 rc
129 9 128 14 129 23 128 39 129 65 128 105 129 158 128 195
129 173 128 70 129 -70 128 -173 129 -195 128 -158 129 -105 128 -65
129 -39 128 -23 129 -14 128 -9 998 1658 21 MP stroke
gr
528 1356 mt -90 rotate
(T) s
90 rotate
%%IncludeResource: font Helvetica
/Helvetica /ISOLatin1Encoding 96 FMSR
594 1276 mt -90 rotate
(xx) s
90 rotate
%%IncludeResource: font Helvetica
/Helvetica /ISOLatin1Encoding 132 FMSR
528 1180 mt -90 rotate
(\(nT/m\)) s
90 rotate
6 w
1 sg
0 1200 2569 0 0 -1200 4380 1675 4 MP
PP
-2569 0 0 1200 2569 0 0 -1200 4380 1675 5 MP stroke
4 w
DO
SO
6 w
0 sg
4380 1675 mt 6949 1675 L
4380 475 mt 6949 475 L
4380 1675 mt 4380 475 L
6949 1675 mt 6949 475 L
4380 1675 mt 6949 1675 L
4380 1675 mt 4380 475 L
4380 1675 mt 4380 1649 L
4380 475 mt 4380 500 L
4231 1831 mt
(-30) s
4808 1675 mt 4808 1649 L
4808 475 mt 4808 500 L
4659 1831 mt
(-20) s
5236 1675 mt 5236 1649 L
5236 475 mt 5236 500 L
5087 1831 mt
(-10) s
5664 1675 mt 5664 1649 L
5664 475 mt 5664 500 L
5628 1831 mt
(0) s
6092 1675 mt 6092 1649 L
6092 475 mt 6092 500 L
6019 1831 mt
(10) s
6520 1675 mt 6520 1649 L
6520 475 mt 6520 500 L
6447 1831 mt
(20) s
6949 1675 mt 6949 1649 L
6949 475 mt 6949 500 L
6876 1831 mt
(30) s
4380 1675 mt 4405 1675 L
6949 1675 mt 6923 1675 L
4195 1723 mt
(-5) s
4380 1375 mt 4405 1375 L
6949 1375 mt 6923 1375 L
4272 1423 mt
(0) s
4380 1075 mt 4405 1075 L
6949 1075 mt 6923 1075 L
4272 1123 mt
(5) s
4380 775 mt 4405 775 L
6949 775 mt 6923 775 L
4199 823 mt
(10) s
4380 475 mt 4405 475 L
6949 475 mt 6923 475 L
4199 523 mt
(15) s
4380 421 mt
(x 10) s
%%IncludeResource: font Helvetica
/Helvetica /ISOLatin1Encoding 88 FMSR
4629 340 mt
(-12) s
4380 1675 mt 6949 1675 L
4380 475 mt 6949 475 L
4380 1675 mt 4380 475 L
6949 1675 mt 6949 475 L
gs 4380 475 2570 1201 rc
18 w
gr
18 w
gs 4312 514 2706 1047 rc
24 24 4380 1400 FO
24 24 4508 1319 FO
24 24 4636 1347 FO
24 24 4765 1449 FO
24 24 4893 1371 FO
24 24 5022 1369 FO
24 24 5150 1375 FO
24 24 5279 1371 FO
24 24 5407 1375 FO
24 24 5536 1377 FO
24 24 5664 1376 FO
24 24 5792 1375 FO
24 24 5921 1375 FO
24 24 6049 1372 FO
24 24 6178 1402 FO
24 24 6306 1457 FO
24 24 6435 1484 FO
24 24 6563 1492 FO
24 24 6692 1031 FO
24 24 6820 1174 FO
24 24 6949 582 FO
gr
gs 4380 475 2570 1201 rc
gr
%%IncludeResource: font Helvetica
/Helvetica /ISOLatin1Encoding 132 FMSR
4053 1767 mt -90 rotate
(Relative error of T) s
90 rotate
%%IncludeResource: font Helvetica
/Helvetica /ISOLatin1Encoding 96 FMSR
4119 721 mt -90 rotate
(xx) s
90 rotate
%%IncludeResource: font Helvetica
/Helvetica /ISOLatin1Encoding 132 FMSR
4053 625 mt -90 rotate
( \(%\)) s
90 rotate
6 w
1 sg
0 1200 2570 0 0 -1200 998 3401 4 MP
PP
-2570 0 0 1200 2570 0 0 -1200 998 3401 5 MP stroke
4 w
DO
SO
6 w
0 sg
998 3401 mt 3568 3401 L
998 2201 mt 3568 2201 L
998 3401 mt 998 2201 L
3568 3401 mt 3568 2201 L
998 3401 mt 3568 3401 L
998 3401 mt 998 2201 L
998 3401 mt 998 3375 L
998 2201 mt 998 2226 L
849 3557 mt
(-30) s
1426 3401 mt 1426 3375 L
1426 2201 mt 1426 2226 L
1277 3557 mt
(-20) s
1854 3401 mt 1854 3375 L
1854 2201 mt 1854 2226 L
1705 3557 mt
(-10) s
2283 3401 mt 2283 3375 L
2283 2201 mt 2283 2226 L
2247 3557 mt
(0) s
2711 3401 mt 2711 3375 L
2711 2201 mt 2711 2226 L
2638 3557 mt
(10) s
3139 3401 mt 3139 3375 L
3139 2201 mt 3139 2226 L
3066 3557 mt
(20) s
3568 3401 mt 3568 3375 L
3568 2201 mt 3568 2226 L
3495 3557 mt
(30) s
998 3401 mt 1023 3401 L
3568 3401 mt 3542 3401 L
666 3449 mt
(-500) s
998 3101 mt 1023 3101 L
3568 3101 mt 3542 3101 L
890 3149 mt
(0) s
998 2801 mt 1023 2801 L
3568 2801 mt 3542 2801 L
743 2849 mt
(500) s
998 2501 mt 1023 2501 L
3568 2501 mt 3542 2501 L
670 2549 mt
(1000) s
998 2201 mt 1023 2201 L
3568 2201 mt 3542 2201 L
670 2249 mt
(1500) s
998 3401 mt 3568 3401 L
998 2201 mt 3568 2201 L
998 3401 mt 998 2201 L
3568 3401 mt 3568 2201 L
gs 998 2201 2571 1201 rc
18 w
gr
18 w
gs 930 2382 2707 982 rc
24 24 998 3139 FO
24 24 1126 3155 FO
24 24 1255 3178 FO
24 24 1383 3210 FO
24 24 1512 3251 FO
24 24 1640 3291 FO
24 24 1769 3295 FO
24 24 1897 3190 FO
24 24 2026 2919 FO
24 24 2154 2594 FO
24 24 2283 2450 FO
24 24 2411 2594 FO
24 24 2540 2919 FO
24 24 2668 3190 FO
24 24 2797 3295 FO
24 24 2925 3291 FO
24 24 3054 3251 FO
24 24 3182 3210 FO
24 24 3311 3178 FO
24 24 3439 3155 FO
24 24 3568 3139 FO
gr
gs 998 2201 2571 1201 rc
129 -16 128 -23 129 -32 128 -41 129 -40 128 -4 129 105 128 271
129 325 128 144 129 -144 128 -325 129 -271 128 -105 129 4 128 40
129 41 128 32 129 23 128 16 998 3139 21 MP stroke
gr
524 3082 mt -90 rotate
(T) s
90 rotate
%%IncludeResource: font Helvetica
/Helvetica /ISOLatin1Encoding 96 FMSR
590 3002 mt -90 rotate
(yy) s
90 rotate
%%IncludeResource: font Helvetica
/Helvetica /ISOLatin1Encoding 132 FMSR
524 2906 mt -90 rotate
(\(nT/m\)) s
90 rotate
6 w
1 sg
0 1200 2569 0 0 -1200 4380 3401 4 MP
PP
-2569 0 0 1200 2569 0 0 -1200 4380 3401 5 MP stroke
4 w
DO
SO
6 w
0 sg
4380 3401 mt 6949 3401 L
4380 2201 mt 6949 2201 L
4380 3401 mt 4380 2201 L
6949 3401 mt 6949 2201 L
4380 3401 mt 6949 3401 L
4380 3401 mt 4380 2201 L
4380 3401 mt 4380 3375 L
4380 2201 mt 4380 2226 L
4231 3557 mt
(-30) s
4808 3401 mt 4808 3375 L
4808 2201 mt 4808 2226 L
4659 3557 mt
(-20) s
5236 3401 mt 5236 3375 L
5236 2201 mt 5236 2226 L
5087 3557 mt
(-10) s
5664 3401 mt 5664 3375 L
5664 2201 mt 5664 2226 L
5628 3557 mt
(0) s
6092 3401 mt 6092 3375 L
6092 2201 mt 6092 2226 L
6019 3557 mt
(10) s
6520 3401 mt 6520 3375 L
6520 2201 mt 6520 2226 L
6447 3557 mt
(20) s
6949 3401 mt 6949 3375 L
6949 2201 mt 6949 2226 L
6876 3557 mt
(30) s
4380 3401 mt 4405 3401 L
6949 3401 mt 6923 3401 L
4122 3449 mt
(-10) s
4380 3001 mt 4405 3001 L
6949 3001 mt 6923 3001 L
4195 3049 mt
(-5) s
4380 2601 mt 4405 2601 L
6949 2601 mt 6923 2601 L
4272 2649 mt
(0) s
4380 2201 mt 4405 2201 L
6949 2201 mt 6923 2201 L
4272 2249 mt
(5) s
4380 2147 mt
(x 10) s
%%IncludeResource: font Helvetica
/Helvetica /ISOLatin1Encoding 88 FMSR
4629 2066 mt
(-13) s
4380 3401 mt 6949 3401 L
4380 2201 mt 6949 2201 L
4380 3401 mt 4380 2201 L
6949 3401 mt 6949 2201 L
gs 4380 2201 2570 1201 rc
18 w
gr
18 w
gs 4312 2218 2706 863 rc
24 24 4380 2735 FO
24 24 4508 2286 FO
24 24 4636 2601 FO
24 24 4765 2787 FO
24 24 4893 2582 FO
24 24 5022 2586 FO
24 24 5150 2502 FO
24 24 5279 2752 FO
24 24 5407 2585 FO
24 24 5536 2568 FO
24 24 5664 2617 FO
24 24 5792 2568 FO
24 24 5921 2616 FO
24 24 6049 2752 FO
24 24 6178 2474 FO
24 24 6306 2658 FO
24 24 6435 2619 FO
24 24 6563 2738 FO
24 24 6692 2936 FO
24 24 6820 2638 FO
24 24 6949 3012 FO
gr
gs 4380 2201 2570 1201 rc
gr
%%IncludeResource: font Helvetica
/Helvetica /ISOLatin1Encoding 132 FMSR
3980 3493 mt -90 rotate
(Relative error of T) s
90 rotate
%%IncludeResource: font Helvetica
/Helvetica /ISOLatin1Encoding 96 FMSR
4046 2447 mt -90 rotate
(yy) s
90 rotate
%%IncludeResource: font Helvetica
/Helvetica /ISOLatin1Encoding 132 FMSR
3980 2351 mt -90 rotate
( \(%\)) s
90 rotate
6 w
1 sg
0 1199 2570 0 0 -1199 998 5126 4 MP
PP
-2570 0 0 1199 2570 0 0 -1199 998 5126 5 MP stroke
4 w
DO
SO
6 w
0 sg
998 5126 mt 3568 5126 L
998 3927 mt 3568 3927 L
998 5126 mt 998 3927 L
3568 5126 mt 3568 3927 L
998 5126 mt 3568 5126 L
998 5126 mt 998 3927 L
998 5126 mt 998 5100 L
998 3927 mt 998 3952 L
849 5282 mt
(-30) s
1426 5126 mt 1426 5100 L
1426 3927 mt 1426 3952 L
1277 5282 mt
(-20) s
1854 5126 mt 1854 5100 L
1854 3927 mt 1854 3952 L
1705 5282 mt
(-10) s
2283 5126 mt 2283 5100 L
2283 3927 mt 2283 3952 L
2247 5282 mt
(0) s
2711 5126 mt 2711 5100 L
2711 3927 mt 2711 3952 L
2638 5282 mt
(10) s
3139 5126 mt 3139 5100 L
3139 3927 mt 3139 3952 L
3066 5282 mt
(20) s
3568 5126 mt 3568 5100 L
3568 3927 mt 3568 3952 L
3495 5282 mt
(30) s
998 4926 mt 1023 4926 L
3568 4926 mt 3542 4926 L
593 4974 mt
(-4000) s
998 4526 mt 1023 4526 L
3568 4526 mt 3542 4526 L
593 4574 mt
(-2000) s
998 4126 mt 1023 4126 L
3568 4126 mt 3542 4126 L
890 4174 mt
(0) s
998 5126 mt 3568 5126 L
998 3927 mt 3568 3927 L
998 5126 mt 998 3927 L
3568 5126 mt 3568 3927 L
gs 998 3927 2571 1200 rc
18 w
gr
18 w
gs 930 4034 2707 595 rc
24 24 998 4118 FO
24 24 1126 4115 FO
24 24 1255 4110 FO
24 24 1383 4105 FO
24 24 1512 4102 FO
24 24 1640 4104 FO
24 24 1769 4129 FO
24 24 1897 4204 FO
24 24 2026 4343 FO
24 24 2154 4494 FO
24 24 2283 4560 FO
24 24 2411 4494 FO
24 24 2540 4343 FO
24 24 2668 4204 FO
24 24 2797 4129 FO
24 24 2925 4104 FO
24 24 3054 4102 FO
24 24 3182 4105 FO
24 24 3311 4110 FO
24 24 3439 4115 FO
24 24 3568 4118 FO
gr
gs 998 3927 2571 1200 rc
129 3 128 5 129 5 128 3 129 -2 128 -25 129 -75 128 -139
129 -151 128 -66 129 66 128 151 129 139 128 75 129 25 128 2
129 -3 128 -5 129 -5 128 -3 998 4118 21 MP stroke
gr
2150 5434 mt
(y\(m\)) s
451 4807 mt -90 rotate
(T) s
90 rotate
%%IncludeResource: font Helvetica
/Helvetica /ISOLatin1Encoding 96 FMSR
517 4727 mt -90 rotate
(zz) s
90 rotate
%%IncludeResource: font Helvetica
/Helvetica /ISOLatin1Encoding 132 FMSR
451 4631 mt -90 rotate
(\(nT/m\)) s
90 rotate
%%IncludeResource: font Helvetica
/Helvetica /ISOLatin1Encoding 120 FMSR
962 5187 mt
( ) s
3533 3987 mt
( ) s
6 w
%%IncludeResource: font Helvetica
/Helvetica /ISOLatin1Encoding 132 FMSR
1712 4783 mt
(Our closed-form solutions) s
gs 1201 4630 2363 381 rc
18 w
gs 1407 4667 137 137 rc
24 24 1475 4735 FO
gr
gr
18 w
1712 4952 mt
(Closed-form solutions for prism) s
gs 1201 4630 2363 381 rc
393 0 1279 4904 2 MP stroke
6 w
gr
6 w
1 sg
0 1199 2569 0 0 -1199 4380 5126 4 MP
PP
-2569 0 0 1199 2569 0 0 -1199 4380 5126 5 MP stroke
4 w
DO
SO
6 w
0 sg
4380 5126 mt 6949 5126 L
4380 3927 mt 6949 3927 L
4380 5126 mt 4380 3927 L
6949 5126 mt 6949 3927 L
4380 5126 mt 6949 5126 L
4380 5126 mt 4380 3927 L
4380 5126 mt 4380 5100 L
4380 3927 mt 4380 3952 L
4231 5282 mt
(-30) s
4808 5126 mt 4808 5100 L
4808 3927 mt 4808 3952 L
4659 5282 mt
(-20) s
5236 5126 mt 5236 5100 L
5236 3927 mt 5236 3952 L
5087 5282 mt
(-10) s
5664 5126 mt 5664 5100 L
5664 3927 mt 5664 3952 L
5628 5282 mt
(0) s
6092 5126 mt 6092 5100 L
6092 3927 mt 6092 3952 L
6019 5282 mt
(10) s
6520 5126 mt 6520 5100 L
6520 3927 mt 6520 3952 L
6447 5282 mt
(20) s
6949 5126 mt 6949 5100 L
6949 3927 mt 6949 3952 L
6876 5282 mt
(30) s
4380 5126 mt 4405 5126 L
6949 5126 mt 6923 5126 L
4122 5174 mt
(-15) s
4380 4826 mt 4405 4826 L
6949 4826 mt 6923 4826 L
4122 4874 mt
(-10) s
4380 4526 mt 4405 4526 L
6949 4526 mt 6923 4526 L
4195 4574 mt
(-5) s
4380 4226 mt 4405 4226 L
6949 4226 mt 6923 4226 L
4272 4274 mt
(0) s
4380 3927 mt 4405 3927 L
6949 3927 mt 6923 3927 L
4272 3975 mt
(5) s
4380 3873 mt
(x 10) s
%%IncludeResource: font Helvetica
/Helvetica /ISOLatin1Encoding 88 FMSR
4629 3792 mt
(-12) s
4380 5126 mt 6949 5126 L
4380 3927 mt 6949 3927 L
4380 5126 mt 4380 3927 L
6949 5126 mt 6949 3927 L
gs 4380 3927 2570 1200 rc
18 w
gr
18 w
gs 4312 4021 2706 917 rc
24 24 4380 4177 FO
24 24 4508 4157 FO
24 24 4636 4292 FO
24 24 4765 4255 FO
24 24 4893 4242 FO
24 24 5022 4254 FO
24 24 5150 4089 FO
24 24 5279 4213 FO
24 24 5407 4222 FO
24 24 5536 4227 FO
24 24 5664 4228 FO
24 24 5792 4226 FO
24 24 5921 4221 FO
24 24 6049 4217 FO
24 24 6178 4869 FO
24 24 6306 4110 FO
24 24 6435 4132 FO
24 24 6563 4227 FO
24 24 6692 4581 FO
24 24 6820 4246 FO
24 24 6949 4570 FO
gr
gs 4380 3927 2570 1200 rc
gr
%%IncludeResource: font Helvetica
/Helvetica /ISOLatin1Encoding 132 FMSR
5531 5434 mt
(y\(m\)) s
3980 5218 mt -90 rotate
(Relative error of T) s
90 rotate
%%IncludeResource: font Helvetica
/Helvetica /ISOLatin1Encoding 96 FMSR
4046 4172 mt -90 rotate
(zz) s
90 rotate
%%IncludeResource: font Helvetica
/Helvetica /ISOLatin1Encoding 132 FMSR
3980 4076 mt -90 rotate
( \(%\)) s
90 rotate
6 w
end %%Color Dict
eplot
%%EndObject
epage
end
showpage
%%Trailer
%%EOF

View File

@ -0,0 +1,505 @@
%!PS-Adobe-3.0 EPSF-3.0
%%Creator: MATLAB, The Mathworks, Inc. Version 7.9.0.529 (R2009b). Operating System: Linux 4.6.4-201.fc23.x86_64 #1 SMP Tue Jul 12 11:43:59 UTC 2016 x86_64.
%%Title: /home/renzh/code/m3d2geophysics/m3d/test/prism/solution_one_profile_Tyz.eps
%%CreationDate: 02/26/2017 13:42:33
%%DocumentNeededFonts: Helvetica
%%DocumentProcessColors: Cyan Magenta Yellow Black
%%LanguageLevel: 2
%%Pages: 1
%%BoundingBox: -13 295 626 496
%%EndComments
%%BeginProlog
% MathWorks dictionary
/MathWorks 160 dict begin
% definition operators
/bdef {bind def} bind def
/ldef {load def} bind def
/xdef {exch def} bdef
/xstore {exch store} bdef
% operator abbreviations
/c /clip ldef
/cc /concat ldef
/cp /closepath ldef
/gr /grestore ldef
/gs /gsave ldef
/mt /moveto ldef
/np /newpath ldef
/cm /currentmatrix ldef
/sm /setmatrix ldef
/rm /rmoveto ldef
/rl /rlineto ldef
/s {show newpath} bdef
/sc {setcmykcolor} bdef
/sr /setrgbcolor ldef
/sg /setgray ldef
/w /setlinewidth ldef
/j /setlinejoin ldef
/cap /setlinecap ldef
/rc {rectclip} bdef
/rf {rectfill} bdef
% page state control
/pgsv () def
/bpage {/pgsv save def} bdef
/epage {pgsv restore} bdef
/bplot /gsave ldef
/eplot {stroke grestore} bdef
% orientation switch
/portraitMode 0 def /landscapeMode 1 def /rotateMode 2 def
% coordinate system mappings
/dpi2point 0 def
% font control
/FontSize 0 def
/FMS {/FontSize xstore findfont [FontSize 0 0 FontSize neg 0 0]
makefont setfont} bdef
/reencode {exch dup where {pop load} {pop StandardEncoding} ifelse
exch dup 3 1 roll findfont dup length dict begin
{ 1 index /FID ne {def}{pop pop} ifelse } forall
/Encoding exch def currentdict end definefont pop} bdef
/isroman {findfont /CharStrings get /Agrave known} bdef
/FMSR {3 1 roll 1 index dup isroman {reencode} {pop pop} ifelse
exch FMS} bdef
/csm {1 dpi2point div -1 dpi2point div scale neg translate
dup landscapeMode eq {pop -90 rotate}
{rotateMode eq {90 rotate} if} ifelse} bdef
% line types: solid, dotted, dashed, dotdash
/SO { [] 0 setdash } bdef
/DO { [.5 dpi2point mul 4 dpi2point mul] 0 setdash } bdef
/DA { [6 dpi2point mul] 0 setdash } bdef
/DD { [.5 dpi2point mul 4 dpi2point mul 6 dpi2point mul 4
dpi2point mul] 0 setdash } bdef
% macros for lines and objects
/L {lineto stroke} bdef
/MP {3 1 roll moveto 1 sub {rlineto} repeat} bdef
/AP {{rlineto} repeat} bdef
/PDlw -1 def
/W {/PDlw currentlinewidth def setlinewidth} def
/PP {closepath eofill} bdef
/DP {closepath stroke} bdef
/MR {4 -2 roll moveto dup 0 exch rlineto exch 0 rlineto
neg 0 exch rlineto closepath} bdef
/FR {MR stroke} bdef
/PR {MR fill} bdef
/L1i {{currentfile picstr readhexstring pop} image} bdef
/tMatrix matrix def
/MakeOval {newpath tMatrix currentmatrix pop translate scale
0 0 1 0 360 arc tMatrix setmatrix} bdef
/FO {MakeOval stroke} bdef
/PO {MakeOval fill} bdef
/PD {currentlinewidth 2 div 0 360 arc fill
PDlw -1 eq not {PDlw w /PDlw -1 def} if} def
/FA {newpath tMatrix currentmatrix pop translate scale
0 0 1 5 -2 roll arc tMatrix setmatrix stroke} bdef
/PA {newpath tMatrix currentmatrix pop translate 0 0 moveto scale
0 0 1 5 -2 roll arc closepath tMatrix setmatrix fill} bdef
/FAn {newpath tMatrix currentmatrix pop translate scale
0 0 1 5 -2 roll arcn tMatrix setmatrix stroke} bdef
/PAn {newpath tMatrix currentmatrix pop translate 0 0 moveto scale
0 0 1 5 -2 roll arcn closepath tMatrix setmatrix fill} bdef
/vradius 0 def /hradius 0 def /lry 0 def
/lrx 0 def /uly 0 def /ulx 0 def /rad 0 def
/MRR {/vradius xdef /hradius xdef /lry xdef /lrx xdef /uly xdef
/ulx xdef newpath tMatrix currentmatrix pop ulx hradius add uly
vradius add translate hradius vradius scale 0 0 1 180 270 arc
tMatrix setmatrix lrx hradius sub uly vradius add translate
hradius vradius scale 0 0 1 270 360 arc tMatrix setmatrix
lrx hradius sub lry vradius sub translate hradius vradius scale
0 0 1 0 90 arc tMatrix setmatrix ulx hradius add lry vradius sub
translate hradius vradius scale 0 0 1 90 180 arc tMatrix setmatrix
closepath} bdef
/FRR {MRR stroke } bdef
/PRR {MRR fill } bdef
/MlrRR {/lry xdef /lrx xdef /uly xdef /ulx xdef /rad lry uly sub 2 div def
newpath tMatrix currentmatrix pop ulx rad add uly rad add translate
rad rad scale 0 0 1 90 270 arc tMatrix setmatrix lrx rad sub lry rad
sub translate rad rad scale 0 0 1 270 90 arc tMatrix setmatrix
closepath} bdef
/FlrRR {MlrRR stroke } bdef
/PlrRR {MlrRR fill } bdef
/MtbRR {/lry xdef /lrx xdef /uly xdef /ulx xdef /rad lrx ulx sub 2 div def
newpath tMatrix currentmatrix pop ulx rad add uly rad add translate
rad rad scale 0 0 1 180 360 arc tMatrix setmatrix lrx rad sub lry rad
sub translate rad rad scale 0 0 1 0 180 arc tMatrix setmatrix
closepath} bdef
/FtbRR {MtbRR stroke } bdef
/PtbRR {MtbRR fill } bdef
/stri 6 array def /dtri 6 array def
/smat 6 array def /dmat 6 array def
/tmat1 6 array def /tmat2 6 array def /dif 3 array def
/asub {/ind2 exch def /ind1 exch def dup dup
ind1 get exch ind2 get sub exch } bdef
/tri_to_matrix {
2 0 asub 3 1 asub 4 0 asub 5 1 asub
dup 0 get exch 1 get 7 -1 roll astore } bdef
/compute_transform {
dmat dtri tri_to_matrix tmat1 invertmatrix
smat stri tri_to_matrix tmat2 concatmatrix } bdef
/ds {stri astore pop} bdef
/dt {dtri astore pop} bdef
/db {2 copy /cols xdef /rows xdef mul dup 3 mul string
currentfile
3 index 0 eq {/ASCIIHexDecode filter}
{/ASCII85Decode filter 3 index 2 eq {/RunLengthDecode filter} if }
ifelse exch readstring pop
dup 0 3 index getinterval /rbmap xdef
dup 2 index dup getinterval /gbmap xdef
1 index dup 2 mul exch getinterval /bbmap xdef pop pop}bdef
/it {gs np dtri aload pop moveto lineto lineto cp c
cols rows 8 compute_transform
rbmap gbmap bbmap true 3 colorimage gr}bdef
/il {newpath moveto lineto stroke}bdef
currentdict end def
%%EndProlog
%%BeginSetup
MathWorks begin
0 cap
end
%%EndSetup
%%Page: 1 1
%%BeginPageSetup
%%PageBoundingBox: -13 295 626 496
MathWorks begin
bpage
%%EndPageSetup
%%BeginObject: obj1
bplot
/dpi2point 12 def
portraitMode -0156 5952 csm
0 0 7679 2401 rc
85 dict begin %Colortable dictionary
/c0 { 0.000000 0.000000 0.000000 sr} bdef
/c1 { 1.000000 1.000000 1.000000 sr} bdef
/c2 { 0.900000 0.000000 0.000000 sr} bdef
/c3 { 0.000000 0.820000 0.000000 sr} bdef
/c4 { 0.000000 0.000000 0.800000 sr} bdef
/c5 { 0.910000 0.820000 0.320000 sr} bdef
/c6 { 1.000000 0.260000 0.820000 sr} bdef
/c7 { 0.000000 0.820000 0.820000 sr} bdef
c0
1 j
1 sg
0 0 7680 2402 rf
6 w
0 1845 2570 0 0 -1845 998 2062 4 MP
PP
-2570 0 0 1845 2570 0 0 -1845 998 2062 5 MP stroke
4 w
DO
SO
6 w
0 sg
998 2062 mt 3568 2062 L
998 217 mt 3568 217 L
998 2062 mt 998 217 L
3568 2062 mt 3568 217 L
998 2062 mt 3568 2062 L
998 2062 mt 998 217 L
998 2062 mt 998 2036 L
998 217 mt 998 242 L
%%IncludeResource: font Helvetica
/Helvetica /ISOLatin1Encoding 132 FMSR
849 2218 mt
(-30) s
1426 2062 mt 1426 2036 L
1426 217 mt 1426 242 L
1277 2218 mt
(-20) s
1854 2062 mt 1854 2036 L
1854 217 mt 1854 242 L
1705 2218 mt
(-10) s
2283 2062 mt 2283 2036 L
2283 217 mt 2283 242 L
2247 2218 mt
(0) s
2711 2062 mt 2711 2036 L
2711 217 mt 2711 242 L
2638 2218 mt
(10) s
3139 2062 mt 3139 2036 L
3139 217 mt 3139 242 L
3066 2218 mt
(20) s
3568 2062 mt 3568 2036 L
3568 217 mt 3568 242 L
3495 2218 mt
(30) s
998 2062 mt 1023 2062 L
3568 2062 mt 3542 2062 L
593 2110 mt
(-1500) s
998 1798 mt 1023 1798 L
3568 1798 mt 3542 1798 L
593 1846 mt
(-1000) s
998 1534 mt 1023 1534 L
3568 1534 mt 3542 1534 L
666 1582 mt
(-500) s
998 1271 mt 1023 1271 L
3568 1271 mt 3542 1271 L
890 1319 mt
(0) s
998 1007 mt 1023 1007 L
3568 1007 mt 3542 1007 L
743 1055 mt
(500) s
998 744 mt 1023 744 L
3568 744 mt 3542 744 L
670 792 mt
(1000) s
998 480 mt 1023 480 L
3568 480 mt 3542 480 L
670 528 mt
(1500) s
998 217 mt 1023 217 L
3568 217 mt 3542 217 L
670 265 mt
(2000) s
998 2062 mt 3568 2062 L
998 217 mt 3568 217 L
998 2062 mt 998 217 L
3568 2062 mt 3568 217 L
gs 998 217 2571 1846 rc
18 w
gr
18 w
gs 930 659 2707 1225 rc
24 24 998 1271 FO
24 24 1126 1266 FO
24 24 1255 1254 FO
24 24 1383 1231 FO
24 24 1512 1186 FO
24 24 1640 1104 FO
24 24 1769 969 FO
24 24 1897 804 FO
24 24 2026 727 FO
24 24 2154 892 FO
24 24 2283 1271 FO
24 24 2411 1649 FO
24 24 2540 1815 FO
24 24 2668 1738 FO
24 24 2797 1573 FO
24 24 2925 1438 FO
24 24 3054 1355 FO
24 24 3182 1310 FO
24 24 3311 1287 FO
24 24 3439 1276 FO
24 24 3568 1271 FO
gr
gs 998 217 2571 1846 rc
129 -5 128 -11 129 -23 128 -45 129 -83 128 -135 129 -165 128 -77
129 166 128 378 129 379 128 165 129 -77 128 -165 129 -135 128 -82
129 -45 128 -23 129 -12 128 -5 998 1271 21 MP stroke
gr
451 1420 mt -90 rotate
(T) s
90 rotate
%%IncludeResource: font Helvetica
/Helvetica /ISOLatin1Encoding 96 FMSR
517 1340 mt -90 rotate
(yz) s
90 rotate
%%IncludeResource: font Helvetica
/Helvetica /ISOLatin1Encoding 132 FMSR
451 1244 mt -90 rotate
(\(nT/m\)) s
90 rotate
2150 2370 mt
(y\(m\)) s
%%IncludeResource: font Helvetica
/Helvetica /ISOLatin1Encoding 120 FMSR
962 2123 mt
( ) s
3533 277 mt
( ) s
6 w
%%IncludeResource: font Helvetica
/Helvetica /ISOLatin1Encoding 132 FMSR
1712 400 mt
(Our closed-form solutions) s
gs 1201 247 2363 381 rc
18 w
gs 1407 284 137 137 rc
24 24 1475 352 FO
gr
gr
18 w
1712 569 mt
(Closed-form solutions for prism) s
gs 1201 247 2363 381 rc
393 0 1279 521 2 MP stroke
6 w
gr
6 w
1 sg
0 1846 2569 0 0 -1846 4380 2062 4 MP
PP
-2569 0 0 1846 2569 0 0 -1846 4380 2062 5 MP stroke
4 w
DO
SO
6 w
0 sg
4380 2062 mt 6949 2062 L
4380 216 mt 6949 216 L
4380 2062 mt 4380 216 L
6949 2062 mt 6949 216 L
4380 2062 mt 6949 2062 L
4380 2062 mt 4380 216 L
4380 2062 mt 4380 2036 L
4380 216 mt 4380 242 L
4231 2218 mt
(-30) s
4808 2062 mt 4808 2036 L
4808 216 mt 4808 242 L
4659 2218 mt
(-20) s
5236 2062 mt 5236 2036 L
5236 216 mt 5236 242 L
5087 2218 mt
(-10) s
5664 2062 mt 5664 2036 L
5664 216 mt 5664 242 L
5628 2218 mt
(0) s
6092 2062 mt 6092 2036 L
6092 216 mt 6092 242 L
6019 2218 mt
(10) s
6520 2062 mt 6520 2036 L
6520 216 mt 6520 242 L
6447 2218 mt
(20) s
6949 2062 mt 6949 2036 L
6949 216 mt 6949 242 L
6876 2218 mt
(30) s
4380 1798 mt 4405 1798 L
6949 1798 mt 6923 1798 L
4122 1846 mt
(-10) s
4380 1534 mt 4405 1534 L
6949 1534 mt 6923 1534 L
4195 1582 mt
(-8) s
4380 1271 mt 4405 1271 L
6949 1271 mt 6923 1271 L
4195 1319 mt
(-6) s
4380 1007 mt 4405 1007 L
6949 1007 mt 6923 1007 L
4195 1055 mt
(-4) s
4380 744 mt 4405 744 L
6949 744 mt 6923 744 L
4195 792 mt
(-2) s
4380 480 mt 4405 480 L
6949 480 mt 6923 480 L
4272 528 mt
(0) s
4380 217 mt 4405 217 L
6949 217 mt 6923 217 L
4272 265 mt
(2) s
4380 162 mt
(x 10) s
%%IncludeResource: font Helvetica
/Helvetica /ISOLatin1Encoding 88 FMSR
4629 81 mt
(-11) s
4380 2062 mt 6949 2062 L
4380 216 mt 6949 216 L
4380 2062 mt 4380 216 L
6949 2062 mt 6949 216 L
gs 4380 217 2570 1846 rc
18 w
gr
18 w
gs 4312 398 2706 1643 rc
24 24 4380 776 FO
24 24 4508 503 FO
24 24 4636 495 FO
24 24 4765 476 FO
24 24 4893 481 FO
24 24 5022 481 FO
24 24 5150 481 FO
24 24 5279 481 FO
24 24 5407 480 FO
24 24 5536 480 FO
gr
gs 4380 217 2570 1846 rc
gr
gs 4312 398 2706 1643 rc
24 24 5792 480 FO
24 24 5921 481 FO
24 24 6049 481 FO
24 24 6178 480 FO
24 24 6306 480 FO
24 24 6435 478 FO
24 24 6563 479 FO
24 24 6692 485 FO
24 24 6820 466 FO
24 24 6949 1972 FO
gr
gs 4380 217 2570 1846 rc
gr
%%IncludeResource: font Helvetica
/Helvetica /ISOLatin1Encoding 132 FMSR
3980 1831 mt -90 rotate
(Relative error of T) s
90 rotate
%%IncludeResource: font Helvetica
/Helvetica /ISOLatin1Encoding 96 FMSR
4046 785 mt -90 rotate
(yz) s
90 rotate
%%IncludeResource: font Helvetica
/Helvetica /ISOLatin1Encoding 132 FMSR
3980 689 mt -90 rotate
( \(%\)) s
90 rotate
5531 2370 mt
(y\(m\)) s
6 w
end %%Color Dict
eplot
%%EndObject
epage
end
showpage
%%Trailer
%%EOF

21
m3d/test/prism/xyz.dat Executable file
View File

@ -0,0 +1,21 @@
0 -30 10
0 -27 10
0 -24 10
0 -21 10
0 -18 10
0 -15 10
0 -12 10
0 -9 10
0 -6 10
0 -3 10
0 0 10
0 3 10
0 6 10
0 9 10
0 12 10
0 15 10
0 18 10
0 21 10
0 24 10
0 27 10
0 30 10

155
m3d/test/test_m3d.cpp Executable file
View File

@ -0,0 +1,155 @@
#define NDEBUG
#include <algorithm>
#include <omp.h>
#include <iostream>
#include <fstream>
#include "grid.h"
#include "m3d.h"
//------------------read----------------------------------------------
void read_sites(std::string site_file, std::vector<Point>& sites)
{
std::ifstream site_stream(site_file.c_str());
unsigned int n_sites=0;
site_stream >> n_sites;
assert(n_sites>0);
sites.clear();
sites.resize(n_sites);
for (unsigned int i=0; i<n_sites; i++) {
unsigned int site_id=0;
Point xyz;
site_stream >> site_id
>> xyz(0) // x-coordinate value
>> xyz(1) // y-coordinate value
>> xyz(2); // z-coordinate value
sites[i]= xyz;
}
return;
}
//------------------write----------------------------------------------
void write_vector(std::string name, std::vector<double>& v)
{
// Open the of stream
std::ofstream out(name.c_str());
if(!out.good()) {
std::cerr<<"Can not open file:\t"<<name
<<std::endl;
} else {
for(unsigned int i=0; i<v.size(); i++)
out<<std::setprecision(16)<<v[i]<<"\n";
}
out.close();
}
void write_vector(std::string name, std::vector<Point>& v)
{
// Open the of stream
std::ofstream out(name.c_str());
if(!out.good()) {
std::cerr<<"Can not open file:\t"<<name
<<std::endl;
} else {
for(unsigned int i=0; i<v.size(); i++)
out<<std::setprecision(16)<<v[i](0)<<"\t"<<v[i](1)<<"\t"<<v[i](2)<<"\n";
}
out.close();
}
void write_vector(std::string name, std::vector<Point> & TBx,
std::vector<Point> & TBy,
std::vector<Point> & TBz)
{
// Open the of stream
std::ofstream out(name.c_str());
if(!out.good()) {
std::cerr<<"Can not open file:\t"<<name
<<std::endl;
} else {
for(unsigned int i=0; i<TBx.size(); i++) {
out<<std::setprecision(16)<<TBx[i](0)<<"\t"<<TBx[i](1)<<"\t"<<TBx[i](2)<<"\t";
out<<std::setprecision(16)<<TBy[i](0)<<"\t"<<TBy[i](1)<<"\t"<<TBy[i](2)<<"\t";
out<<std::setprecision(16)<<TBz[i](0)<<"\t"<<TBz[i](1)<<"\t"<<TBz[i](2)<<"\n";
}
}
out.close();
return;
}
//---------------------------------------------------------------------------
int main(int argc, char *argv[])
{
if (argc != 4) {
printf("Usage: %s node_file tet_file site_fie\n",argv[0]);
return 1;
}
std::string node_file(argv[1]);
std::string tet_file (argv[2]);
std::string site_file(argv[3]);
// read grid
Grid grid(node_file, tet_file);
// read sites
std::vector<Point> sites;
read_sites(site_file, sites);
write_vector("xyz.dat", sites);
// loop each site and tet pair
const int n_sites = sites.size();
std::vector<double> Vs;
std::vector<Point> Bs;
std::vector<Point> Tx, Ty, Tz;
Vs.resize(n_sites);
Bs.resize(n_sites);
Tx.resize(n_sites);
Ty.resize(n_sites);
Tz.resize(n_sites);
// closed-form solutions
#pragma omp parallel for
for(int i=0; i<n_sites; i++) {
Point& r = sites[i];
double temp_v; Point temp_b(0,0,0); double temp_tb[3][3];
temp_v=0;
for(int l=0; l<3; l++)
for(int k=0; k<3; k++)
temp_tb[l][k]=0.;
for(int j=0; j<grid.n_elems(); j++) {
Tet& tet = grid.get_elem(j);
M3D m3d(tet, r);
double v; Point b; double tb[3][3];
m3d.V(v);
m3d.B(b);
m3d.T(tb);
temp_v += v;
temp_b = temp_b + b;
for(int l=0; l<3; l++)
for(int k=0; k<3; k++)
temp_tb[l][k] += tb[l][k];
}
Vs[i] = temp_v;
Bs[i] = temp_b*1e9;
Tx[i]= Point(temp_tb[0][0], temp_tb[0][1], temp_tb[0][2])*1e9;
Ty[i]= Point(temp_tb[1][0], temp_tb[1][1], temp_tb[1][2])*1e9;
Tz[i]= Point(temp_tb[2][0], temp_tb[2][1], temp_tb[2][2])*1e9;
} // done.
write_vector("V.dat", Vs); // NA-1m-3
write_vector("B.dat", Bs); // nT
write_vector("T.dat", Tx, Ty, Tz); // nT/m
return 0;
}

View File

@ -1,6 +1,6 @@
aux_source_directory(. SRC_DIR)
include_directories(/usr/local/include)
include_directories(/opt/include)
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
@ -17,4 +17,7 @@ if (OpenMP_CXX_FOUND)
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${OpenMP_EXE_LINKER_FLAGS}")
target_link_libraries(magtet PUBLIC OpenMP::OpenMP_CXX)
endif()
endif()
# /opt/stow/yzToys
install(TARGETS magtet RUNTIME DESTINATION bin)