GPLIB++
|
A class to store 1D model for calculation of synthetic surface wave data. More...
#include <SurfaceWaveModel.h>
Public Member Functions | |
const trealdata & | GetPvVelocities () const |
const trealdata & | GetPhVelocities () const |
const trealdata & | GetSvVelocities () const |
const trealdata & | GetShVelocities () const |
const trealdata & | GetDensities () const |
const trealdata & | GetThicknesses () const |
const trealdata & | GetEta () const |
const trealdata & | GetQmu () const |
const trealdata & | GetQkappa () const |
std::string | GetName () const |
trealdata & | SetPvVelocities () |
trealdata & | SetPhVelocities () |
trealdata & | SetSvVelocities () |
trealdata & | SetShVelocities () |
trealdata & | SetDensities () |
trealdata & | SetThicknesses () |
trealdata & | SetEta () |
trealdata & | SetQmu () |
trealdata & | SetQkappa () |
double | GetMaxDepth (const double depth) |
int | SplitLayer (const int index, const double maxthick) |
Splits a layer into several layers with a maximum thickness of maxthick, but otherwise identical properties. More... | |
void | AddDiscontinuity (const int index) |
Insert a layer with 0 thickness to create a discontinuity for the forward code. More... | |
void | MergeModel (const SurfaceWaveModel &Background) |
Merge this model with another background model, the depth range below this model will be filled with the values from the background model. More... | |
virtual void | ReadModel (const std::string &filename)=0 |
Read a model from a file. More... | |
virtual void | WriteModel (const std::string &filename) const =0 |
Write the model to a file. More... | |
virtual void | WriteRunFile (const std::string &filename, const std::vector< double > periods) const =0 |
Write out a script that when executed performs a forward calculation for this model. More... | |
void | WritePlot (const std::string &filename) const |
Write out an ascii file for plotting with xmgrace or similar programs. More... | |
SurfaceWaveModel & | operator= (const SurfaceWaveModel &source) |
SurfaceWaveModel (const SurfaceWaveModel &Old) | |
SurfaceWaveModel () | |
virtual | ~SurfaceWaveModel () |
Protected Member Functions | |
void | CheckConsistency () const |
A class to store 1D model for calculation of synthetic surface wave data.
This is the base class for general 1D surface wave models.
Definition at line 16 of file SurfaceWaveModel.h.
gplib::SurfaceWaveModel::SurfaceWaveModel | ( | const SurfaceWaveModel & | Old | ) |
Definition at line 25 of file SurfaceWaveModel.cpp.
gplib::SurfaceWaveModel::SurfaceWaveModel | ( | ) |
Definition at line 15 of file SurfaceWaveModel.cpp.
|
virtual |
Definition at line 21 of file SurfaceWaveModel.cpp.
void gplib::SurfaceWaveModel::AddDiscontinuity | ( | const int | index | ) |
Insert a layer with 0 thickness to create a discontinuity for the forward code.
Definition at line 103 of file SurfaceWaveModel.cpp.
Referenced by SplitLayer().
|
protected |
Definition at line 77 of file SurfaceWaveModel.cpp.
Referenced by MergeModel(), operator=(), gplib::Sdisp96Model::WriteModel(), WritePlot(), and gplib::Sdisp96Model::WriteRunFile().
|
inline |
Definition at line 55 of file SurfaceWaveModel.h.
Referenced by gplib::Sdisp96Model::WriteModel().
|
inline |
Definition at line 63 of file SurfaceWaveModel.h.
Referenced by gplib::Sdisp96Model::WriteModel().
double gplib::SurfaceWaveModel::GetMaxDepth | ( | const double | depth | ) |
Definition at line 89 of file SurfaceWaveModel.cpp.
|
inline |
Definition at line 75 of file SurfaceWaveModel.h.
Referenced by gplib::Sdisp96Model::WriteModel().
|
inline |
Definition at line 43 of file SurfaceWaveModel.h.
Referenced by gplib::SurfaceWaveObjective::PreParallel().
|
inline |
Definition at line 39 of file SurfaceWaveModel.h.
Referenced by gplib::Sdisp96Model::WriteModel().
|
inline |
Definition at line 71 of file SurfaceWaveModel.h.
Referenced by gplib::Sdisp96Model::WriteModel().
|
inline |
Definition at line 67 of file SurfaceWaveModel.h.
Referenced by gplib::Sdisp96Model::WriteModel().
|
inline |
Definition at line 51 of file SurfaceWaveModel.h.
|
inline |
Definition at line 47 of file SurfaceWaveModel.h.
Referenced by gplib::Sdisp96Model::WriteModel().
|
inline |
Definition at line 59 of file SurfaceWaveModel.h.
Referenced by gplib::Sdisp96Model::WriteModel().
void gplib::SurfaceWaveModel::MergeModel | ( | const SurfaceWaveModel & | Background | ) |
Merge this model with another background model, the depth range below this model will be filled with the values from the background model.
Definition at line 170 of file SurfaceWaveModel.cpp.
References CheckConsistency().
SurfaceWaveModel & gplib::SurfaceWaveModel::operator= | ( | const SurfaceWaveModel & | source | ) |
Definition at line 37 of file SurfaceWaveModel.cpp.
References CheckConsistency().
Referenced by gplib::Sdisp96Model::operator=().
|
pure virtual |
|
inline |
Definition at line 95 of file SurfaceWaveModel.h.
Referenced by gplib::SurfaceWaveObjective::PreParallel().
|
inline |
Definition at line 103 of file SurfaceWaveModel.h.
Referenced by gplib::SurfaceWaveObjective::PreParallel().
|
inline |
Definition at line 83 of file SurfaceWaveModel.h.
Referenced by gplib::SurfaceWaveObjective::PreParallel().
|
inline |
Definition at line 79 of file SurfaceWaveModel.h.
Referenced by gplib::SurfaceWaveObjective::PreParallel().
|
inline |
Definition at line 111 of file SurfaceWaveModel.h.
Referenced by gplib::SurfaceWaveObjective::PreParallel().
|
inline |
Definition at line 107 of file SurfaceWaveModel.h.
Referenced by gplib::SurfaceWaveObjective::PreParallel().
|
inline |
Definition at line 91 of file SurfaceWaveModel.h.
Referenced by gplib::SurfaceWaveObjective::PreParallel().
|
inline |
Definition at line 87 of file SurfaceWaveModel.h.
Referenced by gplib::SurfaceWaveObjective::PreParallel().
|
inline |
Definition at line 99 of file SurfaceWaveModel.h.
Referenced by gplib::SurfaceWaveObjective::PreParallel().
int gplib::SurfaceWaveModel::SplitLayer | ( | const int | index, |
const double | maxthick | ||
) |
Splits a layer into several layers with a maximum thickness of maxthick, but otherwise identical properties.
Definition at line 125 of file SurfaceWaveModel.cpp.
References AddDiscontinuity().
|
pure virtual |
Write the model to a file.
Implemented in gplib::Sdisp96Model.
Referenced by gplib::SurfaceWaveObjective::WriteModel().
void gplib::SurfaceWaveModel::WritePlot | ( | const std::string & | filename | ) | const |
Write out an ascii file for plotting with xmgrace or similar programs.
Definition at line 226 of file SurfaceWaveModel.cpp.
References CheckConsistency(), and size.
Referenced by gplib::SurfaceWaveObjective::WritePlot().
|
pure virtual |
Write out a script that when executed performs a forward calculation for this model.
Implemented in gplib::Sdisp96Model.