Jspice3
distfns.c File Reference
#include "spice.h"
#include <math.h>
#include "distodef.h"
#include "distoext.h"
Include dependency graph for distfns.c:

Go to the source code of this file.

Macros

#define JOB   char
 

Functions

double S2v2F1 (double cxy, double r1h1x, double i1h1x, double r1h1y, double i1h1y)
 
double S2i2F1 (double cxy, double r1h1x, double i1h1x, double r1h1y, double i1h1y)
 
double S2v3F1 (double cxy, double r1h1x, double i1h1x, double r1h1y, double i1h1y, double r2h11x, double i2h11x, double r2h11y, double i2h11y)
 
double S2i3F1 (double cxy, double r1h1x, double i1h1x, double r1h1y, double i1h1y, double r2h11x, double i2h11x, double r2h11y, double i2h11y)
 
double S2vF12 (double cxy, double r1h1x, double i1h1x, double r1h1y, double i1h1y, double r1h2x, double i1h2x, double r1h2y, double i1h2y)
 
double S2iF12 (double cxy, double r1h1x, double i1h1x, double r1h1y, double i1h1y, double r1h2x, double i1h2x, double r1h2y, double i1h2y)
 
double S2v2F12 (double cxy, double r1h1x, double i1h1x, double r1h1y, double i1h1y, double r1h2x, double i1h2x, double r1h2y, double i1h2y, double r2h11x, double i2h11x, double r2h11y, double i2h11y, double h2f1f2x, double ih2f1f2x, double h2f1f2y, double ih2f1f2y)
 
double S2i2F12 (double cxy, double r1h1x, double i1h1x, double r1h1y, double i1h1y, double r1h2x, double i1h2x, double r1h2y, double i1h2y, double r2h11x, double i2h11x, double r2h11y, double i2h11y, double h2f1f2x, double ih2f1f2x, double h2f1f2y, double ih2f1f2y)
 
double S3v3F1 (double cxyz, double r1h1x, double i1h1x, double r1h1y, double i1h1y, double r1h1z, double i1h1z)
 
double S3i3F1 (double cxyz, double r1h1x, double i1h1x, double r1h1y, double i1h1y, double r1h1z, double i1h1z)
 
double S3v2F12 (double cxyz, double r1h1x, double i1h1x, double r1h1y, double i1h1y, double r1h1z, double i1h1z, double r1h2x, double i1h2x, double r1h2y, double i1h2y, double r1h2z, double i1h2z)
 
double S3i2F12 (double cxyz, double r1h1x, double i1h1x, double r1h1y, double i1h1y, double r1h1z, double i1h1z, double r1h2x, double i1h2x, double r1h2y, double i1h2y, double r1h2z, double i1h2z)
 
double DFn2F1 (double cxx, double cyy, double czz, double cxy, double cyz, double cxz, double r1h1x, double i1h1x, double r1h1y, double i1h1y, double r1h1z, double i1h1z)
 
double DFi2F1 (double cxx, double cyy, double czz, double cxy, double cyz, double cxz, double r1h1x, double i1h1x, double r1h1y, double i1h1y, double r1h1z, double i1h1z)
 
double DFn3F1 (double cxx, double cyy, double czz, double cxy, double cyz, double cxz, double cxxx, double cyyy, double czzz, double cxxy, double cxxz, double cxyy, double cyyz, double cxzz, double cyzz, double cxyz, double r1h1x, double i1h1x, double r1h1y, double i1h1y, double r1h1z, double i1h1z, double r2h11x, double i2h11x, double r2h11y, double i2h11y, double r2h11z, double i2h11z)
 
double DFi3F1 (double cxx, double cyy, double czz, double cxy, double cyz, double cxz, double cxxx, double cyyy, double czzz, double cxxy, double cxxz, double cxyy, double cyyz, double cxzz, double cyzz, double cxyz, double r1h1x, double i1h1x, double r1h1y, double i1h1y, double r1h1z, double i1h1z, double r2h11x, double i2h11x, double r2h11y, double i2h11y, double r2h11z, double i2h11z)
 
double DFnF12 (double cxx, double cyy, double czz, double cxy, double cyz, double cxz, double r1h1x, double i1h1x, double r1h1y, double i1h1y, double r1h1z, double i1h1z, double r1h2x, double i1h2x, double r1h2y, double i1h2y, double r1h2z, double i1h2z)
 
double DFiF12 (double cxx, double cyy, double czz, double cxy, double cyz, double cxz, double r1h1x, double i1h1x, double r1h1y, double i1h1y, double r1h1z, double i1h1z, double r1h2x, double i1h2x, double r1h2y, double i1h2y, double r1h2z, double i1h2z)
 
double DFn2F12 (DpassStr *p)
 
double DFi2F12 (DpassStr *p)
 
double D1n2F1 (double cxx, double r1h1x, double i1h1x)
 
double D1n3F1 (double cxx, double cxxx, double r1h1x, double i1h1x, double r2h11x, double i2h11x)
 
double D1nF12 (double cxx, double r1h1x, double i1h1x, double r1h2x, double i1h2x)
 
double D1n2F12 (double cxx, double cxxx, double r1h1x, double i1h1x, double r1h2x, double i1h2x, double r2h11x, double i2h11x, double h2f1f2x, double ih2f1f2x)
 
double D1i2F1 (double cxx, double r1h1x, double i1h1x)
 
double D1i3F1 (double cxx, double cxxx, double r1h1x, double i1h1x, double r2h11x, double i2h11x)
 
double D1iF12 (double cxx, double r1h1x, double i1h1x, double r1h2x, double i1h2x)
 
double D1i2F12 (double cxx, double cxxx, double r1h1x, double i1h1x, double r1h2x, double i1h2x, double r2h11x, double i2h11x, double h2f1f2x, double ih2f1f2x)
 

Macro Definition Documentation

#define JOB   char

Definition at line 10 of file distfns.c.

Function Documentation

double D1i2F1 ( double  cxx,
double  r1h1x,
double  i1h1x 
)

Definition at line 554 of file distfns.c.

