|
1513 | 1513 | </pre> |
1514 | 1514 | </details> |
1515 | 1515 | </details> |
1516 | | -<details><summary><span class ='def signature'>🧾 def thin_sheet(self, model, sigma, epsillon_r, force_odd = True, close_start = True, close_end = True, close_bottom = True, close_top = True, enforce_exact_pitch = True, **dimensions):</span></summary> |
| 1516 | +<details><summary><span class ='def signature'>🧾 def thin_sheet(self, model, sigma_not_used, epsillon_r, force_odd = True, close_start = True, close_end = True, close_bottom = True, close_top = True, enforce_exact_pitch = True, **dimensions):</span></summary> |
1517 | 1517 | <pre class ='def content'></pre> |
1518 | 1518 | <details><summary><span class ='docstring signature'> docstring</span></summary> |
1519 | 1519 | <pre class ='docstring content'> Creates a grid of wires interconnected at segment level to economically model a flat sheet |
1520 | 1520 | which is normal to the x axis and extends from z=-height/2 to z= height/2, and y = -length/2 to length/2 |
1521 | 1521 | Models *either* conductive or dielectric sheet, not both. |
1522 | | - Set epsillon_r to 1.0 for conductive sheet |
1523 | | - Set epsillon_r > 1.0 for dielectric sheet (conductivity value is then not used) |
| 1522 | + Set epsillon_r to 1.0 for perfectly conducting sheet |
| 1523 | + Set epsillon_r > 1.0 for dielectric sheet |
1524 | 1524 |
|
1525 | 1525 | Arguments: |
1526 | 1526 | model - the object model being built |
1527 | | - sigma - conductivity in mhos/metre |
1528 | 1527 | epsillon_r - relative dielectric constant |
1529 | 1528 | force_odd = true ensures wires cross at y=z=0 |
1530 | 1529 | The four 'close_' parameters determine whether or not the edges are 'sealed' with a final wire (if True) or |
|
1562 | 1561 | H = (nZ-1)*dG |
1563 | 1562 | dY = dG |
1564 | 1563 | dZ = dG |
| 1564 | + dS = dG |
1565 | 1565 | else: |
1566 | 1566 | dY = L/(nY-1) |
1567 | 1567 | dZ = H/(nz-1) |
| 1568 | + dS = 0.5*(dY+dZ) |
1568 | 1569 | E0 = 8.854188 * 1e-12 |
1569 | | - CD = E0*(E-1) * thickness_m |
| 1570 | + C_Farads_per_metre_per_axis = E0*(E-1) * thickness_m / (2*dS) |
1570 | 1571 | wire_radius_m = thickness_m/2 |
1571 | 1572 |
|
1572 | 1573 | # Create sheet |
|
1587 | 1588 | # add conductive / capacitive load to the iTag of this object |
1588 | 1589 | # note we aren't ineserting a new segment specifically for the load, so there's no need to |
1589 | 1590 | # increment model.LOAD_iTag |
| 1591 | + # revised load here is a parallel RLC load with distributed capacitance per metre |
1590 | 1592 | if(epsillon_r > 1.0): |
1591 | | - R_Ohms = 1e12 |
1592 | | - C_F = CD |
| 1593 | + R_Ohms_per_metre_per_axis = 1e12 |
1593 | 1594 | else: |
1594 | | - R_Ohms = dG / sigma |
1595 | | - C_F = 0.0 |
1596 | | - model.LOADS.append(f"LD 1 {iTag} 0 0 {R_Ohms:.6e} 0 {CD:.6e}\n") |
| 1595 | + R_Ohms_per_metre_per_axis = 0 |
| 1596 | + C_Farads_per_metre_per_axis = 0.0 |
| 1597 | + model.LOADS.append(f"LD 3 {iTag} 0 0 {R_Ohms_per_metre_per_axis:.6e} 0 {C_Farads_per_metre_per_axis:.6e}\n") |
1597 | 1598 |
|
1598 | 1599 | return obj |
1599 | 1600 |
|
|
0 commit comments