Lorene::Connection_fspher Class Reference
[Tensorial fields]

Class Connection_fspher. More...

#include <connection.h>

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

List of all members.

Public Member Functions

 Connection_fspher (const Map &, const Base_vect_spher &)
 Contructor from a spherical flat-metric-orthonormal basis.
 Connection_fspher (const Connection_fspher &)
 Copy constructor.
virtual ~Connection_fspher ()
 destructor
void operator= (const Connection_fspher &)
 Assignment to another Connection_fspher.
virtual Tensorp_derive_cov (const Tensor &tens) const
 Computes the covariant derivative $\nabla T$ of a tensor $T$ (with respect to the current connection).
virtual Tensorp_divergence (const Tensor &tens) const
 Computes the divergence of a tensor $T$ (with respect to the current connection).
virtual const Tensorricci () const
 Computes (if not up to date) and returns the Ricci tensor associated with the current connection.
void update (const Tensor_sym &delta_i)
 Update the connection when it is defined ab initio.
void update (const Metric &met)
 Update the connection when it is associated with a metric.
const Mapget_mp () const
 Returns the mapping.
const Tensor_symget_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.

Protected Member Functions

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

Protected Attributes

const Map *const mp
 Reference mapping.
const Base_vect *const triad
 Triad $(e_i)$ with respect to which the connection coefficients are defined.
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.
bool assoc_metric
 Indicates whether the connection is associated with a metric (in which case the Ricci tensor is symmetric, i.e.
Tensorp_ricci
 Pointer of the Ricci tensor associated with the connection.

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

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

Contructor from a spherical flat-metric-orthonormal basis.

Definition at line 145 of file connection_fspher.C.

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

Copy constructor.

Definition at line 151 of file connection_fspher.C.

Lorene::Connection_fspher::~Connection_fspher (  )  [virtual]

destructor

Definition at line 161 of file connection_fspher.C.


Member Function Documentation

void Lorene::Connection::del_deriv (  )  const [protected, inherited]

Deletes all the derived quantities.

Definition at line 208 of file connection.C.

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

const Tensor_sym& Lorene::Connection::get_delta (  )  const [inline, inherited]

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.

const Map& Lorene::Connection::get_mp (  )  const [inline, inherited]

Returns the mapping.

Definition at line 253 of file connection.h.

References Lorene::Connection::mp.

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

Assignment to another Connection_fspher.

Reimplemented from Lorene::Connection_flat.

Definition at line 171 of file connection_fspher.C.

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:
tens tensor $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 186 of file connection_fspher.C.

References Lorene::Scalar::div_r_dzpuis(), Lorene::Scalar::div_tant(), 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::Tensor::set(), Lorene::Itbl::set(), Lorene::Tensor_sym::sym_index1(), Lorene::Tensor_sym::sym_index2(), and Lorene::Connection::triad.

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:
tens tensor $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 434 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_sym::sym_index1(), Lorene::Tensor_sym::sym_index2(), and Lorene::Connection::triad.

const Tensor & Lorene::Connection_flat::ricci (  )  const [virtual, inherited]

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

Reimplemented from Lorene::Connection.

Definition at line 124 of file connection_flat.C.

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

void Lorene::Connection::set_der_0x0 (  )  const [protected, inherited]

Sets to 0x0 all the pointers on derived quantities.

Definition at line 216 of file connection.C.

References Lorene::Connection::p_ricci.

void Lorene::Connection::update ( const Metric met  )  [inherited]

Update the connection when it is associated with a metric.

Parameters:
met Metric to which the connection is associated

Definition at line 258 of file connection.C.

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

void Lorene::Connection::update ( const Tensor_sym delta_i  )  [inherited]

Update the connection when it is defined ab initio.

Parameters:
delta_i 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. $\Delta^i_{\ jk}$ must be symmetric with respect to the indices j and k.

Definition at line 238 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().


Member Data Documentation

bool Lorene::Connection::assoc_metric [protected, inherited]

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.

Tensor_sym Lorene::Connection::delta [protected, inherited]

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.

const Map* const Lorene::Connection::mp [protected, inherited]

Reference mapping.

Definition at line 119 of file connection.h.

Tensor* Lorene::Connection::p_ricci [mutable, protected, inherited]

Pointer of the Ricci tensor associated with the connection.

Definition at line 164 of file connection.h.

const Base_vect* const Lorene::Connection::triad [protected, inherited]

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:

Generated on 7 Dec 2019 for LORENE by  doxygen 1.6.1