update src
This commit is contained in:
parent
637692075e
commit
df61a914cf
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
8
log.txt
8
log.txt
@ -1,5 +1,5 @@
|
|||||||
tet-file = data/prism/prism.1
|
tet-file = data/pipeline/pipeline
|
||||||
mag-file = (0,0,200)
|
mag-file = data/pipeline/magz.txt
|
||||||
site-file = -30/30/-30/30/10/81/81
|
site-file = data/pipeline/site.txt
|
||||||
obs-file = data/prism/prism
|
obs-file = data/pipeline/pipeline
|
||||||
cal-type = potential gradient tensor
|
cal-type = potential gradient tensor
|
||||||
|
@ -16,7 +16,7 @@ void magtet::init_magz(std::string para)
|
|||||||
if (access(para.c_str(), F_OK) != -1)
|
if (access(para.c_str(), F_OK) != -1)
|
||||||
{
|
{
|
||||||
std::vector<gctl::point3dc> tmp_vec;
|
std::vector<gctl::point3dc> tmp_vec;
|
||||||
gctl::read_text2vector(para, "", tmp_vec);
|
gctl::read_text2vector(para, tmp_vec);
|
||||||
|
|
||||||
if (tmp_vec.size() != ele_num_)
|
if (tmp_vec.size() != ele_num_)
|
||||||
{
|
{
|
||||||
@ -46,7 +46,7 @@ void magtet::init_site(std::string para)
|
|||||||
if (access(para.c_str(), F_OK) != -1)
|
if (access(para.c_str(), F_OK) != -1)
|
||||||
{
|
{
|
||||||
std::vector<gctl::point3dc> tmp_vec;
|
std::vector<gctl::point3dc> tmp_vec;
|
||||||
gctl::read_text2vector(para, "", tmp_vec);
|
gctl::read_text2vector(para, tmp_vec);
|
||||||
|
|
||||||
site_num_ = tmp_vec.size();
|
site_num_ = tmp_vec.size();
|
||||||
site_.resize(tmp_vec);
|
site_.resize(tmp_vec);
|
||||||
@ -112,11 +112,11 @@ void magtet::write_text(std::string out_name)
|
|||||||
outfile << "# x(m) y(m) z(m) Txx(nT/m) Txy(nT/m) Txz(nT/m) Tyx(nT/m) Tyy(nT/m) Tyz(nT/m) Tzx(nT/m) Tzy(nT/m) Tzz(nT/m)" << std::endl;
|
outfile << "# x(m) y(m) z(m) Txx(nT/m) Txy(nT/m) Txz(nT/m) Tyx(nT/m) Tyy(nT/m) Tyz(nT/m) Tzx(nT/m) Tzy(nT/m) Tzz(nT/m)" << std::endl;
|
||||||
for (int i = 0; i < site_num_; ++i)
|
for (int i = 0; i < site_num_; ++i)
|
||||||
{
|
{
|
||||||
outfile << site_[i] << std::setprecision(16) << " " << mag_tensor_[i].value(0,0) << " "
|
outfile << site_[i] << std::setprecision(16) << " " << mag_tensor_[i].at(0,0) << " "
|
||||||
<< mag_tensor_[i].value(0,1) << " " << mag_tensor_[i].value(0,2) << " "
|
<< mag_tensor_[i].at(0,1) << " " << mag_tensor_[i].at(0,2) << " "
|
||||||
<< mag_tensor_[i].value(1,0) << " " << mag_tensor_[i].value(1,1) << " "
|
<< mag_tensor_[i].at(1,0) << " " << mag_tensor_[i].at(1,1) << " "
|
||||||
<< mag_tensor_[i].value(1,2) << " " << mag_tensor_[i].value(2,0) << " "
|
<< mag_tensor_[i].at(1,2) << " " << mag_tensor_[i].at(2,0) << " "
|
||||||
<< mag_tensor_[i].value(2,1) << " " << mag_tensor_[i].value(2,2) << std::endl;
|
<< mag_tensor_[i].at(2,1) << " " << mag_tensor_[i].at(2,2) << std::endl;
|
||||||
}
|
}
|
||||||
outfile.close();
|
outfile.close();
|
||||||
}
|
}
|
||||||
@ -228,7 +228,7 @@ gctl::point3dc magtet::mag_gradient(const mag_tetrahedron &tet, const gctl::poin
|
|||||||
if (j == 0)
|
if (j == 0)
|
||||||
{
|
{
|
||||||
wi0 = gctl::dot(site - *tet.fget(f, j), mpara->fnorm[f]);
|
wi0 = gctl::dot(site - *tet.fget(f, j), mpara->fnorm[f]);
|
||||||
sig = sign(wi0);
|
sig = gctl::sign(wi0);
|
||||||
absw = std::abs(wi0);
|
absw = std::abs(wi0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -304,7 +304,7 @@ gctl::tensor magtet::mag_tensor(const mag_tetrahedron &tet, const gctl::point3dc
|
|||||||
if (j == 0)
|
if (j == 0)
|
||||||
{
|
{
|
||||||
wi0 = gctl::dot(site - *tet.fget(f, j), mpara->fnorm[f]);
|
wi0 = gctl::dot(site - *tet.fget(f, j), mpara->fnorm[f]);
|
||||||
sig = sign(wi0);
|
sig = gctl::sign(wi0);
|
||||||
absw = std::abs(wi0);
|
absw = std::abs(wi0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -383,7 +383,7 @@ void magtet::total_potential()
|
|||||||
// malloc space
|
// malloc space
|
||||||
mag_pot_.resize(site_num_, 0.0);
|
mag_pot_.resize(site_num_, 0.0);
|
||||||
|
|
||||||
gctl::utility::progress_bar bar(ele_num_, "MagPotential");
|
gctl::progress_bar bar(ele_num_, "MagPotential");
|
||||||
for (e = 0; e < ele_num_; ++e)
|
for (e = 0; e < ele_num_; ++e)
|
||||||
{
|
{
|
||||||
bar.progressed(e);
|
bar.progressed(e);
|
||||||
@ -403,7 +403,7 @@ void magtet::total_gradient()
|
|||||||
// malloc space
|
// malloc space
|
||||||
mag_grad_.resize(site_num_, gctl::point3dc(0.0, 0.0, 0.0));
|
mag_grad_.resize(site_num_, gctl::point3dc(0.0, 0.0, 0.0));
|
||||||
|
|
||||||
gctl::utility::progress_bar bar(ele_num_, "MagGradient");
|
gctl::progress_bar bar(ele_num_, "MagGradient");
|
||||||
for (e = 0; e < ele_num_; ++e)
|
for (e = 0; e < ele_num_; ++e)
|
||||||
{
|
{
|
||||||
bar.progressed(e);
|
bar.progressed(e);
|
||||||
@ -423,7 +423,7 @@ void magtet::total_tensor()
|
|||||||
// malloc space
|
// malloc space
|
||||||
mag_tensor_.resize(site_num_, gctl::tensor(0.0));
|
mag_tensor_.resize(site_num_, gctl::tensor(0.0));
|
||||||
|
|
||||||
gctl::utility::progress_bar bar(ele_num_, "MagTensor");
|
gctl::progress_bar bar(ele_num_, "MagTensor");
|
||||||
for (e = 0; e < ele_num_; ++e)
|
for (e = 0; e < ele_num_; ++e)
|
||||||
{
|
{
|
||||||
bar.progressed(e);
|
bar.progressed(e);
|
||||||
@ -437,12 +437,12 @@ void magtet::total_tensor()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
double magtet::sign(double s)
|
//double magtet::sign(double s)
|
||||||
{
|
//{
|
||||||
if (s > TOL) return 1.0;
|
// if (s > TOL) return 1.0;
|
||||||
if (s < -1.0*TOL) return -1.0;
|
// if (s < -1.0*TOL) return -1.0;
|
||||||
return 0.0;
|
// return 0.0;
|
||||||
}
|
//}
|
||||||
|
|
||||||
void magtet::routine(const char *para_file)
|
void magtet::routine(const char *para_file)
|
||||||
{
|
{
|
||||||
|
@ -46,7 +46,7 @@ public:
|
|||||||
void total_gradient();
|
void total_gradient();
|
||||||
void total_tensor();
|
void total_tensor();
|
||||||
|
|
||||||
double sign(double s);
|
//double sign(double s);
|
||||||
void routine(const char *para_file);
|
void routine(const char *para_file);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
@ -61,7 +61,7 @@ protected:
|
|||||||
gctl::array<gctl::point3dc> mag_grad_; // 正演磁场分量
|
gctl::array<gctl::point3dc> mag_grad_; // 正演磁场分量
|
||||||
gctl::array<gctl::tensor> mag_tensor_; // 正演磁场张量
|
gctl::array<gctl::tensor> mag_tensor_; // 正演磁场张量
|
||||||
|
|
||||||
gctl::utility::getoption gopt_; // 参数文件解释对象
|
gctl::getoption gopt_; // 参数文件解释对象
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // _MAGTET_H
|
#endif // _MAGTET_H
|
Loading…
Reference in New Issue
Block a user