v0.15.0
Loading...
Searching...
No Matches
sdf.CylinderZ Class Reference
Collaboration diagram for sdf.CylinderZ:
[legend]

Public Member Functions

 sDF (r, xc, yc, x, y)
 
 gradSdf (xc, yc, x, y)
 
 hessSdf (xc, yc, x, y)
 
 __init__ (self, Xc, Yc, Zc, diameter)
 
 sDF (self, x, y, z)
 
 gradSdf (self, x, y, z)
 
 hessSdf (self, x, y, z)
 
 __init__ (self, Xc, Yc, Zc, diameter)
 
 sDF (self, x, y, z)
 
 gradSdf (self, x, y, z)
 
 hessSdf (self, x, y, z)
 
 __init__ (self, Xc, Yc, Zc, diameter)
 
 sDF (self, x, y, z)
 
 gradSdf (self, x, y, z)
 
 hessSdf (self, x, y, z)
 

Public Attributes

 Xc = Xc
 
 Yc = Yc
 
 Zc = Zc
 
 xc = Xc
 
 yc = Yc
 
 zc = Zc
 
int radius = diameter/2
 
 normal = self.gradSdf(x,y,z)
 
 dNormal = self.hessSdf(x,y,z)
 

Detailed Description

Definition at line 84 of file sdf.py.

Constructor & Destructor Documentation

◆ __init__() [1/3]

sdf.CylinderZ.__init__ ( self,
Xc,
Yc,
Zc,
diameter )

Definition at line 85 of file sdf.py.

85 def __init__(self, Xc, Yc, Zc, diameter):
86 # Initial Centroid
87 self.Xc = Xc
88 self.Yc = Yc
89 self.Zc = Zc
90
91 # Current Centroid
92 self.xc = Xc
93 self.yc = Yc
94 self.zc = Zc
95
96 # Indenter Dimensions
97 self.radius = diameter/2
98

◆ __init__() [2/3]

sdf.CylinderZ.__init__ ( self,
Xc,
Yc,
Zc,
diameter )

Definition at line 55 of file sdf.py.

55 def __init__(self, Xc, Yc, Zc, diameter):
56 # Initial Centroid
57 self.Xc = Xc
58 self.Yc = Yc
59 self.Zc = Zc
60
61 # Current Centroid
62 self.xc = Xc
63 self.yc = Yc
64 self.zc = Zc
65
66 # Indenter Dimensions
67 self.radius = diameter/2
68

◆ __init__() [3/3]

sdf.CylinderZ.__init__ ( self,
Xc,
Yc,
Zc,
diameter )

Definition at line 85 of file sdf.py.

85 def __init__(self, Xc, Yc, Zc, diameter):
86 # Initial Centroid
87 self.Xc = Xc
88 self.Yc = Yc
89 self.Zc = Zc
90
91 # Current Centroid
92 self.xc = Xc
93 self.yc = Yc
94 self.zc = Zc
95
96 # Indenter Dimensions
97 self.radius = diameter/2
98

Member Function Documentation

◆ gradSdf() [1/4]

sdf.CylinderZ.gradSdf ( self,
x,
y,
z )

Definition at line 108 of file sdf.py.

108 def gradSdf(self, x, y, z):
109 a = (x-self.xc)**2 + (y-self.yc)**2
110 c_val = np.sqrt(a)
111 c_val_A = 1./c_val
112 c_val_dx = c_val_A * (x-self.xc)
113 c_val_dy = c_val_A * (y-self.yc)
114 c_val_dz = np.zeros_like(c_val_dy)
115 # x, y, z
116 c_val_dx = c_val_dx.reshape((-1,1))
117 c_val_dy = c_val_dy.reshape((-1,1))
118 c_val_dz = c_val_dz.reshape((-1,1))
119 grad_array = np.hstack([c_val_dx,c_val_dy,c_val_dz])
120 return grad_array
121

◆ gradSdf() [2/4]

sdf.CylinderZ.gradSdf ( self,
x,
y,
z )

Definition at line 72 of file sdf.py.

