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

Go to the source code of this file.

Macros

#define JOB   char
 

Functions

void CubeDeriv (Dderivs *new, Dderivs *old)
 

Macro Definition Documentation

#define JOB   char

Definition at line 9 of file cubeder.c.

Function Documentation

void CubeDeriv ( Dderivs new,
Dderivs old 
)

Definition at line 19 of file cubeder.c.

21 {
22 
23 Dderivs temp;
24 
25 EqualDeriv(&temp, old);
26 
27 new->value = temp.value * temp.value * temp.value;
28 new->d1_p = 3*temp.value*temp.value*temp.d1_p;
29 new->d1_q = 3*temp.value*temp.value*temp.d1_q;
30 new->d1_r = 3*temp.value*temp.value*temp.d1_r;
31 new->d2_p2 = 3*(2*temp.value*temp.d1_p*temp.d1_p + temp.value*temp.value*temp.d2_p2);
32 new->d2_q2 = 3*(2*temp.value*temp.d1_q*temp.d1_q + temp.value*temp.value*temp.d2_q2);
33 new->d2_r2 = 3*(2*temp.value*temp.d1_r*temp.d1_r + temp.value*temp.value*temp.d2_r2);
34 new->d2_pq = 3*(2*temp.value*temp.d1_p*temp.d1_q + temp.value*temp.value*temp.d2_pq);
35 new->d2_qr = 3*(2*temp.value*temp.d1_q*temp.d1_r + temp.value*temp.value*temp.d2_qr);
36 new->d2_pr = 3*(2*temp.value*temp.d1_p*temp.d1_r + temp.value*temp.value*temp.d2_pr);
37 new->d3_p3 = 3*(2*(temp.d1_p*temp.d1_p*temp.d1_p + temp.value*(temp.d2_p2*
38  temp.d1_p + temp.d2_p2*temp.d1_p + temp.d2_p2*temp.d1_p))
39  + temp.value*temp.value*temp.d3_p3);
40 new->d3_q3 = 3*(2*(temp.d1_q*temp.d1_q*temp.d1_q + temp.value*(temp.d2_q2*
41  temp.d1_q + temp.d2_q2*temp.d1_q + temp.d2_q2*temp.d1_q))
42  + temp.value*temp.value*temp.d3_q3);
43 new->d3_r3 = 3*(2*(temp.d1_r*temp.d1_r*temp.d1_r + temp.value*(temp.d2_r2*
44  temp.d1_r + temp.d2_r2*temp.d1_r + temp.d2_r2*temp.d1_r))
45  + temp.value*temp.value*temp.d3_r3);
46 new->d3_p2r = 3*(2*(temp.d1_p*temp.d1_p*temp.d1_r + temp.value*(temp.d2_p2*
47  temp.d1_r + temp.d2_pr*temp.d1_p + temp.d2_pr*temp.d1_p))
48  + temp.value*temp.value*temp.d3_p2r);
49 new->d3_p2q = 3*(2*(temp.d1_p*temp.d1_p*temp.d1_q + temp.value*(temp.d2_p2*
50  temp.d1_q + temp.d2_pq*temp.d1_p + temp.d2_pq*temp.d1_p))
51  + temp.value*temp.value*temp.d3_p2q);
52 new->d3_q2r = 3*(2*(temp.d1_q*temp.d1_q*temp.d1_r + temp.value*(temp.d2_q2*
53  temp.d1_r + temp.d2_qr*temp.d1_q + temp.d2_qr*temp.d1_q))
54  + temp.value*temp.value*temp.d3_q2r);
55 new->d3_pq2 = 3*(2*(temp.d1_q*temp.d1_q*temp.d1_p + temp.value*(temp.d2_q2*
56  temp.d1_p + temp.d2_pq*temp.d1_q + temp.d2_pq*temp.d1_q))
57  + temp.value*temp.value*temp.d3_pq2);
58 new->d3_pr2 = 3*(2*(temp.d1_r*temp.d1_r*temp.d1_p + temp.value*(temp.d2_r2*
59  temp.d1_p + temp.d2_pr*temp.d1_r + temp.d2_pr*temp.d1_r))
60  + temp.value*temp.value*temp.d3_pr2);
61 new->d3_qr2 = 3*(2*(temp.d1_r*temp.d1_r*temp.d1_q + temp.value*(temp.d2_r2*
62  temp.d1_q + temp.d2_qr*temp.d1_r + temp.d2_qr*temp.d1_r))
63  + temp.value*temp.value*temp.d3_qr2);
64 new->d3_pqr = 3*(2*(temp.d1_p*temp.d1_q*temp.d1_r + temp.value*(temp.d2_pq*
65  temp.d1_r + temp.d2_qr*temp.d1_p + temp.d2_pr*temp.d1_q))
66  + temp.value*temp.value*temp.d3_pqr);
67  }
double d2_pr
Definition: distodef.h:75
double d3_pr2
Definition: distodef.h:83
double d3_pq2
Definition: distodef.h:81
double d3_p3
Definition: distodef.h:76
double d1_q
Definition: distodef.h:68
double d2_pq
Definition: distodef.h:73
double d3_pqr
Definition: distodef.h:85
double d2_r2
Definition: distodef.h:72
double d3_p2r
Definition: distodef.h:80
double d2_qr
Definition: distodef.h:74
double d1_r
Definition: distodef.h:69
double d1_p
Definition: distodef.h:67
double d3_qr2
Definition: distodef.h:84
double d3_q3
Definition: distodef.h:77
double d3_q2r
Definition: distodef.h:82
double value
Definition: distodef.h:66
double d3_r3
Definition: distodef.h:78
double d3_p2q
Definition: distodef.h:79
double d2_q2
Definition: distodef.h:71
double d2_p2
Definition: distodef.h:70
void EqualDeriv(Dderivs *new, Dderivs *old)
Definition: equalder.c:17