FEMTIC
Public Member Functions | Private Member Functions | Private Attributes | List of all members
ObservedDataStationApparentResistivityAndPhase Class Reference

#include <ObservedDataStationApparentResistivityAndPhase.h>

Inheritance diagram for ObservedDataStationApparentResistivityAndPhase:
Inheritance graph
[legend]
Collaboration diagram for ObservedDataStationApparentResistivityAndPhase:
Collaboration graph
[legend]

Public Member Functions

 ObservedDataStationApparentResistivityAndPhase ()
 
 ~ObservedDataStationApparentResistivityAndPhase ()
 
void inputObservedData (std::ifstream &inFile)
 
void calculateApparentResistivityAndPhase (const double freq, const ObservedDataStationPoint *const ptrStationOfMagneticField, int &icount)
 
void initializeApparentResistivityPhaseAndErrors ()
 
void allocateMemoryForCalculatedValues ()
 
void outputCalculatedValues () const
 
void calculateSensitivityMatrix (const double freq, const int nModel, const ObservedDataStationPoint *const ptrStationOfMagneticField, const std::complex< double > *const derivativesOfEMFieldExPol, const std::complex< double > *const derivativesOfEMFieldEyPol, double *const sensitivityMatrix) const
 
void calculateResidualVectorOfDataThisPE (const double freq, const int offset, double *vector) const
 
double calculateErrorSumOfSquaresThisPE () const
 
bool isApparentResistivityIgnoredForAllFrequencies (const int iComp) const
 
- Public Member Functions inherited from ObservedDataStationMT
 ObservedDataStationMT ()
 
virtual ~ObservedDataStationMT ()
 
void calculateElectricField (const Forward3D *const ptrForward3D, const int rhsVectorIDOfEx, const int rhsVectorIDOfEy)
 
void calculateImpedanceTensor (const double freq, const ObservedDataStationPoint *const ptrStationOfMagneticField, int &icount)
 
void initializeElectricField (const int iPol)
 
void initializeImpedanceTensorsAndErrors ()
 
void calcInterpolatorVectorOfElectricField (Forward3D *const ptrForward3D)
 
virtual void calculateSensitivityMatrix (const double freq, const int nModel, const ObservedDataStationPoint *const ptrStationOfMagneticField, const std::complex< double > *const derivativesOfEMFieldExPol, const std::complex< double > *const derivativesOfEMFieldEyPol, double *const sensitivityMatrix, const bool forceSDToOne=false) const
 
void copyDistortionParamsCurToPre (const int iComp)
 
bool doesFixDistortionMatrix () const
 Get flag specifing whether distortion matrix are fixed or not. More...
 
int getTypeOfElectricField () const
 
void setFixDistortionMatrix (const bool doesFix)
 
void setTypeOfElectricField (const int type)
 
void setDistortionParamsPre (const int iComp, const double val)
 
void setDistortionParams (const int iComp, const double val)
 
void setIDOfDistortionParams (const int iComp, const int ID)
 
void setDistortionParamsUpdatedFull (const int iComp, const double val)
 
void updateDistortionParams (const double dampingFactor)
 
double getDistortionParamsPre (const int iComp) const
 
double getDistortionParams (const int iComp) const
 
int getIDOfDistortionParams (const int iComp) const
 
double getDistortionParamsUpdatedFull (const int iComp) const
 
- Public Member Functions inherited from ObservedDataStationPoint
 ObservedDataStationPoint ()
 
 ~ObservedDataStationPoint ()
 
void findElementIncludingStation ()
 
std::complex< double > getHxCalculated (const int iPol) const
 
std::complex< double > getHyCalculated (const int iPol) const
 
int getRhsVectorIDOfHx () const
 
int getRhsVectorIDOfHy () const
 
void calculateHorizontalMagneticField (const Forward3D *const ptrForward3D, const int rhsVectorIDOfHx, const int rhsVectorIDOfHy)
 
void initializeHorizontalMagneticField (const int iPol)
 
void calcInterpolatorVectorOfHorizontalMagneticField (Forward3D *const ptrForward3D)
 
const CommonParameters::locationXYgetLocationOfPoint () const
 
double getZCoordOfPoint () const
 
bool useUpperElementForInterpolationOfEMField () const
 
void setFlagUseUpperElementForInterpolationOfEMField (const bool useUpperElem)
 
- Public Member Functions inherited from ObservedDataStation
 ObservedDataStation ()
 
 ~ObservedDataStation ()
 
int getStationID () const
 
int getIDOfMagneticFieldStation () const
 
int getTotalNumberOfFrequency () const
 
double getFrequencyValues (const int num) const
 
int getFreqIDs (const double freq) const
 
void setupFrequenciesCalculatedByThisPE (const int nFreqCalculatedByThisPE, const double *freqCalculatedByThisPE)
 
int getFreqIDsAmongThisPE (const double freq) const
 

Private Member Functions

double calcLog10ErrorOfApparentResistivity (const int freqIDGlobalInSta, const int iComp) const
 
bool isUsedImpedanceTensor (const double phaseObs, const double phaseError, const double phaseCalc) const
 
bool isUsedImpedanceTensorFromFreqIDs (const int freqIDThisPEInSta, const int iComp) const
 
 ObservedDataStationApparentResistivityAndPhase (const ObservedDataStationApparentResistivityAndPhase &rhs)
 
ObservedDataStationApparentResistivityAndPhaseoperator= (const ObservedDataStationApparentResistivityAndPhase &rhs)
 

Private Attributes

double * m_apparentResistivityXXObserved
 
double * m_apparentResistivityXYObserved
 
double * m_apparentResistivityYXObserved
 
double * m_apparentResistivityYYObserved
 
double * m_PhaseXXObserved
 
double * m_PhaseXYObserved
 
double * m_PhaseYXObserved
 
double * m_PhaseYYObserved
 
double * m_apparentResistivityXXSD
 
double * m_apparentResistivityXYSD
 
double * m_apparentResistivityYXSD
 
double * m_apparentResistivityYYSD
 
double * m_PhaseXXSD
 
double * m_PhaseXYSD
 
double * m_PhaseYXSD
 
double * m_PhaseYYSD
 
double * m_apparentResistivityXXCalculated
 
double * m_apparentResistivityXYCalculated
 
double * m_apparentResistivityYXCalculated
 
double * m_apparentResistivityYYCalculated
 
double * m_PhaseXXCalculated
 
double * m_PhaseXYCalculated
 
double * m_PhaseYXCalculated
 
double * m_PhaseYYCalculated
 
double * m_apparentResistivityXXResidual
 
double * m_apparentResistivityXYResidual
 
double * m_apparentResistivityYXResidual
 
double * m_apparentResistivityYYResidual
 
double * m_PhaseXXResidual
 
double * m_PhaseXYResidual
 
double * m_PhaseYXResidual
 
double * m_PhaseYYResidual
 
int * m_dataIDOfApparentResistivityXX
 
int * m_dataIDOfApparentResistivityXY
 
int * m_dataIDOfApparentResistivityYX
 
int * m_dataIDOfApparentResistivityYY
 
int * m_dataIDOfPhaseXX
 
int * m_dataIDOfPhaseXY
 
int * m_dataIDOfPhaseYX
 
int * m_dataIDOfPhaseYY
 

Additional Inherited Members

- Public Types inherited from ObservedDataStationMT
enum  ImpedanceTensorComponent { XX = 0 , XY , YX , YY }
 
enum  ComponentIDOfDistortionMatrix { COMPONENT_ID_CXX = 0 , COMPONENT_ID_CXY , COMPONENT_ID_CYX , COMPONENT_ID_CYY }
 
enum  ComponentIDOfGainsAndRotations { EX_GAIN = 0 , EY_GAIN , EX_ROTATION , EY_ROTATION }
 
- Protected Attributes inherited from ObservedDataStationMT
std::complex< double > * m_ZxxObserved
 
std::complex< double > * m_ZxyObserved
 
std::complex< double > * m_ZyxObserved
 
std::complex< double > * m_ZyyObserved
 
CommonParameters::DoubleComplexValuesm_ZxxSD
 
CommonParameters::DoubleComplexValuesm_ZxySD
 
CommonParameters::DoubleComplexValuesm_ZyxSD
 
CommonParameters::DoubleComplexValuesm_ZyySD
 
std::complex< double > * m_ZxxCalculated
 
std::complex< double > * m_ZxyCalculated
 
std::complex< double > * m_ZyxCalculated
 
std::complex< double > * m_ZyyCalculated
 
CommonParameters::DoubleComplexValuesm_ZxxResidual
 
CommonParameters::DoubleComplexValuesm_ZxyResidual
 
CommonParameters::DoubleComplexValuesm_ZyxResidual
 
CommonParameters::DoubleComplexValuesm_ZyyResidual
 
CommonParameters::InitComplexValuesm_dataIDOfZxx
 
CommonParameters::InitComplexValuesm_dataIDOfZxy
 
CommonParameters::InitComplexValuesm_dataIDOfZyx
 
CommonParameters::InitComplexValuesm_dataIDOfZyy
 
DistortionMatrixDifferencesm_arrayDistortionMatrixDifferences
 
GainsAndRotationsm_arrayGainsAndRotations
 
- Protected Attributes inherited from ObservedDataStationPoint
CommonParameters::locationXY m_location
 
int m_elementIncludingStation
 
int m_faceIncludingStation
 
bool m_useUpperElementForInterpolationOfEMField
 
CommonParameters::locationXYZ m_localCoordinateValues
 
CommonParameters::VolumeCoords m_volumeCoordinateValues
 
CommonParameters::AreaCoords m_areaCoordinateValues
 
std::complex< double > m_HxCalculated [2]
 
std::complex< double > m_HyCalculated [2]
 
int m_rhsVectorIDOfHx
 
int m_rhsVectorIDOfHy
 
- Protected Attributes inherited from ObservedDataStation
int m_stationID
 
int m_IDOfMagneticFieldStation
 
int m_numOfFrequency
 
double * m_freq
 
int m_numOfFreqCalculatedByThisStaAndPE
 
std::vector< int > m_freqIDsAmongThisStationCalculatedByThisPE
 

Constructor & Destructor Documentation

◆ ObservedDataStationApparentResistivityAndPhase() [1/2]

ObservedDataStationApparentResistivityAndPhase::ObservedDataStationApparentResistivityAndPhase ( )
explicit

◆ ~ObservedDataStationApparentResistivityAndPhase()

ObservedDataStationApparentResistivityAndPhase::~ObservedDataStationApparentResistivityAndPhase ( )

◆ ObservedDataStationApparentResistivityAndPhase() [2/2]

ObservedDataStationApparentResistivityAndPhase::ObservedDataStationApparentResistivityAndPhase ( const ObservedDataStationApparentResistivityAndPhase rhs)
private

Member Function Documentation

◆ allocateMemoryForCalculatedValues()

void ObservedDataStationApparentResistivityAndPhase::allocateMemoryForCalculatedValues ( )
virtual

Reimplemented from ObservedDataStationMT.

◆ calcLog10ErrorOfApparentResistivity()

double ObservedDataStationApparentResistivityAndPhase::calcLog10ErrorOfApparentResistivity ( const int  freqIDGlobalInSta,
const int  iComp 
) const
private

◆ calculateApparentResistivityAndPhase()

void ObservedDataStationApparentResistivityAndPhase::calculateApparentResistivityAndPhase ( const double  freq,
const ObservedDataStationPoint *const  ptrStationOfMagneticField,
int &  icount 
)

◆ calculateErrorSumOfSquaresThisPE()

double ObservedDataStationApparentResistivityAndPhase::calculateErrorSumOfSquaresThisPE ( ) const
virtual

Reimplemented from ObservedDataStationMT.

◆ calculateResidualVectorOfDataThisPE()

void ObservedDataStationApparentResistivityAndPhase::calculateResidualVectorOfDataThisPE ( const double  freq,
const int  offset,
double *  vector 
) const
virtual

Reimplemented from ObservedDataStationMT.

◆ calculateSensitivityMatrix()

void ObservedDataStationApparentResistivityAndPhase::calculateSensitivityMatrix ( const double  freq,
const int  nModel,
const ObservedDataStationPoint *const  ptrStationOfMagneticField,
const std::complex< double > *const  derivativesOfEMFieldExPol,
const std::complex< double > *const  derivativesOfEMFieldEyPol,
double *const  sensitivityMatrix 
) const

◆ initializeApparentResistivityPhaseAndErrors()

void ObservedDataStationApparentResistivityAndPhase::initializeApparentResistivityPhaseAndErrors ( )

◆ inputObservedData()

void ObservedDataStationApparentResistivityAndPhase::inputObservedData ( std::ifstream &  inFile)
virtual

Reimplemented from ObservedDataStationMT.

◆ isApparentResistivityIgnoredForAllFrequencies()

bool ObservedDataStationApparentResistivityAndPhase::isApparentResistivityIgnoredForAllFrequencies ( const int  iComp) const

◆ isUsedImpedanceTensor()

bool ObservedDataStationApparentResistivityAndPhase::isUsedImpedanceTensor ( const double  phaseObs,
const double  phaseError,
const double  phaseCalc 
) const
private

◆ isUsedImpedanceTensorFromFreqIDs()

bool ObservedDataStationApparentResistivityAndPhase::isUsedImpedanceTensorFromFreqIDs ( const int  freqIDThisPEInSta,
const int  iComp 
) const
private

◆ operator=()

ObservedDataStationApparentResistivityAndPhase& ObservedDataStationApparentResistivityAndPhase::operator= ( const ObservedDataStationApparentResistivityAndPhase rhs)
private

◆ outputCalculatedValues()

void ObservedDataStationApparentResistivityAndPhase::outputCalculatedValues ( ) const
virtual

Reimplemented from ObservedDataStationMT.

Member Data Documentation

◆ m_apparentResistivityXXCalculated

double* ObservedDataStationApparentResistivityAndPhase::m_apparentResistivityXXCalculated
private

◆ m_apparentResistivityXXObserved

double* ObservedDataStationApparentResistivityAndPhase::m_apparentResistivityXXObserved
private

◆ m_apparentResistivityXXResidual

double* ObservedDataStationApparentResistivityAndPhase::m_apparentResistivityXXResidual
private

◆ m_apparentResistivityXXSD

double* ObservedDataStationApparentResistivityAndPhase::m_apparentResistivityXXSD
private

◆ m_apparentResistivityXYCalculated

double* ObservedDataStationApparentResistivityAndPhase::m_apparentResistivityXYCalculated
private

◆ m_apparentResistivityXYObserved

double* ObservedDataStationApparentResistivityAndPhase::m_apparentResistivityXYObserved
private

◆ m_apparentResistivityXYResidual

double* ObservedDataStationApparentResistivityAndPhase::m_apparentResistivityXYResidual
private

◆ m_apparentResistivityXYSD

double* ObservedDataStationApparentResistivityAndPhase::m_apparentResistivityXYSD
private

◆ m_apparentResistivityYXCalculated

double* ObservedDataStationApparentResistivityAndPhase::m_apparentResistivityYXCalculated
private

◆ m_apparentResistivityYXObserved

double* ObservedDataStationApparentResistivityAndPhase::m_apparentResistivityYXObserved
private

◆ m_apparentResistivityYXResidual

double* ObservedDataStationApparentResistivityAndPhase::m_apparentResistivityYXResidual
private

◆ m_apparentResistivityYXSD

double* ObservedDataStationApparentResistivityAndPhase::m_apparentResistivityYXSD
private

◆ m_apparentResistivityYYCalculated

double* ObservedDataStationApparentResistivityAndPhase::m_apparentResistivityYYCalculated
private

◆ m_apparentResistivityYYObserved

double* ObservedDataStationApparentResistivityAndPhase::m_apparentResistivityYYObserved
private

◆ m_apparentResistivityYYResidual

double* ObservedDataStationApparentResistivityAndPhase::m_apparentResistivityYYResidual
private

◆ m_apparentResistivityYYSD

double* ObservedDataStationApparentResistivityAndPhase::m_apparentResistivityYYSD
private

◆ m_dataIDOfApparentResistivityXX

int* ObservedDataStationApparentResistivityAndPhase::m_dataIDOfApparentResistivityXX
private

◆ m_dataIDOfApparentResistivityXY

int* ObservedDataStationApparentResistivityAndPhase::m_dataIDOfApparentResistivityXY
private

◆ m_dataIDOfApparentResistivityYX

int* ObservedDataStationApparentResistivityAndPhase::m_dataIDOfApparentResistivityYX
private

◆ m_dataIDOfApparentResistivityYY

int* ObservedDataStationApparentResistivityAndPhase::m_dataIDOfApparentResistivityYY
private

◆ m_dataIDOfPhaseXX

int* ObservedDataStationApparentResistivityAndPhase::m_dataIDOfPhaseXX
private

◆ m_dataIDOfPhaseXY

int* ObservedDataStationApparentResistivityAndPhase::m_dataIDOfPhaseXY
private

◆ m_dataIDOfPhaseYX

int* ObservedDataStationApparentResistivityAndPhase::m_dataIDOfPhaseYX
private

◆ m_dataIDOfPhaseYY

int* ObservedDataStationApparentResistivityAndPhase::m_dataIDOfPhaseYY
private

◆ m_PhaseXXCalculated

double* ObservedDataStationApparentResistivityAndPhase::m_PhaseXXCalculated
private

◆ m_PhaseXXObserved

double* ObservedDataStationApparentResistivityAndPhase::m_PhaseXXObserved
private

◆ m_PhaseXXResidual

double* ObservedDataStationApparentResistivityAndPhase::m_PhaseXXResidual
private

◆ m_PhaseXXSD

double* ObservedDataStationApparentResistivityAndPhase::m_PhaseXXSD
private

◆ m_PhaseXYCalculated

double* ObservedDataStationApparentResistivityAndPhase::m_PhaseXYCalculated
private

◆ m_PhaseXYObserved

double* ObservedDataStationApparentResistivityAndPhase::m_PhaseXYObserved
private

◆ m_PhaseXYResidual

double* ObservedDataStationApparentResistivityAndPhase::m_PhaseXYResidual
private

◆ m_PhaseXYSD

double* ObservedDataStationApparentResistivityAndPhase::m_PhaseXYSD
private

◆ m_PhaseYXCalculated

double* ObservedDataStationApparentResistivityAndPhase::m_PhaseYXCalculated
private

◆ m_PhaseYXObserved

double* ObservedDataStationApparentResistivityAndPhase::m_PhaseYXObserved
private

◆ m_PhaseYXResidual

double* ObservedDataStationApparentResistivityAndPhase::m_PhaseYXResidual
private

◆ m_PhaseYXSD

double* ObservedDataStationApparentResistivityAndPhase::m_PhaseYXSD
private

◆ m_PhaseYYCalculated

double* ObservedDataStationApparentResistivityAndPhase::m_PhaseYYCalculated
private

◆ m_PhaseYYObserved

double* ObservedDataStationApparentResistivityAndPhase::m_PhaseYYObserved
private

◆ m_PhaseYYResidual

double* ObservedDataStationApparentResistivityAndPhase::m_PhaseYYResidual
private

◆ m_PhaseYYSD

double* ObservedDataStationApparentResistivityAndPhase::m_PhaseYYSD
private

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