|
@@ -1463,45 +1463,41 @@ namespace Lemma {
|
1463
|
1463
|
return ;
|
1464
|
1464
|
}
|
1465
|
1465
|
|
1466
|
|
-// //--------------------------------------------------------------------------------------
|
1467
|
|
-// // Class: EMSchur3DBase
|
1468
|
|
-// // Method: SetAEMSurvey
|
1469
|
|
-// //--------------------------------------------------------------------------------------
|
1470
|
|
-// void EMSchur3DBase::SetAEMSurvey ( AEMSurvey* SurveyIn ) {
|
1471
|
|
-// if (Survey) Survey->DetachFrom(this);
|
1472
|
|
-// Survey = SurveyIn;
|
1473
|
|
-// Survey->AttachTo(this);
|
1474
|
|
-//
|
1475
|
|
-// // OK determine how many frequencies we are dealing with
|
1476
|
|
-// Omegas = 2.*PI*Survey->GetFrequencies();
|
1477
|
|
-//
|
1478
|
|
-// return ;
|
1479
|
|
-// } // ----- end of method EMSchur3DBase::SetAEMSurvey -----// ----- end of method EMSchur3DBase::LoadMeshToolsConductivityModel -----
|
|
1466
|
+ //--------------------------------------------------------------------------------------
|
|
1467
|
+ // Class: EMSchur3DBase
|
|
1468
|
+ // Method: SetAEMSurvey
|
|
1469
|
+ //--------------------------------------------------------------------------------------
|
|
1470
|
+ void EMSchur3DBase::SetAEMSurvey ( std::shared_ptr<AEMSurvey> SurveyIn ) {
|
|
1471
|
+ Survey = SurveyIn;
|
|
1472
|
+ // determine how many frequencies we are dealing with
|
|
1473
|
+ Omegas = 2.*PI*Survey->GetFrequencies();
|
|
1474
|
+ return ;
|
|
1475
|
+ } // ----- end of method EMSchur3DBase::SetAEMSurvey -----// ----- end of method EMSchur3DBase::LoadMeshToolsConductivityModel -----
|
1480
|
1476
|
|
1481
|
|
-// //--------------------------------------------------------------------------------------
|
1482
|
|
-// // Class: EMSchur3DBase
|
1483
|
|
-// // Method: Solve
|
1484
|
|
-// //--------------------------------------------------------------------------------------
|
1485
|
|
-// void EMSchur3DBase::Solve ( ) {
|
1486
|
|
-//
|
1487
|
|
-// // TODO, these should throw exceptions for a GUI to catch
|
1488
|
|
-// if (!LayModel or !Survey or !Grid or !sigma) {
|
1489
|
|
-// std::cerr << "You need to set something. EMSChur3D::Solve()";
|
1490
|
|
-// exit(EXIT_FAILURE);
|
1491
|
|
-// }
|
1492
|
|
-//
|
1493
|
|
-// //BuildD(); // strangely necessary, bug, track down.
|
1494
|
|
-// Setup();
|
1495
|
|
-//
|
1496
|
|
-// std::cout << "Entering parallel solve" << std::endl;
|
1497
|
|
-// #ifdef LEMMAUSEOMP
|
1498
|
|
-// #pragma omp parallel for schedule(static,1)
|
1499
|
|
-// #endif
|
1500
|
|
-// for (int isource=0; isource<Survey->GetNumberOfSources(); ++isource) {
|
1501
|
|
-// SolveSource(Survey->GetSource(isource), isource);
|
1502
|
|
-// }
|
1503
|
|
-//
|
1504
|
|
-// return ;
|
1505
|
|
-// } // ----- end of method EMSchur3DBase::Solve -----
|
|
1477
|
+ //--------------------------------------------------------------------------------------
|
|
1478
|
+ // Class: EMSchur3DBase
|
|
1479
|
+ // Method: Solve
|
|
1480
|
+ //--------------------------------------------------------------------------------------
|
|
1481
|
+ void EMSchur3DBase::Solve ( ) {
|
|
1482
|
+
|
|
1483
|
+ // TODO, these should throw exceptions for a GUI to catch
|
|
1484
|
+ if (!LayModel or !Survey or !Grid or !sigma) {
|
|
1485
|
+ std::cerr << "You need to set something. EMSChur3D::Solve()";
|
|
1486
|
+ exit(EXIT_FAILURE);
|
|
1487
|
+ }
|
|
1488
|
+
|
|
1489
|
+ //BuildD(); // strangely necessary, bug, track down.
|
|
1490
|
+ Setup();
|
|
1491
|
+
|
|
1492
|
+ std::cout << "Entering parallel solve" << std::endl;
|
|
1493
|
+ #ifdef LEMMAUSEOMP
|
|
1494
|
+ #pragma omp parallel for schedule(static,1)
|
|
1495
|
+ #endif
|
|
1496
|
+ for (int isource=0; isource<Survey->GetNumberOfSources(); ++isource) {
|
|
1497
|
+ SolveSource(Survey->GetSource(isource), isource);
|
|
1498
|
+ }
|
|
1499
|
+
|
|
1500
|
+ return ;
|
|
1501
|
+ } // ----- end of method EMSchur3DBase::Solve -----
|
1506
|
1502
|
|
1507
|
1503
|
} // ----- end of Lemma name -----
|