|
@@ -41,12 +41,10 @@ int main() {
|
41
|
41
|
Kern->PushCoil( "Coil 1", Tx1 );
|
42
|
42
|
Kern->PushCoil( "Coil 2", Tx2 );
|
43
|
43
|
Kern->SetLayeredEarthEM( earth );
|
44
|
|
- // std::cout << *Kern << std::endl;
|
45
|
44
|
|
46
|
45
|
Kern->SetIntegrationSize( (Vector3r() << 200,200,200).finished() );
|
47
|
46
|
Kern->SetIntegrationOrigin( (Vector3r() << 0,0,0).finished() );
|
48
|
|
- Kern->SetTolerance( 1e-10 );
|
49
|
|
- //Kern->SetTolerance( .55 ) ; // 1%
|
|
47
|
+ Kern->SetTolerance( 1e-12 );
|
50
|
48
|
|
51
|
49
|
Kern->SetPulseDuration(0.020);
|
52
|
50
|
VectorXr I(36);
|
|
@@ -59,7 +57,14 @@ int main() {
|
59
|
57
|
10.697057141915716, 9.64778948429609, 8.709338689612677, 7.871268012862094;
|
60
|
58
|
//Kern->SetPulseCurrent( VectorXr::LinSpaced( 1, 10, 200 ) ); // nbins, low, high
|
61
|
59
|
Kern->SetPulseCurrent( I ); // nbins, low, high
|
62
|
|
- Kern->SetDepthLayerInterfaces( VectorXr::LinSpaced( 30, 3, 45.5 ) );
|
|
60
|
+
|
|
61
|
+ //Kern->SetDepthLayerInterfaces( VectorXr::LinSpaced( 30, 3, 45.5 ) ); // nlay, low, high
|
|
62
|
+ //10**np.linspace(np.log10(10),np.log10(19),10)
|
|
63
|
+ VectorXr interfaces = VectorXr::LinSpaced(31, std::log10(2), std::log10(50)); // 30 log spaced
|
|
64
|
+ for (int i=0; i<interfaces.size(); ++i) {
|
|
65
|
+ interfaces(i) = std::pow(10, interfaces(i));
|
|
66
|
+ }
|
|
67
|
+ Kern->SetDepthLayerInterfaces( interfaces ); // nlay, low, high
|
63
|
68
|
|
64
|
69
|
// We could, I suppose, take the earth model in here? For non-linear that
|
65
|
70
|
// may be more natural to work with?
|
|
@@ -67,6 +72,9 @@ int main() {
|
67
|
72
|
std::vector<std::string> rx = {std::string("Coil 1")};
|
68
|
73
|
Kern->CalculateK0( tx, rx, true );
|
69
|
74
|
|
|
75
|
+ ofstream out = ofstream("k.yaml");
|
|
76
|
+ out << *Kern;
|
|
77
|
+ out.close();
|
70
|
78
|
}
|
71
|
79
|
|
72
|
80
|
std::shared_ptr<Lemma::PolygonalWireAntenna> CircularLoop ( int nd, Real Radius, Real Offsetx, Real Offsety ) {
|