558 {
559  double temp;
560 
561  temp = S2i2F1(cxx,r1h1x,i1h1x,r1h1x,i1h1x);
562  return (temp);
563 }
double S2i2F1(double cxy, double r1h1x, double i1h1x, double r1h1y, double i1h1y)
Definition: distfns.c:38
double D1i2F12 ( double  cxx,
double  cxxx,
double  r1h1x,
double  i1h1x,
double  r1h2x,
double  i1h2x,
double  r2h11x,
double  i2h11x,
double  h2f1f2x,
double  ih2f1f2x 
)

Definition at line 597 of file distfns.c.

604 {
605  double temp;
606 
607  temp = S2i2F12(cxx,r1h1x,i1h1x,r1h1x,i1h1x,r1h2x,i1h2x,r1h2x,i1h2x,
608  r2h11x,i2h11x,r2h11x,i2h11x,h2f1f2x,ih2f1f2x,h2f1f2x,ih2f1f2x)
609  + S3i2F12(cxxx,r1h1x,i1h1x,r1h1x,i1h1x,r1h1x,i1h1x,
610  r1h2x,i1h2x,r1h2x,i1h2x,r1h2x,i1h2x);
611 
612  return (temp/3.);
613  /* divided by 3 to get kernel (otherwise we get 3*kernel) */
614 }
double S3i2F12(double cxyz, double r1h1x, double i1h1x, double r1h1y, double i1h1y, double r1h1z, double i1h1z, double r1h2x, double i1h2x, double r1h2y, double i1h2y, double r1h2z, double i1h2z)
Definition: distfns.c:165
double S2i2F12(double cxy, double r1h1x, double i1h1x, double r1h1y, double i1h1y, double r1h2x, double i1h2x, double r1h2y, double i1h2y, double r2h11x, double i2h11x, double r2h11y, double i2h11y, double h2f1f2x, double ih2f1f2x, double h2f1f2y, double ih2f1f2y)
Definition: distfns.c:105
double D1i3F1 ( double  cxx,
double  cxxx,
double  r1h1x,
double  i1h1x,
double  r2h11x,
double  i2h11x 
)

Definition at line 567 of file distfns.c.

572 {
573  double temp;
574 
575  temp = S2i3F1(cxx,r1h1x,i1h1x,r1h1x,i1h1x,r2h11x,i2h11x,r2h11x,i2h11x)
576  + S3i3F1(cxxx,r1h1x,i1h1x,r1h1x,i1h1x,r1h1x,i1h1x);
577 
578  return (temp);
579 }
double S3i3F1(double cxyz, double r1h1x, double i1h1x, double r1h1y, double i1h1y, double r1h1z, double i1h1z)
Definition: distfns.c:135
double S2i3F1(double cxy, double r1h1x, double i1h1x, double r1h1y, double i1h1y, double r2h11x, double i2h11x, double r2h11y, double i2h11y)
Definition: distfns.c:57
double D1iF12 ( double  cxx,
double  r1h1x,
double  i1h1x,
double  r1h2x,
double  i1h2x 
)

Definition at line 583 of file distfns.c.

588 {
589  double temp;
590 
591  temp = S2iF12(cxx,r1h1x,i1h1x,r1h1x,i1h1x,r1h2x,i1h2x,r1h2x,i1h2x);
592  return (0.5*temp);
593 }
double S2iF12(double cxy, double r1h1x, double i1h1x, double r1h1y, double i1h1y, double r1h2x, double i1h2x, double r1h2y, double i1h2y)
Definition: distfns.c:77
double D1n2F1 ( double  cxx,
double  r1h1x,
double  i1h1x 
)

Definition at line 491 of file distfns.c.

495 {
496  double temp;
497 
498  temp = S2v2F1(cxx,r1h1x,i1h1x,r1h1x,i1h1x);
499  return (temp);
500 }
double S2v2F1(double cxy, double r1h1x, double i1h1x, double r1h1y, double i1h1y)
Definition: distfns.c:29
double D1n2F12 ( double  cxx,
double  cxxx,
double  r1h1x,
double  i1h1x,
double  r1h2x,
double  i1h2x,
double  r2h11x,
double  i2h11x,
double  h2f1f2x,
double  ih2f1f2x 
)

Definition at line 533 of file distfns.c.

540 {
541  double temp;
542 
543  temp = S2v2F12(cxx,r1h1x,i1h1x,r1h1x,i1h1x,r1h2x,i1h2x,r1h2x,i1h2x,
544  r2h11x,i2h11x,r2h11x,i2h11x,h2f1f2x,ih2f1f2x,h2f1f2x,ih2f1f2x)
545  + S3v2F12(cxxx,r1h1x,i1h1x,r1h1x,i1h1x,r1h1x,i1h1x,
546  r1h2x,i1h2x,r1h2x,i1h2x,r1h2x,i1h2x);
547 
548  return (temp/3.);
549  /* divided by 3 to get kernel (otherwise we get 3*kernel) */
550 }
double S3v2F12(double cxyz, double r1h1x, double i1h1x, double r1h1y, double i1h1y, double r1h1z, double i1h1z, double r1h2x, double i1h2x, double r1h2y, double i1h2y, double r1h2z, double i1h2z)
Definition: distfns.c:147
double S2v2F12(double cxy, double r1h1x, double i1h1x, double r1h1y, double i1h1y, double r1h2x, double i1h2x, double r1h2y, double i1h2y, double r2h11x, double i2h11x, double r2h11y, double i2h11y, double h2f1f2x, double ih2f1f2x, double h2f1f2y, double ih2f1f2y)
Definition: distfns.c:87
double D1n3F1 ( double  cxx,
double  cxxx,
double  r1h1x,
double  i1h1x,
double  r2h11x,
double  i2h11x 
)

Definition at line 504 of file distfns.c.