72 def gradSdf(self, x, y, z):
73 a = (x-self.xc)**2 + (y-self.yc)**2
74 c_val_A = 1./np.sqrt(a)
75 c_val_dx = c_val_A * (x-self.xc)
76 c_val_dy = c_val_A * (y-self.yc)
77 c_val_dz = np.zeros_like(c_val_dy)
78 # x, y, z
79 return np.hstack([c_val_dx.reshape((-1,1)), c_val_dy.reshape((-1,1)), c_val_dz.reshape((-1,1))])
80

◆ gradSdf() [3/4]

sdf.CylinderZ.gradSdf ( self,
x,
y,
z )

Definition at line 108 of file sdf.py.

108 def gradSdf(self, x, y, z):
109 a = (x-self.xc)**2 + (y-self.yc)**2
110 c_val = np.sqrt(a)
111 c_val_A = 1./c_val
112 c_val_dx = c_val_A * (x-self.xc)
113 c_val_dy = c_val_A * (y-self.yc)
114 c_val_dz = np.zeros_like(c_val_dy)
115 # x, y, z
116 c_val_dx = c_val_dx.reshape((-1,1))
117 c_val_dy = c_val_dy.reshape((-1,1))
118 c_val_dz = c_val_dz.reshape((-1,1))
119 grad_array = np.hstack([c_val_dx,c_val_dy,c_val_dz])
120 return grad_array
121

◆ gradSdf() [4/4]

sdf.CylinderZ.gradSdf ( xc,
yc,
x,
y )

Definition at line 44 of file sdf.py.

44 def gradSdf(xc, yc, x, y):
45 a = pow(x-xc, 2)+pow(y-yc, 2)
46 c_val = math.sqrt(a)
47 c_val_A = 1/c_val
48 c_val_dx = c_val_A * (x-xc)
49 c_val_dy = c_val_A * (y-yc)
50 # x, y, z
51 return [c_val_dx, c_val_dy, 0]
52

◆ hessSdf() [1/4]

sdf.CylinderZ.hessSdf ( self,
x,
y,
z )

Definition at line 122 of file sdf.py.

122 def hessSdf(self, x, y, z):
123 a = (x-self.xc)**2 + (y-self.yc)**2
124 c_val = np.sqrt(a)
125 c_val_A = 1./c_val
126 c_val_B = 1./(a**(3./2.))
127 Hxx = c_val_A - c_val_B * (x-self.xc)**2
128 Hxy = -c_val_B * (x-self.xc)*(y-self.yc)
129 Hyy = c_val_A - c_val_B * (y-self.yc)**2
130
131 Hxx = Hxx.reshape((-1,1))
132 Hzx = np.zeros_like(Hxx)
133 Hxy = Hxy.reshape((-1,1))
134 Hyy = Hyy.reshape((-1,1))
135 Hzy = np.zeros_like(Hxx)
136 Hzz = np.zeros_like(Hxx)
137 hess_array = np.hstack([Hxx, Hxy, Hzx, Hyy, Hzy, Hzz])
138
139 return hess_array
140

◆ hessSdf() [2/4]

sdf.CylinderZ.hessSdf ( self,
x,
y,
z )

Definition at line 81 of file sdf.py.

81 def hessSdf(self, x, y, z):
82 a = (x-self.xc)**2 + (y-self.yc)**2
83 c_val_A = 1./np.sqrt(a)
84 c_val_B = 1./(a**(3./2.))
85 Hxx = c_val_A - c_val_B * (x-self.xc)**2
86 Hxy = -c_val_B * (x-self.xc)*(y-self.yc)
87 Hyy = c_val_A - c_val_B * (y-self.yc)**2
88 zeros = np.zeros_like(Hxx).reshape((-1,1))
89 # Hxx, Hxy, Hzx, Hyy, Hzy, Hzz
90 return np.hstack([Hxx.reshape((-1,1)), Hxy.reshape((-1,1)), zeros, Hyy.reshape((-1,1)), zeros, zeros])
91

◆ hessSdf() [3/4]

sdf.CylinderZ.hessSdf ( self,
x,
y,
z )

Definition at line 122 of file sdf.py.

