Jspice3
Main Page
Data Structures
Files
File List
Globals
cubeder.c
Go to the documentation of this file.
1
/**********
2
Copyright 1990 Regents of the University of California. All rights reserved.
3
Author: 1989 Jaijeet S. Roychowdhury
4
**********/
5
6
#include "
spice.h
"
7
#include <math.h>
8
9
#define JOB char
10
#include "
distodef.h
"
11
12
/*
13
* CubeDeriv computes the partial derivatives of the cube
14
* function where the argument to the function is itself a
15
* function of three variables p, q, and r.
16
*/
17
18
void
19
CubeDeriv
(
new
, old)
20
Dderivs
*new, *old;
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
}
Dderivs::d2_pr
double d2_pr
Definition:
distodef.h:75
Dderivs::d3_pr2
double d3_pr2
Definition:
distodef.h:83
distodef.h
Dderivs::d3_pq2
double d3_pq2
Definition:
distodef.h:81
Dderivs::d3_p3
double d3_p3
Definition:
distodef.h:76
Dderivs::d1_q
double d1_q
Definition:
distodef.h:68
Dderivs::d2_pq
double d2_pq
Definition:
distodef.h:73
Dderivs::d3_pqr
double d3_pqr
Definition:
distodef.h:85
Dderivs::d2_r2
double d2_r2
Definition:
distodef.h:72
Dderivs::d3_p2r
double d3_p2r
Definition:
distodef.h:80
Dderivs::d2_qr
double d2_qr
Definition:
distodef.h:74
Dderivs::d1_r
double d1_r
Definition:
distodef.h:69
Dderivs::d1_p
double d1_p
Definition:
distodef.h:67
Dderivs::d3_qr2
double d3_qr2
Definition:
distodef.h:84
Dderivs::d3_q3
double d3_q3
Definition:
distodef.h:77
spice.h
Dderivs::d3_q2r
double d3_q2r
Definition:
distodef.h:82
CubeDeriv
void CubeDeriv(Dderivs *new, Dderivs *old)
Definition:
cubeder.c:19
Dderivs::value
double value
Definition:
distodef.h:66
Dderivs
Definition:
distodef.h:64
Dderivs::d3_r3
double d3_r3
Definition:
distodef.h:78
Dderivs::d3_p2q
double d3_p2q
Definition:
distodef.h:79
Dderivs::d2_q2
double d2_q2
Definition:
distodef.h:71
Dderivs::d2_p2
double d2_p2
Definition:
distodef.h:70
EqualDeriv
void EqualDeriv(Dderivs *new, Dderivs *old)
Definition:
equalder.c:17
src
lib
dev
disto
cubeder.c
Generated by
1.8.11