509 {
510  double temp;
511 
512  temp = S2v3F1(cxx,r1h1x,i1h1x,r1h1x,i1h1x,r2h11x,i2h11x,r2h11x,i2h11x)
513  + S3v3F1(cxxx,r1h1x,i1h1x,r1h1x,i1h1x,r1h1x,i1h1x);
514  return (temp);
515 }
double S3v3F1(double cxyz, double r1h1x, double i1h1x, double r1h1y, double i1h1y, double r1h1z, double i1h1z)
Definition: distfns.c:123
double S2v3F1(double cxy, double r1h1x, double i1h1x, double r1h1y, double i1h1y, double r2h11x, double i2h11x, double r2h11y, double i2h11y)
Definition: distfns.c:47
double D1nF12 ( double  cxx,
double  r1h1x,
double  i1h1x,
double  r1h2x,
double  i1h2x 
)

Definition at line 519 of file distfns.c.

524 {
525  double temp;
526 
527  temp = S2vF12(cxx,r1h1x,i1h1x,r1h1x,i1h1x,r1h2x,i1h2x,r1h2x,i1h2x);
528  return (0.5*temp);
529 }
double S2vF12(double cxy, double r1h1x, double i1h1x, double r1h1y, double i1h1y, double r1h2x, double i1h2x, double r1h2y, double i1h2y)
Definition: distfns.c:67
double DFi2F1 ( double  cxx,
double  cyy,
double  czz,
double  cxy,
double  cyz,
double  cxz,
double  r1h1x,
double  i1h1x,
double  r1h1y,
double  i1h1y,
double  r1h1z,
double  i1h1z 
)

Definition at line 205 of file distfns.c.

209 {
210  double temp;
211 
212  temp = S2i2F1(cxx,r1h1x,i1h1x,r1h1x,i1h1x) +
213  S2i2F1(cyy,r1h1y,i1h1y,r1h1y,i1h1y) +
214  S2i2F1(czz,r1h1z,i1h1z,r1h1z,i1h1z) +
215  S2i2F1(cxy,r1h1x,i1h1x,r1h1y,i1h1y) +
216  S2i2F1(cyz,r1h1y,i1h1y,r1h1z,i1h1z) +
217  S2i2F1(cxz,r1h1x,i1h1x,r1h1z,i1h1z);
218 
219  return (temp);
220 }
double S2i2F1(double cxy, double r1h1x, double i1h1x, double r1h1y, double i1h1y)
Definition: distfns.c:38
double DFi2F12 ( DpassStr p)

Definition at line 418 of file distfns.c.

