FEMTIC
Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
Inversion Class Referenceabstract

#include <Inversion.h>

Inheritance diagram for Inversion:
Inheritance graph
[legend]

Public Types

enum  InversionMethod { GAUSS_NEWTON_MODEL_SPECE = 0 , GAUSS_NEWTON_DATA_SPECE }
 

Public Member Functions

 Inversion ()
 
 Inversion (const int nModel, const int nData)
 
virtual ~Inversion ()
 
void calculateDerivativesOfEMField (Forward3D *const ptrForward3D, const double freq, const int iPol)
 
void calculateSensitivityMatrix (const int freqIDAmongThisPE, const double freq)
 
void allocateMemoryForSensitivityScalarValues ()
 
void releaseMemoryOfSensitivityScalarValues ()
 
void outputSensitivityScalarValuesToVtk () const
 
void outputSensitivityScalarValuesToBinary (const int interNum) const
 
virtual void inversionCalculation ()=0
 
void deleteOutOfCoreFileAll ()
 
int getNumberOfModel () const
 
void outputNumberOfModel () const
 

Protected Member Functions

void calcConstrainingMatrix (DoubleSparseMatrix &constrainingMatrix) const
 
void copyModelTransformingJacobian (const int numBlockNotFixed, const int numModel, double *jacobian) const
 
void multiplyModelTransformingJacobian (const int numData, const int numModel, const double *jacobian, double *matrix) const
 

Private Member Functions

 Inversion (const Inversion &rhs)
 
Inversionoperator= (const Inversion &rhs)
 

Private Attributes

int m_numModel
 
int m_numData
 
std::complex< double > * m_derivativesOfEMField [2]
 
double * m_sensitivityScalarValues
 

Member Enumeration Documentation

◆ InversionMethod

Enumerator
GAUSS_NEWTON_MODEL_SPECE 
GAUSS_NEWTON_DATA_SPECE 

Constructor & Destructor Documentation

◆ Inversion() [1/3]

Inversion::Inversion ( )
explicit

◆ Inversion() [2/3]

Inversion::Inversion ( const int  nModel,
const int  nData 
)
explicit

◆ ~Inversion()

Inversion::~Inversion ( )
virtual

◆ Inversion() [3/3]

Inversion::Inversion ( const Inversion rhs)
inlineprivate

Member Function Documentation

◆ allocateMemoryForSensitivityScalarValues()

void Inversion::allocateMemoryForSensitivityScalarValues ( )

◆ calcConstrainingMatrix()

void Inversion::calcConstrainingMatrix ( DoubleSparseMatrix constrainingMatrix) const
protected

◆ calculateDerivativesOfEMField()

void Inversion::calculateDerivativesOfEMField ( Forward3D *const  ptrForward3D,
const double  freq,
const int  iPol 
)

◆ calculateSensitivityMatrix()

void Inversion::calculateSensitivityMatrix ( const int  freqIDAmongThisPE,
const double  freq 
)

◆ copyModelTransformingJacobian()

void Inversion::copyModelTransformingJacobian ( const int  numBlockNotFixed,
const int  numModel,
double *  jacobian 
) const
protected

◆ deleteOutOfCoreFileAll()

void Inversion::deleteOutOfCoreFileAll ( )

◆ getNumberOfModel()

int Inversion::getNumberOfModel ( ) const

◆ inversionCalculation()

virtual void Inversion::inversionCalculation ( )
pure virtual

◆ multiplyModelTransformingJacobian()

void Inversion::multiplyModelTransformingJacobian ( const int  numData,
const int  numModel,
const double *  jacobian,
double *  matrix 
) const
protected

◆ operator=()

Inversion& Inversion::operator= ( const Inversion rhs)
inlineprivate

◆ outputNumberOfModel()

void Inversion::outputNumberOfModel ( ) const

◆ outputSensitivityScalarValuesToBinary()

void Inversion::outputSensitivityScalarValuesToBinary ( const int  interNum) const

◆ outputSensitivityScalarValuesToVtk()

void Inversion::outputSensitivityScalarValuesToVtk ( ) const

◆ releaseMemoryOfSensitivityScalarValues()

void Inversion::releaseMemoryOfSensitivityScalarValues ( )

Member Data Documentation

◆ m_derivativesOfEMField

std::complex<double>* Inversion::m_derivativesOfEMField[2]
private

◆ m_numData

int Inversion::m_numData
private

◆ m_numModel

int Inversion::m_numModel
private

◆ m_sensitivityScalarValues

double* Inversion::m_sensitivityScalarValues
private

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