RINGMesh  Version 5.0.0
A programming library for geological model meshes
RINGMesh::WellGroup< DIMENSION > Class Template Reference

#include <well.h>

Public Member Functions

 WellGroup ()
 
virtual ~WellGroup ()=default
 
void get_region_edges (index_t region, std::vector< Edge< DIMENSION > > &edges) const
 
void get_region_edges (index_t region, std::vector< std::vector< Edge< DIMENSION > > > &edges) const
 
const GeoModel< DIMENSION > * geomodel () const
 
void set_geomodel (GeoModel< DIMENSION > *geomodel)
 
index_t find_well (const std::string &name) const
 
void create_wells (index_t nb_wells)
 
void add_well (const LineMesh< DIMENSION > &mesh, const std::string &name)
 
index_t nb_wells () const
 
const Well< DIMENSION > & well (index_t w) const
 
template<>
void add_well (const LineMesh< 2 > &mesh, const std::string &name)
 
template<>
void add_well (const LineMesh3D &mesh, const std::string &name)
 

Protected Attributes

std::vector< Well< DIMENSION > *> wells_
 Vector of the wells. More...
 
GeoModel< DIMENSION > * geomodel_
 Associated GeoModel. More...
 

Private Member Functions

 ringmesh_disable_copy_and_move (WellGroup)
 
void compute_conformal_mesh (const LineMesh< DIMENSION > &in, LineMesh< DIMENSION > &out)
 
template<>
void compute_conformal_mesh (const LineMesh< 2 > &in, LineMesh< 2 > &out)
 
template<>
void compute_conformal_mesh (const LineMesh3D &in, LineMesh3D &out)
 

Detailed Description

template<index_t DIMENSION>
class RINGMesh::WellGroup< DIMENSION >

Definition at line 405 of file well.h.

Constructor & Destructor Documentation

◆ WellGroup()

template<index_t DIMENSION>
RINGMesh::WellGroup< DIMENSION >::WellGroup ( )

Definition at line 505 of file well.cpp.

◆ ~WellGroup()

template<index_t DIMENSION>
virtual RINGMesh::WellGroup< DIMENSION >::~WellGroup ( )
virtualdefault

Member Function Documentation

◆ add_well() [1/3]

template<index_t DIMENSION>
void RINGMesh::WellGroup< DIMENSION >::add_well ( const LineMesh< DIMENSION > &  mesh,
const std::string &  name 
)

Add a well from its mesh and makes it conformal to the associated GeoModel

Parameters
[in]meshthe mesh of the well
[in]namethe name of the well

◆ add_well() [2/3]

template<>
void RINGMesh::WellGroup< 2 >::add_well ( const LineMesh< 2 > &  mesh,
const std::string &  name 
)

Definition at line 633 of file well.cpp.

◆ add_well() [3/3]

template<>
void RINGMesh::WellGroup< 3 >::add_well ( const LineMesh3D &  mesh,
const std::string &  name 
)

Definition at line 643 of file well.cpp.

◆ compute_conformal_mesh() [1/3]

template<index_t DIMENSION>
void RINGMesh::WellGroup< DIMENSION >::compute_conformal_mesh ( const LineMesh< DIMENSION > &  in,
LineMesh< DIMENSION > &  out 
)
private

◆ compute_conformal_mesh() [2/3]

template<>
void RINGMesh::WellGroup< 2 >::compute_conformal_mesh ( const LineMesh< 2 > &  in,
LineMesh< 2 > &  out 
)
private

Definition at line 550 of file well.cpp.

◆ compute_conformal_mesh() [3/3]

template<>
void RINGMesh::WellGroup< 3 >::compute_conformal_mesh ( const LineMesh3D &  in,
LineMesh3D &  out 
)
private

Definition at line 560 of file well.cpp.

◆ create_wells()

template<index_t DIMENSION>
void RINGMesh::WellGroup< DIMENSION >::create_wells ( index_t  nb_wells)

Creates new wells

Parameters
[in]nbthe number of wells to create

Definition at line 540 of file well.cpp.

◆ find_well()

template<index_t DIMENSION>
index_t RINGMesh::WellGroup< DIMENSION >::find_well ( const std::string &  name) const

Finds if a well with the same name already exist

Parameters
[in]namethe name to test
Returns
the id of the well or NO_ID

Definition at line 743 of file well.cpp.

◆ geomodel()

template<index_t DIMENSION>
const GeoModel< DIMENSION >* RINGMesh::WellGroup< DIMENSION >::geomodel ( ) const
inline

Gets the associated GeoModel

Definition at line 432 of file well.h.

◆ get_region_edges() [1/2]

template<index_t DIMENSION>
void RINGMesh::WellGroup< DIMENSION >::get_region_edges ( index_t  region,
std::vector< Edge< DIMENSION > > &  edges 
) const

Gets all the edges contained in a region

Parameters
[in]regionthe region id
[in,out]edgesthe edges of the region

Definition at line 510 of file well.cpp.

◆ get_region_edges() [2/2]

template<index_t DIMENSION>
void RINGMesh::WellGroup< DIMENSION >::get_region_edges ( index_t  region,
std::vector< std::vector< Edge< DIMENSION > > > &  edges 
) const

Gets all the edges contained in a region

Parameters
[in]regionthe region id
[in,out]edgesthe edges of the region, one vector per well

Definition at line 527 of file well.cpp.

◆ nb_wells()

template<index_t DIMENSION>
index_t RINGMesh::WellGroup< DIMENSION >::nb_wells ( ) const
inline

Gets the number of wells

Definition at line 469 of file well.h.

◆ ringmesh_disable_copy_and_move()

template<index_t DIMENSION>
RINGMesh::WellGroup< DIMENSION >::ringmesh_disable_copy_and_move ( WellGroup< DIMENSION >  )
private

◆ set_geomodel()

template<index_t DIMENSION>
void RINGMesh::WellGroup< DIMENSION >::set_geomodel ( GeoModel< DIMENSION > *  geomodel)
inline

Sets the associated GeoModel

Definition at line 439 of file well.h.

◆ well()

template<index_t DIMENSION>
const Well< DIMENSION >& RINGMesh::WellGroup< DIMENSION >::well ( index_t  w) const
inline

Gets the well

Parameters
[in]wthe well id
Returns
the corresponding well

Definition at line 478 of file well.h.

Member Data Documentation

◆ geomodel_

template<index_t DIMENSION>
GeoModel< DIMENSION >* RINGMesh::WellGroup< DIMENSION >::geomodel_
protected

Associated GeoModel.

Definition at line 491 of file well.h.

◆ wells_

template<index_t DIMENSION>
std::vector< Well< DIMENSION >* > RINGMesh::WellGroup< DIMENSION >::wells_
protected

Vector of the wells.

Definition at line 489 of file well.h.


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