421 {
422  double temp;
423 
424  temp = S2i2F12(p->cxx, p->r1h1x, p->i1h1x,
425  p->r1h1x, p->i1h1x, p->r1h2x, p->i1h2x,
426  p->r1h2x, p->i1h2x, p->r2h11x, p->i2h11x,
427  p->r2h11x, p->i2h11x, p->h2f1f2x, p->ih2f1f2x,
428  p->h2f1f2x, p->ih2f1f2x);
429  temp += S2i2F12(p->cyy, p->r1h1y, p->i1h1y,
430  p->r1h1y, p->i1h1y, p->r1h2y, p->i1h2y,
431  p->r1h2y, p->i1h2y, p->r2h11y, p->i2h11y,
432  p->r2h11y, p->i2h11y, p->h2f1f2y, p->ih2f1f2y,
433  p->h2f1f2y, p->ih2f1f2y);
434  temp += S2i2F12(p->czz, p->r1h1z, p->i1h1z,
435  p->r1h1z, p->i1h1z, p->r1h2z, p->i1h2z,
436  p->r1h2z, p->i1h2z, p->r2h11z, p->i2h11z,
437  p->r2h11z, p->i2h11z, p->h2f1f2z, p->ih2f1f2z,
438  p->h2f1f2z, p->ih2f1f2z);
439  temp += S2i2F12(p->cxy, p->r1h1x, p->i1h1x,
440  p->r1h1y, p->i1h1y, p->r1h2x, p->i1h2x,
441  p->r1h2y, p->i1h2y, p->r2h11x, p->i2h11x,
442  p->r2h11y, p->i2h11y, p->h2f1f2x, p->ih2f1f2x,
443  p->h2f1f2y, p->ih2f1f2y);
444  temp += S2i2F12(p->cyz, p->r1h1y, p->i1h1y,
445  p->r1h1z, p->i1h1z, p->r1h2y, p->i1h2y,
446  p->r1h2z, p->i1h2z, p->r2h11y, p->i2h11y,
447  p->r2h11z, p->i2h11z, p->h2f1f2y, p->ih2f1f2y,
448  p->h2f1f2z,p->ih2f1f2z);
449  temp += S2i2F12(p->cxz, p->r1h1x, p->i1h1x,
450  p->r1h1z, p->i1h1z, p->r1h2x, p->i1h2x,
451  p->r1h2z, p->i1h2z, p->r2h11x, p->i2h11x,
452  p->r2h11z, p->i2h11z, p->h2f1f2x, p->ih2f1f2x,
453  p->h2f1f2z, p->ih2f1f2z);
454  temp += S3i2F12(p->cxxx, p->r1h1x,
455  p->i1h1x, p->r1h1x, p->i1h1x, p->r1h1x, p->i1h1x,
456  p->r1h2x, p->i1h2x, p->r1h2x, p->i1h2x, p->r1h2x, p->i1h2x);
457  temp += S3i2F12(p->cyyy, p->r1h1y,
458  p->i1h1y, p->r1h1y, p->i1h1y, p->r1h1y, p->i1h1y,
459  p->r1h2y, p->i1h2y, p->r1h2y, p->i1h2y, p->r1h2y, p->i1h2y)
460  + S3i2F12(p->czzz, p->r1h1z,
461  p->i1h1z, p->r1h1z, p->i1h1z, p->r1h1z, p->i1h1z,
462  p->r1h2z, p->i1h2z, p->r1h2z, p->i1h2z, p->r1h2z, p->i1h2z);
463  temp += S3i2F12(p->cxxy, p->r1h1x,
464  p->i1h1x, p->r1h1x, p->i1h1x, p->r1h1y, p->i1h1y,
465  p->r1h2x, p->i1h2x, p->r1h2x, p->i1h2x, p->r1h2y, p->i1h2y)
466  + S3i2F12(p->cxxz, p->r1h1x,
467  p->i1h1x, p->r1h1x, p->i1h1x, p->r1h1z, p->i1h1z,
468  p->r1h2x, p->i1h2x, p->r1h2x, p->i1h2x, p->r1h2z, p->i1h2z);
469  temp += S3i2F12(p->cxyy, p->r1h1x,
470  p->i1h1x, p->r1h1y, p->i1h1y, p->r1h1y, p->i1h1y,
471  p->r1h2x, p->i1h2x, p->r1h2y, p->i1h2y, p->r1h2y, p->i1h2y)
472  + S3i2F12(p->cyyz, p->r1h1y,
473  p->i1h1y, p->r1h1y, p->i1h1y, p->r1h1z, p->i1h1z,
474  p->r1h2y, p->i1h2y, p->r1h2y, p->i1h2y, p->r1h2z, p->i1h2z);
475  temp += S3i2F12(p->cxzz, p->r1h1x,
476  p->i1h1x, p->r1h1z, p->i1h1z, p->r1h1z, p->i1h1z,
477  p->r1h2x, p->i1h2x, p->r1h2z, p->i1h2z, p->r1h2z, p->i1h2z);
478  temp += S3i2F12(p->cyzz, p->r1h1y,
479  p->i1h1y, p->r1h1z, p->i1h1z, p->r1h1z, p->i1h1z,
480  p->r1h2y, p->i1h2y, p->r1h2z, p->i1h2z, p->r1h2z, p->i1h2z)
481  + S3i2F12(p->cxyz, p->r1h1x,
482  p->i1h1x, p->r1h1y, p->i1h1y, p->r1h1z, p->i1h1z,
483  p->r1h2x, p->i1h2x, p->r1h2y, p->i1h2y, p->r1h2z, p->i1h2z);
484 
485  return (temp/3.);
486  /* divided by 3 to get kernel (otherwise we get 3*kernel) */
487 }
double r1h1z
Definition: distodef.h:39
double cxxy
Definition: distodef.h:28
double r1h2z
Definition: distodef.h:45
double r1h2y
Definition: distodef.h:43
double ih2f1f2y
Definition: distodef.h:56
double ih2f1f2x
Definition: distodef.h:54
double cyy
Definition: distodef.h:20
double cxyy
Definition: distodef.h:30
double r1h2x
Definition: distodef.h:41
double cyyz
Definition: distodef.h:31
double r1h1x
Definition: distodef.h:35
double S3i2F12(double cxyz, double r1h1x, double i1h1x, double r1h1y, double i1h1y, double r1h1z, double i1h1z, double r1h2x, double i1h2x, double r1h2y, double i1h2y, double r1h2z, double i1h2z)
Definition: distfns.c:165
double r2h11y
Definition: distodef.h:49
double cyyy
Definition: distodef.h:26
double czzz
Definition: distodef.h:27
double i2h11y
Definition: distodef.h:50
double h2f1f2z
Definition: distodef.h:57
double i1h1z
Definition: distodef.h:40
double cxx
Definition: distodef.h:19
double cxyz
Definition: distodef.h:34
double i1h1y
Definition: distodef.h:38
double r1h1y
Definition: distodef.h:37
double cxz
Definition: distodef.h:24
double cxxx
Definition: distodef.h:25
double cyz
Definition: distodef.h:23
double ih2f1f2z
Definition: distodef.h:58
double i2h11z
Definition: distodef.h:52
double h2f1f2y
Definition: distodef.h:55
double h2f1f2x
Definition: distodef.h:53
double i1h1x
Definition: distodef.h:36
double i1h2y
Definition: distodef.h:44
double S2i2F12(double cxy, double r1h1x, double i1h1x, double r1h1y, double i1h1y, double r1h2x, double i1h2x, double r1h2y, double i1h2y, double r2h11x, double i2h11x, double r2h11y, double i2h11y, double h2f1f2x, double ih2f1f2x, double h2f1f2y, double ih2f1f2y)
Definition: distfns.c:105
double i1h2x
Definition: distodef.h:42
double cxxz
Definition: distodef.h:29
double czz
Definition: distodef.h:21
double cxy
Definition: distodef.h:22
double r2h11x
Definition: distodef.h:47
double i1h2z
Definition: distodef.h:46
double cxzz
Definition: distodef.h:32
double r2h11z
Definition: distodef.h:51
double cyzz
Definition: distodef.h:33
double i2h11x
Definition: distodef.h:48
double DFi3F1 ( double  cxx,
double  cyy,
double  czz,
double  cxy,
double  cyz,
double  cxz,
double  cxxx,
double  cyyy,
double  czzz,
double  cxxy,
double  cxxz,
double  cxyy,
double  cyyz,
double  cxzz,
double  cyzz,
double  cxyz,
double  r1h1x,
double  i1h1x,
double  r1h1y,
double  i1h1y,
double  r1h1z,
double  i1h1z,
double  r2h11x,
double  i2h11x,
double  r2h11y,
double  i2h11y,
double  r2h11z,
double  i2h11z 
)

Definition at line 260 of file distfns.c.

