ESTER
Evolution STEllaire en Rotation
 All Classes Files Functions Variables Enumerations Enumerator Friends Macros Pages
Classes | Enumerations | Functions
symbolic.h File Reference
#include "ester-config.h"
#include <vector>
#include <map>
#include <string>
#include <iostream>
#include <cmath>
#include "matrix.h"
#include "mapping.h"
#include "solver.h"
Include dependency graph for symbolic.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  rational
 
class  sym
 
class  sym_vec
 
class  sym_tens
 
class  symbolic
 
class  sym::sym_expr
 
class  sym::sym_num
 
class  sym::symbol
 
class  sym::sym_deriv
 
class  sym::sym_add
 
class  sym::sym_prod
 
class  sym::sym_sin
 
class  sym::sym_cos
 
class  sym::sym_exp
 
class  sym::sym_log
 

Enumerations

enum  sym_vec_type { COVARIANT, CONTRAVARIANT }
 

Functions

rational operator+ (const int &n, const rational &q)
 
rational operator- (const int &n, const rational &q)
 
rational operator* (const int &n, const rational &q)
 
rational operator/ (const int &n, const rational &q)
 
rational operator+ (const rational &q, const int &n)
 
rational operator- (const rational &q, const int &n)
 
rational operator* (const rational &q, const int &n)
 
rational operator/ (const rational &q, const int &n)
 
double operator+ (const double &n, const rational &q)
 
double operator- (const double &n, const rational &q)
 
double operator* (const double &n, const rational &q)
 
double operator/ (const double &n, const rational &q)
 
double operator+ (const rational &q, const double &n)
 
double operator- (const rational &q, const double &n)
 
double operator* (const rational &q, const double &n)
 
double operator/ (const rational &q, const double &n)
 
rational abs (const rational &q)
 
std::ostream & operator<< (std::ostream &os, const rational &)
 
sym operator+ (const sym &, const sym &)
 
sym operator+ (double n, const sym &s)
 
sym operator+ (const sym &s, double n)
 
sym operator+ (const sym &s)
 
sym operator* (const sym &, const sym &)
 
sym operator* (double n, const sym &s)
 
sym operator* (const sym &s, double n)
 
sym operator- (const sym &s)
 
template<class T >
sym operator- (const sym &s1, const T &s2)
 
sym operator- (double n, const sym &s2)
 
sym pow (const sym &, const rational &)
 
sym pow (const sym &s, const int &n)
 
template<class T >
sym operator/ (const sym &s1, const T &s2)
 
sym operator/ (double n, const sym &s2)
 
sym sqrt (const sym &s)
 
sym sin (const sym &)
 
sym cos (const sym &)
 
sym tan (const sym &)
 
sym exp (const sym &)
 
sym log (const sym &)
 
sym pow (const sym &, const sym &)
 
sym pow (const sym &s, const double &n)
 
sym pow (const double &n, const sym &s)
 
sym diff (const sym &, const sym &)
 
sym jacobian (const sym &, const sym &)
 
std::ostream & operator<< (std::ostream &os, const sym &)
 
sym trig_simplify (const sym &)
 
sym_vec trig_simplify (const sym_vec &)
 
sym_tens trig_simplify (const sym_tens &)
 
sym_vec operator+ (const sym_vec &v)
 
sym_vec operator- (const sym_vec &v)
 
sym_vec operator- (const sym_vec &v, const sym_vec &w)
 
sym_vec operator* (const sym &s, const sym_vec &v)
 
sym_vec operator* (double n, const sym_vec &v)
 
sym_vec cross (const sym_vec &, const sym_vec &)
 
sym_tens tensor (const sym_vec &, const sym_vec &)
 
std::ostream & operator<< (std::ostream &os, const sym_vec &)
 
sym_tens operator+ (const sym_tens &v)
 
sym_tens operator- (const sym_tens &v)
 
sym_tens operator- (const sym_tens &v, const sym_tens &w)
 
sym_tens operator* (const sym &s, const sym_tens &v)
 
