ソースを参照

Clean up Hankel transform a little, work towards developing new filters.

add-code-of-conduct-1
Trevor Irons 6年前
コミット
e8dde65a9b

+ 2
- 0
Modules/FDEM1D/include/FHT.h ファイルの表示

@@ -182,6 +182,8 @@ namespace Lemma {
182 182
     const Eigen::Matrix<Real, Eigen::Dynamic, 3>  FHT<FHTKONG121>::WT;
183 183
     template<>
184 184
     const Eigen::Matrix<Real, Eigen::Dynamic, 3>  FHT<FHTKONG241>::WT;
185
+    template<>
186
+    const Eigen::Matrix<Real, Eigen::Dynamic, 3>  FHT<IRONS>::WT;
185 187
 
186 188
     template < HANKELTRANSFORMTYPE Type >
187 189
     Complex FHT<Type>::Zgauss(const int& ii, const Lemma::EMMODE& mode, const int& jj, const Real& val,

+ 2
- 0
Modules/FDEM1D/include/HankelTransformFactory.h ファイルの表示

@@ -115,6 +115,8 @@ namespace Lemma {
115 115
                     return GQChave::NewSP();
116 116
                 case QWEKEY:
117 117
                     return QWEKey::NewSP();
118
+                case IRONS:
119
+                    return FHT<IRONS>::NewSP();
118 120
                 default:
119 121
                     std::cerr << "HankelTransformFactory only works with defined types\n";
120 122
             }

+ 1
- 1
Modules/FDEM1D/src/EMEarth1D.cpp ファイルの表示

@@ -232,7 +232,7 @@ namespace Lemma {
232 232
             icalc += 1;
233 233
             // Check to see if they are all on a plane? If so we can do this fast
234 234
             if (Antenna->IsHorizontallyPlanar() && ( HankelType == ANDERSON801 || HankelType== FHTKEY201 || HankelType==FHTKEY101 ||
235
-                                                     HankelType == FHTKEY51 || HankelType == FHTKONG61 || FHTKONG121 || FHTKONG241 )) {
235
+                                                     HankelType == FHTKEY51 || HankelType == FHTKONG61 || FHTKONG121 || FHTKONG241 || IRONS )) {
236 236
                 #ifdef HAVE_BOOST_PROGRESS
237 237
                 if (progressbar) {
238 238
                     disp = new boost::progress_display( Receivers->GetNumberOfPoints()*Antenna->GetNumberOfFrequencies() );

+ 1009
- 203
Modules/FDEM1D/src/FHT.cpp
ファイル差分が大きすぎるため省略します
ファイルの表示


+ 1
- 1
Modules/LemmaCore/include/lemma.h ファイルの表示

@@ -294,7 +294,7 @@
294 294
          *  QWEKEY          Key's Gaussian quadrature integration method
295 295
          */
296 296
         enum HANKELTRANSFORMTYPE { ANDERSON801, CHAVE, FHTKEY201, FHTKEY101, FHTKEY51, QWEKEY,
297
-                                    FHTKONG61, FHTKONG121, FHTKONG241 };
297
+                                    FHTKONG61, FHTKONG121, FHTKONG241, IRONS };
298 298
 
299 299
         /** Enum is OK because these are the only physically possible sources.
300 300
          @param NOSOURCETYPE is default.

+ 4
- 0
Modules/LemmaCore/src/helper.cpp ファイルの表示

@@ -155,6 +155,9 @@ std::string enum2String(const HANKELTRANSFORMTYPE& Type) {
155 155
         case FHTKONG241:
156 156
             t = std::string("FHTKONG241");
157 157
             break;
158
+        case IRONS:
159
+            t = std::string("IRONS");
160
+            break;
158 161
 
159 162
     }
160 163
     return t;
@@ -196,6 +199,7 @@ HANKELTRANSFORMTYPE string2Enum<HANKELTRANSFORMTYPE>( const std::string& str ) {
196 199
     else if  (str == "FHTKONG61") return  FHTKONG61;
197 200
     else if  (str == "FHTKONG121") return  FHTKONG121;
198 201
     else if  (str == "FHTKONG241") return  FHTKONG241;
202
+    else if  (str == "IRONS") return  IRONS;
199 203
     else {
200 204
         throw std::runtime_error("string not recognized as HANKELTRANSFORMTYPE");
201 205
     }

読み込み中…
キャンセル
保存