268 {
269  double temp;
270 
271  temp = S2i3F1(cxx,r1h1x,i1h1x,r1h1x,i1h1x,r2h11x,i2h11x,r2h11x,i2h11x)
272  +S2i3F1(cyy,r1h1y,i1h1y,r1h1y,i1h1y,r2h11y,i2h11y,r2h11y,i2h11y)
273  +S2i3F1(czz,r1h1z,i1h1z,r1h1z,i1h1z,r2h11z,i2h11z,r2h11z,i2h11z)
274  +S2i3F1(cxy,r1h1x,i1h1x,r1h1y,i1h1y,r2h11x,i2h11x,r2h11y,i2h11y);
275  temp +=
276  S2i3F1(cyz,r1h1y,i1h1y,r1h1z,i1h1z,r2h11y,i2h11y,r2h11z,i2h11z)
277  +S2i3F1(cxz,r1h1x,i1h1x,r1h1z,i1h1z,r2h11x,i2h11x,r2h11z,i2h11z)
278  +S3i3F1(cxxx,r1h1x,i1h1x,r1h1x,i1h1x,r1h1x,i1h1x)
279  +S3i3F1(cyyy,r1h1y,i1h1y,r1h1y,i1h1y,r1h1y,i1h1y);
280  temp +=
281  S3i3F1(czzz,r1h1z,i1h1z,r1h1z,i1h1z,r1h1z,i1h1z)
282  +S3i3F1(cxxy,r1h1x,i1h1x,r1h1x,i1h1x,r1h1y,i1h1y)
283  +S3i3F1(cxxz,r1h1x,i1h1x,r1h1x,i1h1x,r1h1z,i1h1z)
284  +S3i3F1(cxyy,r1h1x,i1h1x,r1h1y,i1h1y,r1h1y,i1h1y);
285  temp +=
286  S3i3F1(cyyz,r1h1y,i1h1y,r1h1y,i1h1y,r1h1z,i1h1z)
287  +S3i3F1(cxzz,r1h1x,i1h1x,r1h1z,i1h1z,r1h1z,i1h1z)
288  +S3i3F1(cyzz,r1h1y,i1h1y,r1h1z,i1h1z,r1h1z,i1h1z)
289  +S3i3F1(cxyz,r1h1x,i1h1x,r1h1y,i1h1y,r1h1z,i1h1z);
290 
291  return (temp);
292 }
double S3i3F1(double cxyz, double r1h1x, double i1h1x, double r1h1y, double i1h1y, double r1h1z, double i1h1z)
Definition: distfns.c:135
double S2i3F1(double cxy, double r1h1x, double i1h1x, double r1h1y, double i1h1y, double r2h11x, double i2h11x, double r2h11y, double i2h11y)
Definition: distfns.c:57
double DFiF12 ( double  cxx,
double  cyy,
double  czz,
double  cxy,
double  cyz,
double  cxz,
double  r1h1x,
double  i1h1x,
double  r1h1y,
double  i1h1y,
double  r1h1z,
double  i1h1z,
double  r1h2x,
double  i1h2x,
double  r1h2y,
double  i1h2y,
double  r1h2z,
double  i1h2z 
)

Definition at line 318 of file distfns.c.

324 {
325  double temp;
326 
327  temp = S2iF12(cxx,r1h1x,i1h1x,r1h1x,i1h1x,r1h2x,i1h2x,r1h2x,i1h2x)
328  +S2iF12(cyy,r1h1y,i1h1y,r1h1y,i1h1y,r1h2y,i1h2y,r1h2y,i1h2y)
329  +S2iF12(czz,r1h1z,i1h1z,r1h1z,i1h1z,r1h2z,i1h2z,r1h2z,i1h2z);
330  temp +=
331  S2iF12(cxy,r1h1x,i1h1x,r1h1y,i1h1y,r1h2x,i1h2x,r1h2y,i1h2y)
332  +S2iF12(cyz,r1h1y,i1h1y,r1h1z,i1h1z,r1h2y,i1h2y,r1h2z,i1h2z)
333  +S2iF12(cxz,r1h1x,i1h1x,r1h1z,i1h1z,r1h2x,i1h2x,r1h2z,i1h2z);
334 
335  return (temp*0.5); /* divided by two to scale down */
336 }
double S2iF12(double cxy, double r1h1x, double i1h1x, double r1h1y, double i1h1y, double r1h2x, double i1h2x, double r1h2y, double i1h2y)
Definition: distfns.c:77
double DFn2F1 ( double  cxx,
double  cyy,
double  czz,
double  cxy,
double  cyz,
double  cxz,
double  r1h1x,
double  i1h1x,
double  r1h1y,
double  i1h1y,
double  r1h1z,
double  i1h1z 
)

Definition at line 186 of file distfns.c.

190 {
191  double temp;
192 
193  temp = S2v2F1(cxx,r1h1x,i1h1x,r1h1x,i1h1x) +
194  S2v2F1(cyy,r1h1y,i1h1y,r1h1y,i1h1y) +
195  S2v2F1(czz,r1h1z,i1h1z,r1h1z,i1h1z) +
196  S2v2F1(cxy,r1h1x,i1h1x,r1h1y,i1h1y) +
197  S2v2F1(cyz,r1h1y,i1h1y,r1h1z,i1h1z) +
198  S2v2F1(cxz,r1h1x,i1h1x,r1h1z,i1h1z);
199 
200  return (temp);
201 }
double S2v2F1(double cxy, double r1h1x, double i1h1x, double r1h1y, double i1h1y)
Definition: distfns.c:29
double DFn2F12 ( DpassStr p)

Definition at line 340 of file distfns.c.

348 {
349 double temp;
350 
351  temp = S2v2F12(p->cxx,p->r1h1x, p->i1h1x,
352  p->r1h1x, p->i1h1x, p->r1h2x, p->i1h2x,
353  p->r1h2x, p->i1h2x, p->r2h11x, p->i2h11x,
354  p->r2h11x, p->i2h11x, p->h2f1f2x, p->ih2f1f2x,
355  p->h2f1f2x, p->ih2f1f2x);
356  temp += S2v2F12(p->cyy, p->r1h1y, p->i1h1y,
357  p->r1h1y, p->i1h1y, p->r1h2y, p->i1h2y,
358  p->r1h2y, p->i1h2y, p->r2h11y, p->i2h11y,
359  p->r2h11y, p->i2h11y, p->h2f1f2y, p->ih2f1f2y,
360  p->h2f1f2y, p->ih2f1f2y);
361  temp += S2v2F12(p->czz, p->r1h1z, p->i1h1z,
362  p->r1h1z, p->i1h1z, p->r1h2z, p->i1h2z,
363  p->r1h2z, p->i1h2z, p->r2h11z, p->i2h11z,
364  p->r2h11z, p->i2h11z, p->h2f1f2z, p->ih2f1f2z,
365  p->h2f1f2z, p->ih2f1f2z);
366  temp += S2v2F12(p->cxy, p->r1h1x, p->i1h1x,
367  p->r1h1y, p->i1h1y, p->r1h2x, p->i1h2x,
368  p->r1h2y, p->i1h2y, p->r2h11x, p->i2h11x,
369  p->r2h11y, p->i2h11y, p->h2f1f2x, p->ih2f1f2x,
370  p->h2f1f2y, p->ih2f1f2y);
371  temp += S2v2F12(p->cyz, p->r1h1y, p->i1h1y,
372  p->r1h1z, p->i1h1z, p->r1h2y, p->i1h2y,
373  p->r1h2z, p->i1h2z, p->r2h11y, p->i2h11y,
374  p->r2h11z, p->i2h11z, p->h2f1f2y, p->ih2f1f2y,
375  p->h2f1f2z, p->ih2f1f2z);
376  temp += S2v2F12(p->cxz, p->r1h1x, p->i1h1x,
377  p->r1h1z, p->i1h1z, p->r1h2x, p->i1h2x,
378  p->r1h2z, p->i1h2z, p->r2h11x, p->i2h11x,
379  p->r2h11z, p->i2h11z, p->h2f1f2x, p->ih2f1f2x,
380  p->h2f1f2z, p->ih2f1f2z);
381  temp += S3v2F12(p->cxxx, p->r1h1x,
382  p->i1h1x, p->r1h1x, p->i1h1x, p->r1h1x, p->i1h1x,
383  p->r1h2x, p->i1h2x, p->r1h2x, p->i1h2x, p->r1h2x, p->i1h2x)
384  + S3v2F12(p->cyyy,p->r1h1y,
385  p->i1h1y, p->r1h1y, p->i1h1y, p->r1h1y, p->i1h1y,
386  p->r1h2y, p->i1h2y, p->r1h2y, p->i1h2y, p->r1h2y, p->i1h2y);
387  temp += S3v2F12(p->czzz, p->r1h1z,
388  p->i1h1z, p->r1h1z, p->i1h1z, p->r1h1z, p->i1h1z,
389  p->r1h2z, p->i1h2z, p->r1h2z, p->i1h2z, p->r1h2z, p->i1h2z)
390  + S3v2F12(p->cxxy,p->r1h1x,
391  p->i1h1x, p->r1h1x, p->i1h1x, p->r1h1y, p->i1h1y,
392  p->r1h2x, p->i1h2x, p->r1h2x, p->i1h2x, p->r1h2y, p->i1h2y);
393  temp += S3v2F12(p->cxxz,p->r1h1x,
394  p->i1h1x, p->r1h1x, p->i1h1x, p->r1h1z, p->i1h1z,
395  p->r1h2x, p->i1h2x, p->r1h2x, p->i1h2x, p->r1h2z, p->i1h2z)
396  + S3v2F12(p->cxyy,p->r1h1x,
397  p->i1h1x, p->r1h1y, p->i1h1y, p->r1h1y, p->i1h1y,
398  p->r1h2x, p->i1h2x, p->r1h2y, p->i1h2y, p->r1h2y, p->i1h2y);
399  temp += S3v2F12(p->cyyz, p->r1h1y,
400  p->i1h1y, p->r1h1y, p->i1h1y, p->r1h1z, p->i1h1z,
401  p->r1h2y, p->i1h2y, p->r1h2y, p->i1h2y, p->r1h2z, p->i1h2z)
402  + S3v2F12(p->cxzz, p->r1h1x,
403  p->i1h1x, p->r1h1z, p->i1h1z, p->r1h1z, p->i1h1z,
404  p->r1h2x, p->i1h2x, p->r1h2z, p->i1h2z, p->r1h2z, p->i1h2z);
405  temp += S3v2F12(p->cyzz, p->r1h1y,
406  p->i1h1y, p->r1h1z, p->i1h1z, p->r1h1z, p->i1h1z,
407  p->r1h2y, p->i1h2y, p->r1h2z, p->i1h2z, p->r1h2z, p->i1h2z)
408  + S3v2F12(p->cxyz, p->r1h1x,
409  p->i1h1x, p->r1h1y, p->i1h1y, p->r1h1z, p->i1h1z,
410  p->r1h2x, p->i1h2x, p->r1h2y, p->i1h2y, p->r1h2z, p->i1h2z);
411 
412  return (temp/3.);
413  /* divided by 3 to get kernel (otherwise we get 3*kernel) */
414 }
double r1h1z
Definition: distodef.h:39
double cxxy
Definition: distodef.h:28
double r1h2z
Definition: distodef.h:45
double r1h2y
Definition: distodef.h:43
double ih2f1f2y
Definition: distodef.h:56
double ih2f1f2x
Definition: distodef.h:54
double cyy
Definition: distodef.h:20
double cxyy
Definition: distodef.h:30
double r1h2x
Definition: distodef.h:41
double cyyz
Definition: distodef.h:31
double r1h1x
Definition: distodef.h:35
double r2h11y
Definition: distodef.h:49
double cyyy
Definition: distodef.h:26
double S3v2F12(double cxyz, double r1h1x, double i1h1x, double r1h1y, double i1h1y, double r1h1z, double i1h1z, double r1h2x, double i1h2x, double r1h2y, double i1h2y, double r1h2z, double i1h2z)
Definition: distfns.c:147
double czzz
Definition: distodef.h:27
double i2h11y
Definition: distodef.h:50
double h2f1f2z
Definition: distodef.h:57
double i1h1z
Definition: distodef.h:40
double cxx
Definition: distodef.h:19
double cxyz
Definition: distodef.h:34
double i1h1y
Definition: distodef.h:38
double r1h1y
Definition: distodef.h:37
double cxz
Definition: distodef.h:24
double cxxx
Definition: distodef.h:25
double cyz
Definition: distodef.h:23
double ih2f1f2z
Definition: distodef.h:58
double i2h11z
Definition: distodef.h:52
double h2f1f2y
Definition: distodef.h:55
double S2v2F12(double cxy, double r1h1x, double i1h1x, double r1h1y, double i1h1y, double r1h2x, double i1h2x, double r1h2y, double i1h2y, double r2h11x, double i2h11x, double r2h11y, double i2h11y, double h2f1f2x, double ih2f1f2x, double h2f1f2y, double ih2f1f2y)
Definition: distfns.c:87
double h2f1f2x
Definition: distodef.h:53
double i1h1x
Definition: distodef.h:36
double i1h2y
Definition: distodef.h:44
double i1h2x
Definition: distodef.h:42
double cxxz
Definition: distodef.h:29
double czz
Definition: distodef.h:21
double cxy
Definition: distodef.h:22
double r2h11x
Definition: distodef.h:47
double i1h2z
Definition: distodef.h:46
double cxzz
Definition: distodef.h:32
double r2h11z
Definition: distodef.h:51
double cyzz
Definition: distodef.h:33
double i2h11x
Definition: distodef.h:48
double DFn3F1 ( double  cxx,
double  cyy,
double  czz,
double  cxy,
double  cyz,
double  cxz,
double  cxxx,
double  cyyy,
double  czzz,
double  cxxy,
double  cxxz,
double  cxyy,
double  cyyz,
double  cxzz,
double  cyzz,
double  cxyz,
double  r1h1x,
double  i1h1x,
double  r1h1y,
double  i1h1y,
double  r1h1z,
double  i1h1z,
double  r2h11x,
double  i2h11x,
double  r2h11y,
double  i2h11y,
double  r2h11z,
double  i2h11z 
)