122 def hessSdf(self, x, y, z):
123 a = (x-self.xc)**2 + (y-self.yc)**2
124 c_val = np.sqrt(a)
125 c_val_A = 1./c_val
126 c_val_B = 1./(a**(3./2.))
127 Hxx = c_val_A - c_val_B * (x-self.xc)**2
128 Hxy = -c_val_B * (x-self.xc)*(y-self.yc)
129 Hyy = c_val_A - c_val_B * (y-self.yc)**2
130
131 Hxx = Hxx.reshape((-1,1))
132 Hzx = np.zeros_like(Hxx)
133 Hxy = Hxy.reshape((-1,1))
134 Hyy = Hyy.reshape((-1,1))
135 Hzy = np.zeros_like(Hxx)
136 Hzz = np.zeros_like(Hxx)
137 hess_array = np.hstack([Hxx, Hxy, Hzx, Hyy, Hzy, Hzz])
138
139 return hess_array
140

◆ hessSdf() [4/4]

sdf.CylinderZ.hessSdf ( xc,
yc,
x,
y )

Definition at line 53 of file sdf.py.

53 def hessSdf(xc, yc, x, y):
54 a = pow(x-xc, 2)+pow(y-yc, 2)
55 c_val = math.sqrt(a)
56 c_val_A = 1./c_val
57 c_val_B = 1./pow(a, 3./2.)
58 c_val_dx_dx = c_val_A - c_val_B * pow(x-xc, 2)
59 c_val_dx_dy = -c_val_B * (x-xc)*(y-yc)
60 c_val_dy_dy = c_val_A - c_val_B * pow(y-yc, 2)
61 # xx, yx, zx, yy, zy, zz
62 return [c_val_dx_dx, c_val_dx_dy, 0, c_val_dy_dy, 0, 0]

◆ sDF() [1/4]

sdf.CylinderZ.sDF ( r,
xc,
yc,
x,
y )

Definition at line 39 of file sdf.py.

39 def sDF(r, xc, yc, x, y):
40 a = pow(x-xc, 2)+pow(y-yc, 2)
41 c_val = math.sqrt(a)-r
42 return c_val
43

◆ sDF() [2/4]

sdf.CylinderZ.sDF ( self,
x,
y,
z )

Definition at line 99 of file sdf.py.

99 def sDF(self, x, y, z):
100 a = (x-self.xc)**2 + (y-self.yc)**2
101 gap = np.sqrt(a)-self.radius
102
103 self.normal = self.gradSdf(x,y,z)
104 self.dNormal = self.hessSdf(x,y,z)
105
106 return gap
107

◆ sDF() [3/4]

sdf.CylinderZ.sDF ( self,
x,
y,
z )

Definition at line 69 of file sdf.py.

69 def sDF(self, x, y, z):
70 return np.sqrt((x - self.xc)**2 + (y - self.yc)**2) - self.radius
71

◆ sDF() [4/4]

sdf.CylinderZ.sDF ( self,
x,
y,
z )

Definition at line 99 of file sdf.py.

99 def sDF(self, x, y, z):
100 a = (x-self.xc)**2 + (y-self.yc)**2
101 gap = np.sqrt(a)-self.radius
102
103 self.normal = self.gradSdf(x,y,z)
104 self.dNormal = self.hessSdf(x,y,z)
105
106 return gap
107

Member Data Documentation

◆ dNormal

sdf.CylinderZ.dNormal = self.hessSdf(x,y,z)

Definition at line 104 of file sdf.py.

◆ normal

sdf.CylinderZ.normal = self.gradSdf(x,y,z)

Definition at line 103 of file sdf.py.

◆ radius

int sdf.CylinderZ.radius = diameter/2

Definition at line 97 of file sdf.py.

◆ Xc

sdf.CylinderZ.Xc = Xc

Definition at line 87 of file sdf.py.

◆ xc

sdf.CylinderZ.xc = Xc

Definition at line 92 of file sdf.py.

◆ Yc

sdf.CylinderZ.Yc = Yc

Definition at line 88 of file sdf.py.

◆ yc

sdf.CylinderZ.yc = Yc

Definition at line 93 of file sdf.py.

◆ Zc

sdf.CylinderZ.Zc = Zc

Definition at line 89 of file sdf.py.

◆ zc

sdf.CylinderZ.zc = Zc

Definition at line 94 of file sdf.py.


The documentation for this class was generated from the following files: