20 #ifndef __METRIC__AADS_HPP_
21 #define __METRIC__AADS_HPP_
25 #include "system_of_eqs.hpp"
27 #include "term_eq.hpp"
28 #include "name_tools.hpp"
29 #include "metric_tensor.hpp"
30 #include "base_tensor.hpp"
35 #include "gsl/gsl_permutation.h"
73 virtual void update(
int d);
92 void init_system(
System_of_eqs&
syst,
const char* name_back_cov,
const char* name_back_con,
const char* name_back_gam,
const char* name_back_ricci);
178 void set_system(
System_of_eqs&
syst,
const char* name_met,
const char* name_hmet,
const char* name_back_cov,
const char* name_back_con,
const char* name_back_ricci);
189 void set_system(
System_of_eqs&
syst,
const char* name_met,
const char* name_hmet,
const char* name_back_cov,
const char* name_back_con,
const char* name_back_gam,
const char* name_back_ricci);
201 virtual void update(
int d);
Describes the tensorial basis used by the various tensors.
Class to manage asymptotically anti de Sitter metrics.
Term_eq derive_simple(const Term_eq &so) const
Computes the covariant derivative.
Vector * p_der_eps
Pointer on the vector containing the derivative of the conformal factor .
Metric_ADS m_ads
Background metric(i.e. ADS metric).
virtual void manipulate_ind(Term_eq &so, int ind) const
Uses the Metric to manipulate one of the index of a Term_eq (i.e.
virtual void compute_christo(int d) const
Computes the Christoffel symbols, in a given Domain.
virtual void update()
Updates the derived quantities (Christoffels etc..) This is done only for the ones that are needed,...
Metric_AADS(const Space &space, Metric_tensor &hmet)
Standard constructor.
void set_system(System_of_eqs &syst, const char *name_met, const char *name_hmet)
Associates the metric to a given system of equations.
virtual void compute_ricci_scalar(int d) const
Computes the Ricci scalar, in a given Domain.
virtual void compute_ricci_tensor(int d) const
Computes the Ricci tensor, in a given Domain.
virtual void compute_cov(int d) const
Computes the covariant representation, in a given Domain.
int m_nd
number of physical domains (usually the last compaxtified domain is discarded).
Term_eq ** p_h
Pointers on the differences between the covariant metric and the covariant background.
virtual void compute_con(int d) const
Computes the contravariant representation, in a given Domain.
Base_tensor * p_basis
Pointer on the tensorial basis (Cartesian basis only).
virtual const Metric * get_background() const
bool m_doder
true if metric variation allowed to be computed
virtual Term_eq derive(int type_der, char ind_der, const Term_eq &so) const
Computes the covariant derivative of a Term_eq (assumes Cartesian basis of decomposition).
Term_eq ** p_k
Pointers on the differences between the contravariant metric and the contravariant background.
int m_place_syst
Where is the unknown h in the system of equations.
Metric_tensor * p_hmet
: the discrepancy between covariant metric and contravariant background.
Class to manage anti de Sitter metrics.
int m_nd
number of physical domains (usually the last compaxtified domain is discarded).
void init_system(System_of_eqs &syst, const char *name_back_cov, const char *name_back_con, const char *name_back_ricci)
Put the covariant and contravariant metric, dans the Ricci background into the System_of_eqs,...
virtual void compute_riemann(int d) const
Computes the Riemann tensor, in a given Domain.
Scalar m_rho2
Scalar containing
virtual void compute_ricci_scalar(int d) const
Computes the Ricci scalar, in a given Domain.
Metric_ADS(const Space &space)
Standard constructor.
virtual void compute_cov(int d) const
Computes the covariant representation, in a given Domain.
Scalar m_eps
Scalar containing the conformal factor .
virtual void set_system(System_of_eqs &syst, const char *name)
Associate the metric to a given system of equations.
virtual Term_eq derive(int type_der, char ind_der, const Term_eq &) const
Computes the covariant derivative of a Term_eq (assumes Cartesian basis of decomposition).
Term_eq mul_eps(Term_eq &so, int n) const
Multiplication by the conformal factor .
virtual void compute_ricci_tensor(int d) const
Computes the Ricci tensor, in a given Domain.
Term_eq div_eps(Term_eq &so, int n) const
Division by the conformal factor .
virtual void update()
Updates the derived quantities (Christoffels etc..) This is done only for the ones that are needed,...
Base_tensor * p_basis
Pointer on the tensorial basis (Cartesian basis only).
virtual void compute_con(int d) const
Computes the contravariant representation, in a given Domain.
virtual void compute_christo(int d) const
Computes the Christoffel symbols, in a given Domain.
virtual void manipulate_ind(Term_eq &so, int ind) const
Uses the Metric to manipulate one of the index of a Term_eq (i.e.
Term_eq derive_simple(const Term_eq &so) const
Computes the covariant derivative.
Particular type of Tensor, dedicated to the desription of metrics.
Purely abstract class for metric handling.
const System_of_eqs * syst
Pointer of the system of equations where the metric is used (only one for now).
The class Scalar does not really implements scalars in the mathematical sense but rather tensorial co...
The Space class is an ensemble of domains describing the whole space of the computation.
Class used to describe and solve a system of equations.
This class is intended to describe the manage objects appearing in the equations.
A class derived from Tensor to deal specificaly with objects of valence 1 (and so also 1-forms).