Definition at line 224 of file distfns.c.

232 {
233  double temp;
234 
235  temp = S2v3F1(cxx,r1h1x,i1h1x,r1h1x,i1h1x,r2h11x,i2h11x,r2h11x,i2h11x)
236  +S2v3F1(cyy,r1h1y,i1h1y,r1h1y,i1h1y,r2h11y,i2h11y,r2h11y,i2h11y)
237  +S2v3F1(czz,r1h1z,i1h1z,r1h1z,i1h1z,r2h11z,i2h11z,r2h11z,i2h11z);
238  temp +=
239  S2v3F1(cxy,r1h1x,i1h1x,r1h1y,i1h1y,r2h11x,i2h11x,r2h11y,i2h11y)
240  +S2v3F1(cyz,r1h1y,i1h1y,r1h1z,i1h1z,r2h11y,i2h11y,r2h11z,i2h11z)
241  +S2v3F1(cxz,r1h1x,i1h1x,r1h1z,i1h1z,r2h11x,i2h11x,r2h11z,i2h11z)
242  +S3v3F1(cxxx,r1h1x,i1h1x,r1h1x,i1h1x,r1h1x,i1h1x);
243  temp +=
244  S3v3F1(cyyy,r1h1y,i1h1y,r1h1y,i1h1y,r1h1y,i1h1y)
245  +S3v3F1(czzz,r1h1z,i1h1z,r1h1z,i1h1z,r1h1z,i1h1z)
246  +S3v3F1(cxxy,r1h1x,i1h1x,r1h1x,i1h1x,r1h1y,i1h1y)
247  +S3v3F1(cxxz,r1h1x,i1h1x,r1h1x,i1h1x,r1h1z,i1h1z)
248  +S3v3F1(cxyy,r1h1x,i1h1x,r1h1y,i1h1y,r1h1y,i1h1y);
249  temp +=
250  S3v3F1(cyyz,r1h1y,i1h1y,r1h1y,i1h1y,r1h1z,i1h1z)
251  +S3v3F1(cxzz,r1h1x,i1h1x,r1h1z,i1h1z,r1h1z,i1h1z)
252  +S3v3F1(cyzz,r1h1y,i1h1y,r1h1z,i1h1z,r1h1z,i1h1z)
253  +S3v3F1(cxyz,r1h1x,i1h1x,r1h1y,i1h1y,r1h1z,i1h1z);
254 
255  return (temp);
256 }
double S3v3F1(double cxyz, double r1h1x, double i1h1x, double r1h1y, double i1h1y, double r1h1z, double i1h1z)
Definition: distfns.c:123
double S2v3F1(double cxy, double r1h1x, double i1h1x, double r1h1y, double i1h1y, double r2h11x, double i2h11x, double r2h11y, double i2h11y)
Definition: distfns.c:47
double DFnF12 ( double  cxx,
double  cyy,
double  czz,
double  cxy,
double  cyz,
double  cxz,
double  r1h1x,
double  i1h1x,
double  r1h1y,
double  i1h1y,
double  r1h1z,
double  i1h1z,
double  r1h2x,
double  i1h2x,
double  r1h2y,
double  i1h2y,
double  r1h2z,
double  i1h2z 
)

Definition at line 296 of file distfns.c.

302 {
303  double temp;
304 
305  temp = S2vF12(cxx,r1h1x,i1h1x,r1h1x,i1h1x,r1h2x,i1h2x,r1h2x,i1h2x)
306  +S2vF12(cyy,r1h1y,i1h1y,r1h1y,i1h1y,r1h2y,i1h2y,r1h2y,i1h2y)
307  +S2vF12(czz,r1h1z,i1h1z,r1h1z,i1h1z,r1h2z,i1h2z,r1h2z,i1h2z);
308  temp +=
309  S2vF12(cxy,r1h1x,i1h1x,r1h1y,i1h1y,r1h2x,i1h2x,r1h2y,i1h2y)
310  +S2vF12(cyz,r1h1y,i1h1y,r1h1z,i1h1z,r1h2y,i1h2y,r1h2z,i1h2z)
311  +S2vF12(cxz,r1h1x,i1h1x,r1h1z,i1h1z,r1h2x,i1h2x,r1h2z,i1h2z);
312 
313  return (0.5*temp);
314 }
double S2vF12(double cxy, double r1h1x, double i1h1x, double r1h1y, double i1h1y, double r1h2x, double i1h2x, double r1h2y, double i1h2y)
Definition: distfns.c:67
double S2i2F1 ( double  cxy,
double  r1h1x,
double  i1h1x,
double  r1h1y,
double  i1h1y 
)

Definition at line 38 of file distfns.c.

41 {
42  return (cxy*(r1h1x*i1h1y + i1h1x*r1h1y));
43 }
double S2i2F12 ( double  cxy,
double  r1h1x,
double  i1h1x,
double  r1h1y,
double  i1h1y,
double  r1h2x,
double  i1h2x,
double  r1h2y,
double  i1h2y,
double  r2h11x,
double  i2h11x,
double  r2h11y,
double  i2h11y,
double  h2f1f2x,
double  ih2f1f2x,
double  h2f1f2y,
double  ih2f1f2y 
)

