Geophysical Inversion and Modelling Library v1.5.4
Loading...
Searching...
No Matches
gravimetry.h
1/******************************************************************************
2 * Copyright (C) 2012-2024 by the GIMLi development team *
3 * Carsten Rücker carsten@resistivity.net *
4 * *
5 * Licensed under the Apache License, Version 2.0 (the "License"); *
6 * you may not use this file except in compliance with the License. *
7 * You may obtain a copy of the License at *
8 * *
9 * http://www.apache.org/licenses/LICENSE-2.0 *
10 * *
11 * Unless required by applicable law or agreed to in writing, software *
12 * distributed under the License is distributed on an "AS IS" BASIS, *
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
14 * See the License for the specific language governing permissions and *
15 * limitations under the License. *
16 * *
17 ******************************************************************************/
18
19#ifndef _GIMLI_GRAVIMETRY__H
20#define _GIMLI_GRAVIMETRY__H
21
22#include "gimli.h"
23#include "modellingbase.h"
24
25namespace GIMLI {
26
28
29class DLLEXPORT GravimetryModelling : public ModellingBase {
30public:
31 GravimetryModelling( Mesh & mesh, DataContainer & dataContainer, bool verbose = false );
32
33 virtual ~GravimetryModelling() { }
34
35 RVector createDefaultStartModel( );
36
38 virtual RVector response( const RVector & slowness );
39
41 virtual void createJacobian( const RVector & slowness );
42
44 virtual void initJacobian( );
45
46protected:
47};
48
49
50
53DLLEXPORT double lineIntegraldGdz( const RVector3 & p1, const RVector3 & p2 );
54
56DLLEXPORT RVector calcGBounds( const std::vector< RVector3 > & pos, const Mesh & mesh, const RVector & model );
57
59DLLEXPORT RVector calcGCells( const std::vector< RVector3 > & pos, const Mesh & mesh, const RVector & model, uint nInt = 0 );
60
61} //namespace GIMLI
62
63#endif
DataContainer to store, load and save data in the GIMLi unified data format.
Definition datacontainer.h:48
virtual RVector response(const RVector &slowness)
Definition gravimetry.cpp:39
virtual void initJacobian()
Definition gravimetry.cpp:49
RVector createDefaultStartModel()
Definition gravimetry.cpp:33
virtual void createJacobian(const RVector &slowness)
Definition gravimetry.cpp:45
Definition mesh.h:128
bool verbose() const
Definition modellingbase.h:48
GIMLi main namespace for the Geophyiscal Inversion and Modelling Library.
Definition baseentity.h:24
RVector calcGBounds(const std::vector< RVector3 > &pos, const Mesh &mesh, const RVector &model)
Definition gravimetry.cpp:99
RVector calcGCells(const std::vector< RVector3 > &pos, const Mesh &mesh, const RVector &model, uint nInt)
Definition gravimetry.cpp:123
double lineIntegraldGdz(const RVector3 &p1, const RVector3 &p2)
Definition gravimetry.cpp:54