Aller au contenu

Mathc initiation/0064

Un livre de Wikilivres.


Sommaire

Installer ce fichier dans votre répertoire de travail.

x_curl.h
/* ---------------------------------- */
/* save as x_curl.h                   */
/* ---------------------------------- */
/*
   with F =   Mi   +  Nj  +  Pk 
   
            |  i       j      k |  
            | _x      _y     _z |  
            |  M       N      P |        

 (curl F) = [(P_y-N_z)i + (M_y-P_z)j + (N_X-M_Y)k]
*/
/* ---------------------------------- */
v3d curl_ijk(

double (*P_M)(double x, double y, double z),
double (*P_N)(double x, double y, double z),
double (*P_P)(double x, double y, double z),

pt3d p
)
{
v3d  curl;

          curl.i = fxyz_y((*P_P),H,p) - fxyz_z((*P_N),H,p);
          curl.j = fxyz_z((*P_M),H,p) - fxyz_x((*P_P),H,p);
          curl.k = fxyz_x((*P_N),H,p) - fxyz_y((*P_M),H,p);

     return(curl);
}
/* ---------------------------------- */
/* ---------------------------------- */
double Ncurl_ijk(

double (*P_M)(double x, double y, double z),
double (*P_N)(double x, double y, double z),
double (*P_P)(double x, double y, double z),

pt3d p
)
{
v3d  curl;

          curl.i = fxyz_y((*P_P),H,p) - fxyz_z((*P_N),H,p);
          curl.j = fxyz_z((*P_M),H,p) - fxyz_x((*P_P),H,p);
          curl.k = fxyz_x((*P_N),H,p) - fxyz_y((*P_M),H,p);

     return(sqrt(curl.i*curl.i+
                 curl.j*curl.j+
                 curl.k*curl.k));
}
/* ---------------------------------- */
/* ---------------------------------- */