Definition at line 105 of file distfns.c.

112 {
113  return ( cxy * (
114  2*(r1h1x*ih2f1f2y + i1h1x*h2f1f2y
115  +r1h1y*ih2f1f2x + i1h1y*h2f1f2x)
116  + r1h2x*i2h11y + i1h2x*r2h11y
117  + r1h2y*i2h11x + i1h2y*r2h11x
118  ));
119 }
double S2i3F1 ( double  cxy,
double  r1h1x,
double  i1h1x,
double  r1h1y,
double  i1h1y,
double  r2h11x,
double  i2h11x,
double  r2h11y,
double  i2h11y 
)

Definition at line 57 of file distfns.c.

61 {
62  return (cxy*(r1h1x*i2h11y + i1h1x*r2h11y + r1h1y*i2h11x + i1h1y*r2h11x));
63 }
double S2iF12 ( double  cxy,
double  r1h1x,
double  i1h1x,
double  r1h1y,
double  i1h1y,
double  r1h2x,
double  i1h2x,
double  r1h2y,
double  i1h2y 
)

Definition at line 77 of file distfns.c.

81 {
82  return (cxy*(r1h1x*i1h2y + i1h1x*r1h2y + r1h1y*i1h2x + i1h1y*r1h2x));
83 }
double S2v2F1 ( double  cxy,
double  r1h1x,
double  i1h1x,
double  r1h1y,
double  i1h1y 
)

Definition at line 29 of file distfns.c.

32 {
33  return (cxy*(r1h1x*r1h1y - i1h1x*i1h1y));
34 }
double S2v2F12 ( double  cxy,
double  r1h1x,
double  i1h1x,
double  r1h1y,
double  i1h1y,
double  r1h2x,
double  i1h2x,
double  r1h2y,
double  i1h2y,
double  r2h11x,
double  i2h11x,
double  r2h11y,
double  i2h11y,
double  h2f1f2x,
double  ih2f1f2x,
double  h2f1f2y,
double  ih2f1f2y 
)

Definition at line 87 of file distfns.c.

94 {
95  return ( cxy * (
96  2*(r1h1x*h2f1f2y - i1h1x*ih2f1f2y
97  +r1h1y*h2f1f2x - i1h1y*ih2f1f2x)
98  + r1h2x*r2h11y - i1h2x*i2h11y
99  + r1h2y*r2h11x - i1h2y*i2h11x
100  ));
101 }
double S2v3F1 ( double  cxy,
double  r1h1x,
double  i1h1x,
double  r1h1y,
double  i1h1y,
double  r2h11x,
double  i2h11x,
double  r2h11y,
double  i2h11y 
)

Definition at line 47 of file distfns.c.

51 {
52  return (cxy*(r1h1x*r2h11y - i1h1x*i2h11y + r1h1y*r2h11x - i1h1y*i2h11x));
53 }
double S2vF12 ( double  cxy,
double  r1h1x,
double  i1h1x,
double  r1h1y,
double  i1h1y,
double  r1h2x,
double  i1h2x,
double  r1h2y,
double  i1h2y 
)

Definition at line 67 of file distfns.c.

71 {
72  return (cxy*(r1h1x*r1h2y - i1h1x*i1h2y + r1h1y*r1h2x - i1h1y*i1h2x));
73 }
double S3i2F12 ( double  cxyz,
double  r1h1x,
double  i1h1x,
double  r1h1y,
double  i1h1y,
double  r1h1z,
double  i1h1z,
double  r1h2x,
double  i1h2x,
double  r1h2y,
double  i1h2y,
double  r1h2z,
double  i1h2z 
)

Definition at line 165 of file distfns.c.

171 {
172  return ( cxyz * (
173  (r1h1x*r1h1y - i1h1x*i1h1y)*i1h2z + (i1h1x*r1h1y + r1h1x*i1h1y)*r1h2z
174  +
175  (r1h1x*r1h1z - i1h1x*i1h1z)*i1h2y + (i1h1x*r1h1z + r1h1x*i1h1z)*r1h2y
176  +
177  (r1h1z*r1h1y - i1h1z*i1h1y)*i1h2x + (i1h1z*r1h1y + r1h1z*i1h1y)*r1h2x
178  ));
179 }
double S3i3F1 ( double  cxyz,
double  r1h1x,
double  i1h1x,
double  r1h1y,
double  i1h1y,
double  r1h1z,
double  i1h1z 
)

Definition at line 135 of file distfns.c.

139 {
140  return( cxyz * (
141  (r1h1x*r1h1y - i1h1x*i1h1y)*i1h1z + (i1h1x*r1h1y + r1h1x*i1h1y)*r1h1z
142  ));
143 }
double S3v2F12 ( double  cxyz,
double  r1h1x,
double  i1h1x,
double  r1h1y,
double  i1h1y,
double  r1h1z,
double  i1h1z,
double  r1h2x,
double  i1h2x,
double  r1h2y,
double  i1h2y,
double  r1h2z,
double  i1h2z 
)

Definition at line 147 of file distfns.c.

153 {
154  return ( cxyz * (
155  (r1h1x*r1h1y - i1h1x*i1h1y)*r1h2z - (i1h1x*r1h1y + r1h1x*i1h1y)*i1h2z
156  +
157  (r1h1x*r1h1z - i1h1x*i1h1z)*r1h2y - (i1h1x*r1h1z + r1h1x*i1h1z)*i1h2y
158  +
159  (r1h1z*r1h1y - i1h1z*i1h1y)*r1h2x - (i1h1z*r1h1y + r1h1z*i1h1y)*i1h2x
160  ));
161 }
double S3v3F1 ( double  cxyz,
double  r1h1x,
double  i1h1x,
double  r1h1y,
double  i1h1y,
double  r1h1z,
double  i1h1z 
)

Definition at line 123 of file distfns.c.

127 {
128  return ( cxyz * (
129  (r1h1x*r1h1y - i1h1x*i1h1y)*r1h1z - (i1h1x*r1h1y + r1h1x*i1h1y)*i1h1z
130  ));
131 }