Surface NMR forward modelling
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ForwardFID.cpp 1.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /* This file is part of Lemma, a geophysical modelling and inversion API.
  2. * More information is available at http://lemmasoftware.org
  3. */
  4. /* This Source Code Form is subject to the terms of the Mozilla Public
  5. * License, v. 2.0. If a copy of the MPL was not distributed with this
  6. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
  7. */
  8. /**
  9. * @file
  10. * @date 08/28/2017 09:07:04 AM
  11. * @version $Id$
  12. * @author Trevor Irons (ti)
  13. * @email tirons@egi.utah.edu
  14. * @copyright Copyright (c) 2017, University of Utah
  15. * @copyright Copyright (c) 2017, Lemma Software, LLC
  16. */
  17. #include <Merlin>
  18. using namespace Lemma;
  19. int main(int argc, char** argv) {
  20. if (argc<3) {
  21. std::cout << "./ForwardFID Kernel.yaml Model.yaml \n";
  22. return(EXIT_FAILURE);
  23. }
  24. auto Kernel = KernelV0::DeSerialize(YAML::LoadFile(argv[1]));
  25. // std::cout << *Kernel;
  26. auto Model = LayeredEarthMR::DeSerialize(YAML::LoadFile(argv[2]));
  27. // std::cout << *Model << std::endl;
  28. auto Forward = ForwardFID::NewSP();
  29. //Forward->SetWindowEdges( VectorXr::LinSpaced(10,0,1) );
  30. Forward->SetLogSpacedWindows(10,1000,30);
  31. Forward->SetKernel(Kernel);
  32. Forward->SetNoiseFloor(50); // nV
  33. auto FID = Forward->ForwardModel(Model);
  34. std::cout << *FID << std::endl;
  35. return EXIT_SUCCESS;
  36. }