sym_tens operator* (double n, const sym_tens &v)
 
std::ostream & operator<< (std::ostream &os, const sym_tens &)
 
sym_vec contravariant (const sym_vec &s)
 
sym_vec covariant (const sym_vec &s)
 
sym_tens contravariant_contravariant (const sym_tens &s)
 
sym_tens contravariant_covariant (const sym_tens &s)
 
sym_tens covariant_contravariant (const sym_tens &s)
 
sym_tens covariant_covariant (const sym_tens &s)
 
sym_vec grad (const sym &s)
 
sym_tens grad (const sym_vec &v)
 
sym div (const sym_vec &v)
 
sym_vec div (const sym_tens &t)
 
sym lap (const sym &s)
 Returns the laplacian of the expression s. More...
 
sym_vec curl (const sym_vec &v)
 
sym_vec lap (const sym_vec &v)
 
sym_tens stress (const sym_vec &v)
 
sym Dz (const sym &s)
 
sym Dt (const sym &s)
 
sym Dphi (const sym &s)
 
std::ostream & operator<< (std::ostream &os, const sym::sym_expr &)
 
bool sort_pair_d (const std::pair< sym::sym_expr *, double > &, const std::pair< sym::sym_expr *, double > &)
 
bool sort_pair_r (const std::pair< sym::sym_expr *, rational > &, const std::pair< sym::sym_expr *, rational > &)
 

Enumeration Type Documentation

Enumerator
COVARIANT 
CONTRAVARIANT 

Function Documentation

rational abs ( const rational q)

Here is the call graph for this function:

sym_vec contravariant ( const sym_vec s)
inline

Here is the call graph for this function:

sym_tens contravariant_contravariant ( const sym_tens s)
inline

Here is the call graph for this function:

sym_tens contravariant_covariant ( const sym_tens s)
inline

Here is the call graph for this function:

sym cos ( const sym )

Here is the call graph for this function:

sym_vec covariant ( const sym_vec s)
inline

Here is the call graph for this function:

sym_tens covariant_contravariant ( const sym_tens s)
inline

Here is the call graph for this function:

sym_tens covariant_covariant ( const sym_tens s)
inline

Here is the call graph for this function:

sym_vec cross ( const sym_vec ,
const sym_vec  
)

Here is the call graph for this function:

sym_vec curl ( const sym_vec v)
inline

Here is the call graph for this function:

sym diff ( const sym ,
const sym  
)

Here is the call graph for this function:

sym div ( const sym_vec v)
inline

Here is the call graph for this function:

sym_vec div ( const sym_tens t)
inline

Here is the call graph for this function:

sym Dphi ( const sym s)
inline

Here is the call graph for this function:

sym Dt ( const sym s)
inline

Here is the call graph for this function:

sym Dz ( const sym s)
inline

Here is the call graph for this function:

sym exp ( const sym )

Here is the call graph for this function:

sym_vec grad ( const sym s)
inline

Here is the call graph for this function:

sym_tens grad ( const sym_vec v)
inline

Here is the call graph for this function:

sym jacobian ( const sym ,
const sym  
)

Here is the call graph for this function:

sym lap ( const sym s)
inline

Returns the laplacian of the expression s.

Here is the call graph for this function:

sym_vec lap ( const sym_vec v)
inline

Here is the call graph for this function:

sym log ( const sym )

Here is the call graph for this function:

rational operator* ( const int &  n,
const rational q 
)
inline
rational operator* ( const rational q,
const int &  n 
)
inline
double operator* ( const double &  n,
const rational q 
)
inline

Here is the call graph for this function:

double operator* ( const rational q,
const double &  n 
)
inline

Here is the call graph for this function:

sym operator* ( const sym ,
const sym  
)

Here is the call graph for this function:

sym operator* ( double  n,
const sym s 
)
inline
sym operator* ( const sym s,
double  n 
)
inline
sym_vec operator* ( const sym s,
const sym_vec v 
)
inline
sym_vec operator* ( double  n,
const sym_vec v 
)
inline
sym_tens operator* ( const sym s,
const sym_tens v 
)
inline
sym_tens operator* ( double  n,
const sym_tens v 
)
inline
rational operator+ ( const int &  n,
const rational q 
)
inline
rational operator+ ( const rational q,
const int &  n 
)
inline
double operator+ ( const double &  n,
const rational q 
)
inline

Here is the call graph for this function:

double operator+ ( const rational q,
const double &  n 
)
inline

Here is the call graph for this function:

sym operator+ ( const sym ,
const sym  
)

Here is the call graph for this function:

sym operator+ ( double  n,
const sym s 
)
inline
sym operator+ ( const sym s,
double  n 
)
inline
sym operator+ ( const sym s)
inline
sym_vec operator+ ( const sym_vec v)
inline
sym_tens operator+ ( const sym_tens v)
inline
rational operator- ( const int &  n,
const rational q 
)
inline
rational operator- ( const rational q,
const int &  n 
)
inline
double operator- ( const double &  n,
const rational q 
)
inline

Here is the call graph for this function:

double operator- ( const rational q,
const double &  n 
)
inline

Here is the call graph for this function:

sym operator- ( const sym s)
inline
template<class T >
sym operator- ( const sym s1,
const T &  s2 
)
sym operator- ( double  n,
const sym s2 
)
inline
sym_vec operator- ( const sym_vec v)

Here is the call graph for this function:

sym_vec operator- ( const sym_vec v,
const sym_vec w 
)
inline
sym_tens operator- ( const sym_tens v)

Here is the call graph for this function:

sym_tens operator- ( const sym_tens v,
const sym_tens w 
)
inline
rational operator/ ( const int &  n,
const rational q 
)
inline

Here is the call graph for this function:

rational operator/ ( const rational q,
const int &  n 
)
inline
double operator/ ( const double &  n,
const rational q 
)
inline

Here is the call graph for this function:

double operator/ ( const rational q,
const double &  n 
)
inline

Here is the call graph for this function:

template<class T >
sym operator/ ( const sym s1,
const T &  s2 
)

Here is the call graph for this function:

sym operator/ ( double  n,
const sym s2 
)
inline

Here is the call graph for this function:

std::ostream& operator<< ( std::ostream &  os,
const rational  
)
std::ostream& operator<< ( std::ostream &  os,
const sym  
)
std::ostream& operator<< ( std::ostream &  os,
const sym_vec  
)
std::ostream& operator<< ( std::ostream &  os,
const sym_tens  
)
std::ostream& operator<< ( std::ostream &  os,
const sym::sym_expr  
)

Here is the call graph for this function:

sym pow ( const sym ,
const rational  
)

Here is the call graph for this function:

sym pow ( const sym s,
const int &  n 
)
inline

Here is the call graph for this function:

sym pow ( const sym ,
const sym  
)

Here is the call graph for this function:

sym pow ( const sym s,
const double &  n 
)
inline

Here is the call graph for this function:

sym pow ( const double &  n,
const sym s 
)

Here is the call graph for this function:

sym sin ( const sym )

Here is the call graph for this function:

bool sort_pair_d ( const std::pair< sym::sym_expr *, double > &  ,
const std::pair< sym::sym_expr *, double > &   
)
bool sort_pair_r ( const std::pair< sym::sym_expr *, rational > &  ,
const std::pair< sym::sym_expr *, rational > &   
)
sym sqrt ( const sym s)
inline

Here is the call graph for this function:

sym_tens stress ( const sym_vec v)
inline

Here is the call graph for this function:

sym tan ( const sym )

Here is the call graph for this function:

sym_tens tensor ( const sym_vec ,
const sym_vec  
)

Here is the call graph for this function:

sym trig_simplify ( const sym )

Here is the call graph for this function:

sym_vec trig_simplify ( const sym_vec )

Here is the call graph for this function:

sym_tens trig_simplify ( const sym_tens )

Here is the call graph for this function: