00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 char map_radial_comp_rtp_C[] = "$Header: /cvsroot/Lorene/C++/Source/Map/map_radial_comp_rtp.C,v 1.3 2005/09/15 15:51:25 j_novak Exp $" ;
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048 #include <assert.h>
00049
00050
00051 #include "tensor.h"
00052 #include "cmp.h"
00053
00054
00055
00056
00057
00058 void Map_radial::comp_r_from_cartesian(const Cmp& v_x, const Cmp& v_y,
00059 const Cmp& v_z, Cmp& v_r) const {
00060 Scalar resu = v_r ;
00061 comp_r_from_cartesian(Scalar(v_x), Scalar(v_y), Scalar(v_z), resu) ;
00062 v_r = resu ;
00063 }
00064
00065 void Map_radial::comp_r_from_cartesian(const Scalar& v_x, const Scalar& v_y,
00066 const Scalar& v_z, Scalar& v_r) const {
00067
00068
00069
00070
00071 assert(v_x.get_etat() != ETATNONDEF) ;
00072 assert(v_y.get_etat() != ETATNONDEF) ;
00073 assert(v_z.get_etat() != ETATNONDEF) ;
00074
00075 assert(v_x.get_mp() == *this) ;
00076 assert(v_y.get_mp() == *this) ;
00077 assert(v_z.get_mp() == *this) ;
00078
00079 int dzp ;
00080 if ( v_x.dz_nonzero() ) {
00081 dzp = v_x.get_dzpuis() ;
00082 }
00083 else{
00084 if ( v_y.dz_nonzero() ) {
00085 dzp = v_y.get_dzpuis() ;
00086 }
00087 else{
00088 dzp = v_z.get_dzpuis() ;
00089 }
00090 }
00091
00092 assert( v_x.check_dzpuis(dzp) ) ;
00093 assert( v_y.check_dzpuis(dzp) ) ;
00094 assert( v_z.check_dzpuis(dzp) ) ;
00095
00096
00097
00098 const Valeur& w_x = v_x.get_spectral_va() ;
00099 const Valeur& w_y = v_y.get_spectral_va() ;
00100 const Valeur& w_z = v_z.get_spectral_va() ;
00101
00102 Valeur tmp = w_x.mult_cp() + w_y.mult_sp() ;
00103
00104 v_r = tmp.mult_st() + w_z.mult_ct() ;
00105
00106 v_r.set_dzpuis(dzp) ;
00107
00108 }
00109
00110
00111
00112
00113
00114 void Map_radial::comp_t_from_cartesian(const Cmp& v_x, const Cmp& v_y,
00115 const Cmp& v_z, Cmp& v_t) const {
00116 Scalar resu = v_t ;
00117 comp_t_from_cartesian( Scalar(v_x), Scalar(v_y), Scalar(v_z), resu ) ;
00118 v_t = resu ;
00119 }
00120
00121 void Map_radial::comp_t_from_cartesian(const Scalar& v_x, const Scalar& v_y,
00122 const Scalar& v_z, Scalar& v_t) const {
00123
00124
00125
00126
00127 assert(v_x.get_etat() != ETATNONDEF) ;
00128 assert(v_y.get_etat() != ETATNONDEF) ;
00129 assert(v_z.get_etat() != ETATNONDEF) ;
00130
00131 assert(v_x.get_mp() == *this) ;
00132 assert(v_y.get_mp() == *this) ;
00133 assert(v_z.get_mp() == *this) ;
00134
00135 int dzp ;
00136 if ( v_x.dz_nonzero() ) {
00137 dzp = v_x.get_dzpuis() ;
00138 }
00139 else{
00140 if ( v_y.dz_nonzero() ) {
00141 dzp = v_y.get_dzpuis() ;
00142 }
00143 else{
00144 dzp = v_z.get_dzpuis() ;
00145 }
00146 }
00147
00148 assert( v_x.check_dzpuis(dzp) ) ;
00149 assert( v_y.check_dzpuis(dzp) ) ;
00150 assert( v_z.check_dzpuis(dzp) ) ;
00151
00152
00153
00154 const Valeur& w_x = v_x.get_spectral_va() ;
00155 const Valeur& w_y = v_y.get_spectral_va() ;
00156 const Valeur& w_z = v_z.get_spectral_va() ;
00157
00158 Valeur tmp = w_x.mult_cp() + w_y.mult_sp() ;
00159
00160 v_t = tmp.mult_ct() - w_z.mult_st() ;
00161
00162 v_t.set_dzpuis(dzp) ;
00163
00164 }
00165
00166
00167
00168
00169 void Map_radial::comp_p_from_cartesian(const Cmp& v_x, const Cmp& v_y,
00170 Cmp& v_p) const {
00171 Scalar resu = v_p ;
00172 comp_p_from_cartesian(Scalar(v_x), Scalar(v_y), resu) ;
00173 v_p = resu ;
00174 }
00175
00176 void Map_radial::comp_p_from_cartesian(const Scalar& v_x, const Scalar& v_y,
00177 Scalar& v_p) const {
00178
00179
00180
00181
00182 assert(v_x.get_etat() != ETATNONDEF) ;
00183 assert(v_y.get_etat() != ETATNONDEF) ;
00184
00185 assert(v_x.get_mp() == *this) ;
00186 assert(v_y.get_mp() == *this) ;
00187
00188 int dzp ;
00189 if ( v_x.dz_nonzero() ) {
00190 dzp = v_x.get_dzpuis() ;
00191 }
00192 else{
00193 dzp = v_y.get_dzpuis() ;
00194 }
00195
00196 assert( v_x.check_dzpuis(dzp) ) ;
00197 assert( v_y.check_dzpuis(dzp) ) ;
00198
00199
00200
00201 const Valeur& w_x = v_x.get_spectral_va() ;
00202 const Valeur& w_y = v_y.get_spectral_va() ;
00203
00204 v_p = - w_x.mult_sp() + w_y.mult_cp() ;
00205
00206 v_p.set_dzpuis(dzp) ;
00207
00208 }
00209
00210