LORENE
Lorene::Connection_fspher Class Reference

Class Connection_fspher. More...

#include <connection.h>

Inheritance diagram for Lorene::Connection_fspher:
Lorene::Connection_flat Lorene::Connection

Public Member Functions

 Connection_fspher (const Map &, const Base_vect_spher &)
 Contructor from a spherical flat-metric-orthonormal basis. More...
 
 Connection_fspher (const Connection_fspher &)
 Copy constructor. More...
 
virtual ~Connection_fspher ()
 destructor More...
 
void operator= (const Connection_fspher &)
 Assignment to another Connection_fspher. More...
 
virtual Tensor * p_derive_cov (const Tensor &tens) const
 Computes the covariant derivative $\nabla T$ of a tensor $T$ (with respect to the current connection). More...
 
virtual Tensor * p_divergence (const Tensor &tens) const
 Computes the divergence of a tensor $T$ (with respect to the current connection). More...
 
virtual const Tensor & ricci () const
 Computes (if not up to date) and returns the Ricci tensor associated with the current connection. More...
 
void update (const Tensor_sym &delta_i)
 Update the connection when it is defined ab initio. More...
 
void update (const Metric &met)
 Update the connection when it is associated with a metric. More...
 
const Map & get_mp () const
 Returns the mapping. More...
 
const Tensor_sym & get_delta () const
 Returns the tensor $\Delta^i_{\ jk}$ which defines the connection with respect to the flat one: $\Delta^i_{\ jk}$ is the difference between the connection coefficients $\Gamma^i_{\ jk}$ and the connection coefficients ${\bar \Gamma}^i_{\ jk}$ of the flat connection. More...
 

Protected Member Functions

void del_deriv () const
 Deletes all the derived quantities. More...
 
void set_der_0x0 () const
 Sets to 0x0 all the pointers on derived quantities. More...
 

Protected Attributes

const Map *const mp
 Reference mapping. More...
 
const Base_vect *const triad
 Triad $(e_i)$ with respect to which the connection coefficients are defined. More...
 
Tensor_sym delta
 Tensor $\Delta^i_{\ jk}$ which defines the connection with respect to the flat one: $\Delta^i_{\ jk}$ is the difference between the connection coefficients $\Gamma^i_{\ jk}$ and the connection coefficients ${\bar \Gamma}^i_{\ jk}$ of the flat connection. More...
 
bool assoc_metric
 Indicates whether the connection is associated with a metric (in which case the Ricci tensor is symmetric, i.e. More...
 
Tensor * p_ricci
 Pointer of the Ricci tensor associated with the connection. More...
 

Detailed Description

Class Connection_fspher.

()

Class for connections associated with a flat metric and given onto an orthonormal spherical triad.

Definition at line 452 of file connection.h.

Constructor & Destructor Documentation

§ Connection_fspher() [1/2]

Lorene::Connection_fspher::Connection_fspher ( const Map &  mpi,
const Base_vect_spher &  bi 
)

Contructor from a spherical flat-metric-orthonormal basis.

Definition at line 142 of file connection_fspher.C.

§ Connection_fspher() [2/2]

Lorene::Connection_fspher::Connection_fspher ( const Connection_fspher &  ci)

Copy constructor.

Definition at line 148 of file connection_fspher.C.

§ ~Connection_fspher()

Lorene::Connection_fspher::~Connection_fspher ( )
virtual

destructor

Definition at line 158 of file connection_fspher.C.

Member Function Documentation

§ del_deriv()

void Lorene::Connection::del_deriv ( ) const
protectedinherited

Deletes all the derived quantities.

Definition at line 205 of file connection.C.

References Lorene::Connection::p_ricci, and Lorene::Connection::set_der_0x0().

§ get_delta()

const Tensor_sym& Lorene::Connection::get_delta ( ) const
inlineinherited

Returns the tensor $\Delta^i_{\ jk}$ which defines the connection with respect to the flat one: $\Delta^i_{\ jk}$ is the difference between the connection coefficients $\Gamma^i_{\ jk}$ and the connection coefficients ${\bar \Gamma}^i_{\ jk}$ of the flat connection.

The connection coefficients with respect to the triad $(e_i)$ are defined according to the MTW convention:

\[ \Gamma^i_{\ jk} := \langle e^i, \nabla_{e_k} \, e_j \rangle \]

Note that $\Delta^i_{\ jk}$ is symmetric with respect to the indices j and k.

Returns
delta}(i,j,k) = $\Delta^i_{\ jk}$

Definition at line 271 of file connection.h.

References Lorene::Connection::delta, Lorene::Connection::fait_delta(), Lorene::Connection::p_derive_cov(), Lorene::Connection::p_divergence(), and Lorene::Connection::ricci().

§ get_mp()

const Map& Lorene::Connection::get_mp ( ) const
inlineinherited

Returns the mapping.

Definition at line 253 of file connection.h.

References Lorene::Connection::mp.

§ operator=()

void Lorene::Connection_fspher::operator= ( const Connection_fspher &  )

Assignment to another Connection_fspher.

Definition at line 168 of file connection_fspher.C.

§ p_derive_cov()

Tensor * Lorene::Connection_fspher::p_derive_cov ( const Tensor &  tens) const
virtual

Computes the covariant derivative $\nabla T$ of a tensor $T$ (with respect to the current connection).

The extra index (with respect to the indices of $T$) of $\nabla T$ is chosen to be the last one. This convention agrees with that of MTW (see Eq. (10.17) of MTW). For instance, if $T$ is a 1-form, whose components w.r.t. the triad $e^i$ are $T_i$: $T=T_i \; e^i$, then the covariant derivative of $T$ is the bilinear form $\nabla T$ whose components $\nabla_j T_i$ are such that

\[ \nabla T = \nabla_j T_i \; e^i \otimes e^j \]

Parameters
tenstensor $T$
Returns
pointer on the covariant derivative $\nabla T$ ; this pointer is polymorphe, i.e. it is a pointer on a Vector if the argument is a Scalar , and on a Tensor otherwise. NB: The corresponding memory is allocated by the method p_derive_cov() and must be deallocated by the user afterwards.

Implements Lorene::Connection_flat.

Definition at line 183 of file connection_fspher.C.

References Lorene::Tensor::get_index_type(), Lorene::Map::get_mg(), Lorene::Tensor::get_n_comp(), Lorene::Mg3d::get_nzone(), Lorene::Tensor::get_triad(), Lorene::Mg3d::get_type_r(), Lorene::Tensor::get_valence(), Lorene::Tensor::indices(), Lorene::Connection::mp, Lorene::Itbl::set(), Lorene::Tensor_sym::sym_index1(), Lorene::Tensor_sym::sym_index2(), and Lorene::Connection::triad.

§ p_divergence()

Tensor * Lorene::Connection_fspher::p_divergence ( const Tensor &  tens) const
virtual

Computes the divergence of a tensor $T$ (with respect to the current connection).

The divergence is taken with respect of the last index of $T$ which thus must be contravariant. For instance if $T$ is a twice contravariant tensor, whose components w.r.t. the triad $e_i$ are $T^{ij}$: $T = T^{ij} \; e_i \otimes e_j$, the divergence of $T$ is the vector

\[ {\rm div} T = \nabla_k T^{ik} \; e_i \]

where $\nabla$ denotes the current connection.

Parameters
tenstensor $T$
Returns
pointer on the divergence of $T$ ; this pointer is polymorphe, i.e. its is a pointer on a Scalar if $T$ is a Vector , on a Vector if $T$ is a tensor of valence 2, and on a Tensor otherwise. NB: The corresponding memory is allocated by the method p_divergence() and must be deallocated by the user afterwards.

Implements Lorene::Connection_flat.

Definition at line 431 of file connection_fspher.C.

References Lorene::Scalar::div_r_dzpuis(), Lorene::Scalar::div_tant(), Lorene::Tensor::get_index_type(), Lorene::Tensor::get_n_comp(), Lorene::Tensor::get_triad(), Lorene::Tensor::get_valence(), Lorene::Tensor::indices(), Lorene::Connection::mp, Lorene::Itbl::set(), Lorene::Tensor::set(), Lorene::Tensor_sym::sym_index1(), Lorene::Tensor_sym::sym_index2(), and Lorene::Connection::triad.

§ ricci()

const Tensor & Lorene::Connection_flat::ricci ( ) const
virtualinherited

Computes (if not up to date) and returns the Ricci tensor associated with the current connection.

Reimplemented from Lorene::Connection.

Definition at line 121 of file connection_flat.C.

References Lorene::Connection::mp, Lorene::Connection::p_ricci, Lorene::Tensor::set_etat_zero(), and Lorene::Connection::triad.

§ set_der_0x0()

void Lorene::Connection::set_der_0x0 ( ) const
protectedinherited

Sets to 0x0 all the pointers on derived quantities.

Definition at line 213 of file connection.C.

References Lorene::Connection::p_ricci.

§ update() [1/2]

void Lorene::Connection::update ( const Tensor_sym &  delta_i)
inherited

Update the connection when it is defined ab initio.

Parameters
delta_itensor $\Delta^i_{\ jk}$ which defines the connection with respect to the flat one: $\Delta^i_{\ jk}$ is the difference between the connection coefficients $\Gamma^i_{\ jk}$ and the connection coefficients ${\bar \Gamma}^i_{\ jk}$ of the flat connection. $\Delta^i_{\ jk}$ must be symmetric with respect to the indices j and k.

Definition at line 235 of file connection.C.

References Lorene::Connection::assoc_metric, Lorene::Connection::del_deriv(), Lorene::Connection::delta, Lorene::Connection::flat_met, Lorene::Tensor::get_index_type(), Lorene::Tensor::get_valence(), Lorene::Tensor_sym::sym_index1(), and Lorene::Tensor_sym::sym_index2().

§ update() [2/2]

void Lorene::Connection::update ( const Metric &  met)
inherited

Update the connection when it is associated with a metric.

Parameters
metMetric to which the connection is associated

Definition at line 255 of file connection.C.

References Lorene::Connection::assoc_metric, Lorene::Connection::del_deriv(), Lorene::Connection::fait_delta(), and Lorene::Connection::flat_met.

Member Data Documentation

§ assoc_metric

bool Lorene::Connection::assoc_metric
protectedinherited

Indicates whether the connection is associated with a metric (in which case the Ricci tensor is symmetric, i.e.

the actual type of p_ricci is a Sym_tensor )

Definition at line 147 of file connection.h.

§ delta

Tensor_sym Lorene::Connection::delta
protectedinherited

Tensor $\Delta^i_{\ jk}$ which defines the connection with respect to the flat one: $\Delta^i_{\ jk}$ is the difference between the connection coefficients $\Gamma^i_{\ jk}$ and the connection coefficients ${\bar \Gamma}^i_{\ jk}$ of the flat connection.

The connection coefficients with respect to the triad $(e_i)$ are defined according to the MTW convention:

\[ \Gamma^i_{\ jk} := \langle e^i, \nabla_{e_k} \, e_j \rangle \]

Note that $\Delta^i_{\ jk}$ is symmetric with respect to the indices j and k.

Definition at line 141 of file connection.h.

§ mp

const Map* const Lorene::Connection::mp
protectedinherited

Reference mapping.

Definition at line 119 of file connection.h.

§ p_ricci

Tensor* Lorene::Connection::p_ricci
mutableprotectedinherited

Pointer of the Ricci tensor associated with the connection.

Definition at line 164 of file connection.h.

§ triad

const Base_vect* const Lorene::Connection::triad
protectedinherited

Triad $(e_i)$ with respect to which the connection coefficients are defined.

Definition at line 124 of file connection.h.


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