LORENE
change_var.h
1/*
2 * Definition of Lorene class Change_var
3 *
4 */
5
6/*
7 * Copyright (c) 2003 Philippe Grandclement
8 *
9 * This file is part of LORENE.
10 *
11 * LORENE is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License version 2
13 * as published by the Free Software Foundation.
14 *
15 * LORENE is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
19 *
20 * You should have received a copy of the GNU General Public License
21 * along with LORENE; if not, write to the Free Software
22 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23 *
24 */
25
26#ifndef __CHANGE_VAR_H_
27#define __CHANGE_VAR_H_
28
29/*
30 * $Id: change_var.h,v 1.6 2014/10/13 08:52:32 j_novak Exp $
31 * $Log: change_var.h,v $
32 * Revision 1.6 2014/10/13 08:52:32 j_novak
33 * Lorene classes and functions now belong to the namespace Lorene.
34 *
35 * Revision 1.5 2004/06/22 08:49:56 p_grandclement
36 * Addition of everything needed for using the logarithmic mapping
37 *
38 * Revision 1.4 2004/05/14 08:51:00 p_grandclement
39 * *** empty log message ***
40 *
41 * Revision 1.3 2004/03/23 14:54:45 j_novak
42 * More documentation
43 *
44 * Revision 1.2 2004/03/05 09:18:48 p_grandclement
45 * Addition of operator sec_order_r2
46 *
47 * Revision 1.1 2003/12/11 14:57:00 p_grandclement
48 * I had forgotten the .h (sorry folks...)
49 *
50 *
51 * $Header: /cvsroot/Lorene/C++/Include/change_var.h,v 1.6 2014/10/13 08:52:32 j_novak Exp $
52 *
53 */
54
55#include "proto.h"
56
57// Defines the various types of variable changes with the associated
58// functions F, G, F' and G'
59
60#define STD 1
61double one (double) ;
62double zero (double) ;
63
64#define W_BETA 2
65double ide (double) ;
66
67#define W_BETA_INF 3
68double part_ln (double) ;
69double part_ln_der (double) ;
70
71#define H_BETA 4
72
73#define LAMBDA_RN 5
74double plus_log(double) ;
75double moins_sur(double) ;
76
77#define NU_RN 6
78double moins_log(double) ;
79double plus_sur(double) ;
80
81namespace Lorene {
99
100 protected:
101 double (* func_F) (double) ;
102 double (* der_F) (double) ;
103 double (* func_G) (double) ;
104 double (* der_G) (double) ;
105
106 double mult_F ;
107 double add_F ;
108
109 public:
110
125 Change_var (int var) ;
126
132 Change_var (int var, double) ;
133
139 Change_var (int var, double, double) ;
140
141
142 Change_var (const Change_var& so) ;
143 ~Change_var() ;
144
145 public:
146 double val_F (double x) ;
147 double val_der_F (double x) ;
148 double val_G (double x) ;
149 double val_der_G (double x) ;
150} ;
151
152}
153#endif
This class defines a variable change to be used when solving elliptic equations.
Definition change_var.h:98
double mult_F
Pointer on the derivative of .
Definition change_var.h:106
double(* func_G)(double)
Pointer on the derivative of .
Definition change_var.h:103
double add_F
Multiplicative factor for F ## PROVISORY.
Definition change_var.h:107
double(* der_F)(double)
Pointer on the function .
Definition change_var.h:102
double val_F(double x)
Standard destructor.
Definition change_var.C:276
double val_der_F(double x)
Returns the value of at {\tt x}.
Definition change_var.C:280
double val_der_G(double x)
Returns the value of at {\tt x}.
Definition change_var.C:288
double(* der_G)(double)
Pointer on the function .
Definition change_var.h:104
~Change_var()
Constructor by copy.
Definition change_var.C:274
double val_G(double x)
Returns the value of at {\tt x}.
Definition change_var.C:284
Lorene prototypes.
Definition app_hor.h:64