|
LORENE
|
Base class for stationary compact objects (under development). More...
#include <compobj.h>
Public Member Functions | |
| Compobj (Map &map_i) | |
| Standard constructor. | |
| Compobj (const Compobj &) | |
| Copy constructor. | |
| Compobj (Map &map_i, FILE *) | |
Constructor from a file (see sauve(FILE* )). | |
| virtual | ~Compobj () |
| Destructor. | |
| void | operator= (const Compobj &) |
| Assignment to another Compobj. | |
| Map & | set_mp () |
| Read/write of the mapping. | |
| const Map & | get_mp () const |
| Returns the mapping. | |
| const Scalar & | get_nn () const |
| Returns the lapse function N . | |
| const Vector & | get_beta () const |
Returns the shift vector ![]() | |
| const Metric & | get_gamma () const |
Returns the 3-metric ![]() | |
| const Scalar & | get_ener_euler () const |
| Returns the total energy density E in the Eulerian frame. | |
| const Vector & | get_mom_euler () const |
Returns the total 3-momentum density ![]() | |
| const Sym_tensor & | get_stress_euler () const |
Returns the stress tensor ![]() | |
| const Sym_tensor & | get_kk () const |
Returns the extrinsic curvature tensor ![]() | |
| virtual void | sauve (FILE *) const |
| Save in a file. | |
| void | gyoto_data (const char *file_name) const |
| Save in a file for GYOTO. | |
| virtual void | extrinsic_curvature () |
| Computation of the extrinsic curvature. | |
| virtual double | adm_mass () const |
| ADM mass (computed as a surface integral at spatial infinity). | |
Protected Member Functions | |
| virtual void | del_deriv () const |
| Deletes all the derived quantities. | |
| void | set_der_0x0 () const |
Sets to 0x0 all the pointers on derived quantities. | |
| virtual ostream & | operator>> (ostream &) const |
| Operator >> (virtual function called by the operator <<). | |
Protected Attributes | |
| Map & | mp |
| Mapping describing the coordinate system (r,theta,phi). | |
| Scalar | nn |
| Lapse function N . | |
| Vector | beta |
Shift vector ![]() | |
| Metric | gamma |
3-metric ![]() | |
| Scalar | ener_euler |
| Total energy density E in the Eulerian frame. | |
| Vector | mom_euler |
Total 3-momentum density ![]() | |
| Sym_tensor | stress_euler |
Stress tensor ![]() | |
| Sym_tensor | kk |
Extrinsic curvature tensor ![]() | |
| double * | p_adm_mass |
| ADM mass. | |
Friends | |
| ostream & | operator<< (ostream &ost, const Compobj &co) |
| Display. | |
Base class for stationary compact objects (under development).
()
A Compobj describes a single compact object (star or black hole), in a stationary state.
The spacetime metric is written according to the 3+1 formalism :
![\[ ds^2 = - N^2 dt^2 + \gamma_{ij} ( dx^i + \beta^i dt )
(dx^j + \beta^j dt )
\]](form_167.png)
where 
Metric.
The total energy-momentum tensor is orthogonally split with respect to the Eulerian observer as follows:
![\[ T_{\alpha\beta} = E n_\alpha n_\beta + P_\alpha n_\beta + n_\alpha P_\beta + S_{\alpha\beta}
\]](form_168.png)
| Lorene::Compobj::Compobj | ( | Map & | map_i | ) |
Standard constructor.
| mp_i | Mapping on which the object is defined |
Definition at line 82 of file compobj.C.
References beta, ener_euler, Lorene::flat_met_spher(), gamma, Lorene::get_bvect_spher(), kk, Lorene::Map(), mom_euler, mp, nn, set_der_0x0(), and stress_euler.
| Lorene::Compobj::Compobj | ( | const Compobj & | co | ) |
Copy constructor.
Definition at line 109 of file compobj.C.
References beta, Compobj(), ener_euler, gamma, kk, mom_euler, mp, nn, set_der_0x0(), and stress_euler.
| Lorene::Compobj::Compobj | ( | Map & | map_i, |
| FILE * | fich ) |
Constructor from a file (see sauve(FILE* )).
| mp_i | Mapping on which the object is defined |
| fich | input file (must have been created by the function sauve) |
Definition at line 126 of file compobj.C.
References beta, ener_euler, gamma, Lorene::get_bvect_spher(), Lorene::get_mg(), kk, Lorene::Map(), mom_euler, mp, nn, set_der_0x0(), and stress_euler.
|
virtual |
|
virtual |
ADM mass (computed as a surface integral at spatial infinity).
Definition at line 310 of file compobj.C.
References Lorene::Tensor::derive_con(), Lorene::Tensor_sym::derive_con(), Lorene::Vector::flux(), gamma, Lorene::Tensor::get_triad(), mp, p_adm_mass, Lorene::Tensor::trace(), and Lorene::Tensor::up().
|
protectedvirtual |
Deletes all the derived quantities.
Reimplemented in Lorene::AltBH_QI, Lorene::Boson_star, Lorene::Compobj_QI, Lorene::Kerr_QI, Lorene::ScalarBH, and Lorene::Star_QI.
Definition at line 155 of file compobj.C.
References p_adm_mass, and set_der_0x0().
|
virtual |
Computation of the extrinsic curvature.
Reimplemented in Lorene::AltBH_QI, and Lorene::Compobj_QI.
Definition at line 290 of file compobj.C.
References beta, Lorene::Tensor::derive_cov(), gamma, kk, and nn.
|
inline |
|
inline |
Returns the total energy density E in the Eulerian frame.
Definition at line 219 of file compobj.h.
References ener_euler.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Returns the stress tensor 
Definition at line 225 of file compobj.h.
References stress_euler.
| void Lorene::Compobj::gyoto_data | ( | const char * | file_name | ) | const |
| void Lorene::Compobj::operator= | ( | const Compobj & | co | ) |
Assignment to another Compobj.
Definition at line 175 of file compobj.C.
References beta, Compobj(), del_deriv(), ener_euler, gamma, kk, mom_euler, mp, nn, and stress_euler.
|
protectedvirtual |
Operator >> (virtual function called by the operator <<).
Reimplemented in Lorene::AltBH_QI, Lorene::Boson_star, Lorene::Compobj_QI, Lorene::HiggsMonopole, Lorene::Kerr_QI, Lorene::ScalarBH, and Lorene::Star_QI.
Definition at line 239 of file compobj.C.
References ener_euler, gamma, kk, mp, nn, and stress_euler.
|
virtual |
Save in a file.
Reimplemented in Lorene::AltBH_QI, Lorene::Boson_star, Lorene::Compobj_QI, Lorene::Kerr_QI, Lorene::ScalarBH, and Lorene::Star_QI.
Definition at line 196 of file compobj.C.
References beta, ener_euler, gamma, mom_euler, nn, and stress_euler.
|
protected |
Sets to 0x0 all the pointers on derived quantities.
Definition at line 163 of file compobj.C.
References p_adm_mass.
|
inline |
Read/write of the mapping.
Definition at line 200 of file compobj.h.
References Lorene::Map(), and mp.
|
friend |
|
protected |
|
protected |
|
protected |
|
protected |
|
mutableprotected |
|
protected |