|
GPLIB++
|
This class calculates the misfit between observed surface wave dispersion data and the data calculated from a seismic model. More...
#include <SurfaceWaveObjective.h>

Public Member Functions | |
| void | SetPoisson (const double p) |
| Set Poisson's ratio Vp/Vs. More... | |
| void | SetErrorLevel (const double level) |
| Set the relative error for each measurement. More... | |
| virtual GeneralObjective * | clone () const |
| We need clone and create for building an array of derived objects, see FAQ lite 20.8, the return type depends on the derived class. More... | |
| virtual void | PreParallel (const ttranscribed &member) |
| Some operations cannot be done in parallel, these are done before. More... | |
| virtual double | PostParallel (const ttranscribed &member) |
| Some operations cannot be done in parallel, these are done after, returns the misfit value. More... | |
| virtual void | SafeParallel (const ttranscribed &member) |
| The core performance calculation, has to be safe to be done in parallel. More... | |
| virtual void | WriteData (const std::string &filename) |
| Write the synthetic data to a sac file with name filename. More... | |
| virtual void | WriteModel (const std::string &filename) |
| Write the current model to ascii file for calculations. More... | |
| virtual void | WritePlot (const std::string &filename) |
| Write the current model to ascii file for plotting. More... | |
| SurfaceWaveObjective & | operator= (const SurfaceWaveObjective &source) |
| SurfaceWaveObjective (const SurfaceWaveObjective &Old) | |
| SurfaceWaveObjective (const SurfaceWaveData &Data) | |
| virtual | ~SurfaceWaveObjective () |
Public Member Functions inherited from gplib::PlottableObjective | |
| PlottableObjective () | |
| PlottableObjective (const PlottableObjective &Old) | |
| PlottableObjective & | operator= (const PlottableObjective &source) |
| virtual | ~PlottableObjective () |
Public Member Functions inherited from gplib::GeneralObjective | |
| void | SetFitExponent (const int x) |
| Set the Fit exponent. More... | |
| int | GetFitExponent () |
| Get the Fit exponent. More... | |
| double | GetRMS () |
| Get the current RMS. More... | |
| const std::string & | GetParallelID () |
| Derived classes need to read the ParallelId for their forward calculations. More... | |
| void | SetParallelID (const std::string &s) |
| We need to set the parallel ID outside the Objective function object. More... | |
| const tmisfit & | GetMisfit () |
| Return the misfit vector. More... | |
| const tdata & | GetSynthData () |
| Return the current synthetic data. More... | |
| double | CalcPerformance (const ttranscribed &member) |
| For serial execution CalcPerformance calls the three Parallel functions for more convenient use. More... | |
| GeneralObjective () | |
| GeneralObjective (const GeneralObjective &Old) | |
| GeneralObjective & | operator= (const GeneralObjective &source) |
| virtual | ~GeneralObjective () |
Additional Inherited Members | |
Protected Member Functions inherited from gplib::GeneralObjective | |
| double | CalcMisfit (const double measured, const double predicted, const double measerror, const double errorlevel, const int index) |
| void | SetRMS (const double x) |
| tmisfit & | SetMisfit () |
| Only derived classes can write access the Misfit. More... | |
| void | SetMisfit (const tmisfit &LocalMisfit) |
| tdata & | SetSynthData () |
| Only derived classes can write access the Synthetic data. More... | |
| void | SetSynthData (const tdata &LocalSynthData) |
This class calculates the misfit between observed surface wave dispersion data and the data calculated from a seismic model.
Definition at line 15 of file SurfaceWaveObjective.h.
| gplib::SurfaceWaveObjective::SurfaceWaveObjective | ( | const SurfaceWaveObjective & | Old | ) |
Definition at line 33 of file SurfaceWaveObjective.cpp.
Referenced by clone().
| gplib::SurfaceWaveObjective::SurfaceWaveObjective | ( | const SurfaceWaveData & | Data | ) |
Definition at line 12 of file SurfaceWaveObjective.cpp.
|
virtual |
Definition at line 41 of file SurfaceWaveObjective.cpp.
|
inlinevirtual |
We need clone and create for building an array of derived objects, see FAQ lite 20.8, the return type depends on the derived class.
Implements gplib::GeneralObjective.
Definition at line 40 of file SurfaceWaveObjective.h.
References SurfaceWaveObjective().
| SurfaceWaveObjective & gplib::SurfaceWaveObjective::operator= | ( | const SurfaceWaveObjective & | source | ) |
Definition at line 19 of file SurfaceWaveObjective.cpp.
References gplib::PlottableObjective::operator=().
|
virtual |
Some operations cannot be done in parallel, these are done after, returns the misfit value.
Implements gplib::GeneralObjective.
Definition at line 83 of file SurfaceWaveObjective.cpp.
References gplib::GeneralObjective::GetRMS().
|
virtual |
Some operations cannot be done in parallel, these are done before.
Reimplemented from gplib::GeneralObjective.
Definition at line 45 of file SurfaceWaveObjective.cpp.
References gplib::SurfaceWaveSynthetic::GetCalculationPeriods(), gplib::GeneralObjective::GetParallelID(), gplib::SurfaceWaveData::GetPeriods(), gplib::SurfaceWaveModel::GetPhVelocities(), gplib::SurfaceWaveSynthetic::PreParallel(), gplib::SurfaceWaveSynthetic::SetCalculationPeriods(), gplib::SurfaceWaveModel::SetDensities(), gplib::SurfaceWaveModel::SetEta(), gplib::SurfaceWaveSynthetic::SetModel(), gplib::SurfaceWaveModel::SetPhVelocities(), gplib::SurfaceWaveModel::SetPvVelocities(), gplib::SurfaceWaveModel::SetQkappa(), gplib::SurfaceWaveModel::SetQmu(), gplib::SurfaceWaveModel::SetShVelocities(), gplib::SurfaceWaveModel::SetSvVelocities(), and gplib::SurfaceWaveModel::SetThicknesses().
|
virtual |
The core performance calculation, has to be safe to be done in parallel.
Reimplemented from gplib::GeneralObjective.
Definition at line 89 of file SurfaceWaveObjective.cpp.
References gplib::GeneralObjective::CalcMisfit(), gplib::GeneralObjective::GetFitExponent(), gplib::GeneralObjective::GetParallelID(), gplib::SurfaceWaveData::GetPhaseVelocities(), gplib::SurfaceWaveSynthetic::SafeParallel(), gplib::GeneralObjective::SetMisfit(), gplib::GeneralObjective::SetRMS(), and gplib::GeneralObjective::SetSynthData().
|
inline |
Set the relative error for each measurement.
Definition at line 35 of file SurfaceWaveObjective.h.
|
inline |
Set Poisson's ratio Vp/Vs.
Definition at line 30 of file SurfaceWaveObjective.h.
|
inlinevirtual |
Write the synthetic data to a sac file with name filename.
Reimplemented from gplib::PlottableObjective.
Definition at line 52 of file SurfaceWaveObjective.h.
References gplib::SurfaceWaveData::WriteAscii().
|
inlinevirtual |
Write the current model to ascii file for calculations.
Reimplemented from gplib::PlottableObjective.
Definition at line 57 of file SurfaceWaveObjective.h.
References gplib::SurfaceWaveSynthetic::GetModel(), and gplib::SurfaceWaveModel::WriteModel().
|
inlinevirtual |
Write the current model to ascii file for plotting.
Reimplemented from gplib::PlottableObjective.
Definition at line 62 of file SurfaceWaveObjective.h.
References gplib::SurfaceWaveSynthetic::GetModel(), and gplib::SurfaceWaveModel::WritePlot().
1.8.6