GPLIB++
Public Member Functions | Protected Member Functions | List of all members
gplib::SurfaceWaveModel Class Referenceabstract

A class to store 1D model for calculation of synthetic surface wave data. More...

#include <SurfaceWaveModel.h>

Inheritance diagram for gplib::SurfaceWaveModel:
Inheritance graph
[legend]

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...
 
SurfaceWaveModeloperator= (const SurfaceWaveModel &source)
 
 SurfaceWaveModel (const SurfaceWaveModel &Old)
 
 SurfaceWaveModel ()
 
virtual ~SurfaceWaveModel ()
 

Protected Member Functions

void CheckConsistency () const
 

Detailed Description

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.

Constructor & Destructor Documentation

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.

gplib::SurfaceWaveModel::~SurfaceWaveModel ( )
virtual

Definition at line 21 of file SurfaceWaveModel.cpp.

Member Function Documentation

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().

void gplib::SurfaceWaveModel::CheckConsistency ( ) const
protected
const trealdata& gplib::SurfaceWaveModel::GetDensities ( ) const
inline

Definition at line 55 of file SurfaceWaveModel.h.

Referenced by gplib::Sdisp96Model::WriteModel().

const trealdata& gplib::SurfaceWaveModel::GetEta ( ) const
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.

std::string gplib::SurfaceWaveModel::GetName ( ) const
inline

Definition at line 75 of file SurfaceWaveModel.h.

Referenced by gplib::Sdisp96Model::WriteModel().

const trealdata& gplib::SurfaceWaveModel::GetPhVelocities ( ) const
inline

Definition at line 43 of file SurfaceWaveModel.h.

Referenced by gplib::SurfaceWaveObjective::PreParallel().

const trealdata& gplib::SurfaceWaveModel::GetPvVelocities ( ) const
inline

Definition at line 39 of file SurfaceWaveModel.h.

Referenced by gplib::Sdisp96Model::WriteModel().

const trealdata& gplib::SurfaceWaveModel::GetQkappa ( ) const
inline

Definition at line 71 of file SurfaceWaveModel.h.

Referenced by gplib::Sdisp96Model::WriteModel().

const trealdata& gplib::SurfaceWaveModel::GetQmu ( ) const
inline

Definition at line 67 of file SurfaceWaveModel.h.

Referenced by gplib::Sdisp96Model::WriteModel().

const trealdata& gplib::SurfaceWaveModel::GetShVelocities ( ) const
inline

Definition at line 51 of file SurfaceWaveModel.h.

const trealdata& gplib::SurfaceWaveModel::GetSvVelocities ( ) const
inline

Definition at line 47 of file SurfaceWaveModel.h.

Referenced by gplib::Sdisp96Model::WriteModel().

const trealdata& gplib::SurfaceWaveModel::GetThicknesses ( ) const
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=().

virtual void gplib::SurfaceWaveModel::ReadModel ( const std::string &  filename)
pure virtual

Read a model from a file.

Implemented in gplib::Sdisp96Model.

Referenced by main().

trealdata& gplib::SurfaceWaveModel::SetDensities ( )
inline

Definition at line 95 of file SurfaceWaveModel.h.

Referenced by gplib::SurfaceWaveObjective::PreParallel().

trealdata& gplib::SurfaceWaveModel::SetEta ( )
inline

Definition at line 103 of file SurfaceWaveModel.h.

Referenced by gplib::SurfaceWaveObjective::PreParallel().

trealdata& gplib::SurfaceWaveModel::SetPhVelocities ( )
inline

Definition at line 83 of file SurfaceWaveModel.h.

Referenced by gplib::SurfaceWaveObjective::PreParallel().

trealdata& gplib::SurfaceWaveModel::SetPvVelocities ( )
inline

Definition at line 79 of file SurfaceWaveModel.h.

Referenced by gplib::SurfaceWaveObjective::PreParallel().

trealdata& gplib::SurfaceWaveModel::SetQkappa ( )
inline

Definition at line 111 of file SurfaceWaveModel.h.

Referenced by gplib::SurfaceWaveObjective::PreParallel().

trealdata& gplib::SurfaceWaveModel::SetQmu ( )
inline

Definition at line 107 of file SurfaceWaveModel.h.

Referenced by gplib::SurfaceWaveObjective::PreParallel().

trealdata& gplib::SurfaceWaveModel::SetShVelocities ( )
inline

Definition at line 91 of file SurfaceWaveModel.h.

Referenced by gplib::SurfaceWaveObjective::PreParallel().

trealdata& gplib::SurfaceWaveModel::SetSvVelocities ( )
inline

Definition at line 87 of file SurfaceWaveModel.h.

Referenced by gplib::SurfaceWaveObjective::PreParallel().

trealdata& gplib::SurfaceWaveModel::SetThicknesses ( )
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().

virtual void gplib::SurfaceWaveModel::WriteModel ( const std::string &  filename) const
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().

virtual void gplib::SurfaceWaveModel::WriteRunFile ( const std::string &  filename,
const std::vector< double >  periods 
) const
pure virtual

Write out a script that when executed performs a forward calculation for this model.

Implemented in gplib::Sdisp96Model.


The documentation for this class was generated from the following files: