boson_star.h
/*
* Definition of Lorene class Boson_star
*
*/
/*
* Copyright (c) 2012 Claire Some, Eric Gourgoulhon
*
* This file is part of LORENE.
*
* LORENE is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
* as published by the Free Software Foundation.
*
* LORENE is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with LORENE; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
#ifndef __BOSON_STAR_H_
#define __BOSON_STAR_H_
/*
* $Id: boson_star.h,v 1.4 2014/10/13 08:52:32 j_novak Exp $
* $Log: boson_star.h,v $
* Revision 1.4 2014/10/13 08:52:32 j_novak
* Lorene classes and functions now belong to the namespace Lorene.
*
* Revision 1.3 2012/12/03 15:26:14 c_some
* Added data member m2
*
* Revision 1.2 2012/11/23 15:42:14 c_some
* Small changes
*
* Revision 1.1 2012/11/22 16:03:16 c_some
* New class Boson_star
*
*
* $Header: /cvsroot/Lorene/C++/Include/boson_star.h,v 1.4 2014/10/13 08:52:32 j_novak Exp $
*
*/
// Headers Lorene
#include "compobj.h"
//--------------------------//
// class Boson_star //
//--------------------------//
namespace Lorene {
class Boson_star : public Star_QI {
// Data :
// -----
protected:
Scalar rphi ;
Scalar iphi ;
double omega ;
int kkk ;
double mmm ;
double m2 ;
// Derived data :
// ------------
protected:
// Constructors - Destructor
// -------------------------
public:
Boson_star(Map& mp_i, double m, int k) ;
Boson_star(const Boson_star& ) ;
Boson_star(Map& mp_i, FILE* fich) ;
virtual ~Boson_star() ;
// Memory management
// -----------------
protected:
virtual void del_deriv() const ;
virtual void set_der_0x0() const ;
// Mutators / assignment
// ---------------------
public:
void operator=(const Boson_star& ) ;
// Accessors
// ---------
public:
const Scalar& get_rphi() const {return rphi;} ;
const Scalar& get_iphi() const {return iphi;} ;
Scalar& set_rphi() {del_deriv(); return rphi;} ;
Scalar& set_iphi() {del_deriv(); return iphi;} ;
// Outputs
// -------
public:
virtual void sauve(FILE* ) const ;
protected:
virtual ostream& operator>>(ostream& ) const ;
// Global quantities
// -----------------
public:
// Computational routines
// ----------------------
public:
void update_ener_mom() ;
// void solve_phi() ;
virtual void equilibrium(double rphi_c, double iphi_c,
int nzadapt, const Tbl& ent_limit,
const Itbl& icontrol, const Tbl& control,
Tbl& diff, Param* = 0x0) ;
};
}
#endif
Lorene::Boson_star::omega
double omega
Coefficient omega in the time dependence of Phi.
Definition boson_star.h:80
Lorene::Boson_star::get_rphi
const Scalar & get_rphi() const
Returns the real part of the scalar field.
Definition boson_star.h:146
Lorene::Boson_star::set_der_0x0
virtual void set_der_0x0() const
Sets to 0x0 all the pointers on derived quantities.
Definition boson_star.C:138
Lorene::Boson_star::m2
double m2
Boson mass squared.
Definition boson_star.h:92
Lorene::Boson_star::del_deriv
virtual void del_deriv() const
Deletes all the derived quantities.
Definition boson_star.C:130
Lorene::Boson_star::mmm
double mmm
Boson mass.
Definition boson_star.h:88
Lorene::Boson_star::rphi
Scalar rphi
Real part of the scalar field Phi.
Definition boson_star.h:72
Lorene::Boson_star::equilibrium
virtual void equilibrium(double rphi_c, double iphi_c, int nzadapt, const Tbl &ent_limit, const Itbl &icontrol, const Tbl &control, Tbl &diff, Param *=0x0)
Solves the equation satisfied by the scalar field.
Definition boson_star_equil.C:70
Lorene::Boson_star::get_iphi
const Scalar & get_iphi() const
Returns the imaginary part of the scalar field.
Definition boson_star.h:150
Lorene::Boson_star::kkk
int kkk
Coefficient kkk in the azimuthal dependence of Phi.
Definition boson_star.h:84
Lorene::Boson_star::~Boson_star
virtual ~Boson_star()
Destructor.
Definition boson_star.C:119
Lorene::Boson_star::operator=
void operator=(const Boson_star &)
Assignment to another Boson_star.
Definition boson_star.C:148
Lorene::Boson_star::update_ener_mom
void update_ener_mom()
Computes the 3+1 components of the energy-momentum tensor (E, P_i and S_{ij}) from the values of the ...
Definition boson_star.C:211
Lorene::Boson_star::Boson_star
Boson_star(Map &mp_i, double m, int k)
Standard constructor.
Definition boson_star.C:64
Lorene::Boson_star::set_rphi
Scalar & set_rphi()
Sets a value to the real part of the scalar field.
Definition boson_star.h:154
Lorene::Boson_star::iphi
Scalar iphi
Imaginary part of the scalar field Phi.
Definition boson_star.h:76
Lorene::Boson_star::sauve
virtual void sauve(FILE *) const
Save in a file.
Definition boson_star.C:169
Lorene::Boson_star::operator>>
virtual ostream & operator>>(ostream &) const
Operator >> (virtual function called by the operator <<).
Definition boson_star.C:183
Lorene::Boson_star::set_iphi
Scalar & set_iphi()
Sets a value to the imaginary part of the scalar field.
Definition boson_star.h:158
Lorene::Itbl
Basic integer array class.
Definition itbl.h:122
Lorene::Param
Parameter storage.
Definition param.h:125
Lorene::Scalar
Tensor field of valence 0 (or component of a tensorial field).
Definition scalar.h:387
Lorene::Star_QI::Star_QI
Star_QI(Map &mp_i)
Standard constructor.
Definition star_QI.C:68
Lorene::Tbl
Basic array class.
Definition tbl.h:161
Lorene
Lorene prototypes.
Definition app_hor.h:64
Lorene::Map
Map(const Mg3d &)
Constructor from a multi-domain 3D grid.
Definition map.C:139