Giter Site home page Giter Site logo

Comments (9)

uladkasach avatar uladkasach commented on June 12, 2024

Discovered the Doubling Nz between plates halves C -> doubles V. This should not be occurring.

from finite-capacitance.

uladkasach avatar uladkasach commented on June 12, 2024

Voltage responds properly to doubling Nz. When Nz is doubled, voltage is halved at each step. The "discovered doubling Nz results in halfs C" may be a product of the electric field being disproportionately high near the plate.

For example:

  • for case of 500 elements in z direction between, max E_z value is 8E23
    500nzb
  • while for case of 125 elements in z direction between, max E_z value is 5E22.
    125nzb

Perhaps this is a factor of currently setting the plate width to be zero, resulting in the plate only taking up one Z element point.

from finite-capacitance.

uladkasach avatar uladkasach commented on June 12, 2024

Adding thickness did not make an effect on the exponential increase. This may be a case of the plates not having enough area.

Better illustration of exponential increase, the Y axis is logarithmic:
exponential_2knz

from finite-capacitance.

uladkasach avatar uladkasach commented on June 12, 2024

Adding plate area does not fix the problem either; at a ratio of 1:100,000, d:sqrt(A) the same problem exists.

The problem is that as Nz increases, the number of elements in the extreme range as r - r' goes to zero increases - impacting the summation V = integral E dot dl.

from finite-capacitance.

uladkasach avatar uladkasach commented on June 12, 2024

This is a product of discretization/numerics. Because the model requires the plate to have some thickness ( a minimum of Dz = Lz/Nz ) and the steps at which E is calculated are at intervals of Dz away - When z ~ (r_z - r'_z) the Electric field explodes. By idea the model should be doing well in the center but breaking down towards the boundaries - like in fluid mechanics models.

There are two options to consider at this point:

  • Increase the step size in z direction when calculating potential
    • e.g., set plate_thickness = 0, double Nz, double steps in z per step
    • this could keep z >> (r_z - r'_z)
  • Explicitly calculate V
    • since we know we are dealing with finite objects V = int rho(r') * dtau / |r - r'| applies
    • V should be less sensitive to the discretization
      • as we get closer to a charge the position we are at should "see" less charges
      • the "blow up" should be much smaller
        - E proportional to (r - r')/|(r - r')|^3
        - V proportional to 1/|(r - r')|

from finite-capacitance.

uladkasach avatar uladkasach commented on June 12, 2024

Option of increasing step size in z direction does not help. When both Nz and Z/step are doubled, the physical distance from plate to dl is constant. If they are not both doubled, then essentially we are simply manipulating Nz on its own.

from finite-capacitance.

uladkasach avatar uladkasach commented on June 12, 2024

For setup of plate_lx = plate_ly = 4.9m and plate_seperation = 0.005, C = e_0*A/d = 4.24977E-8

N_xy Nz N_plate_thickness_1 C_1 N_plate_thickness_2 C_2
100 100 1 6.9251 E-11 3 6.945 E-11
100 200 1 3.4188 E-11 3 3.439 E-11
100 400 1 1.6989 E-11 n/a n/a
100 800 1 8.46 E-12 n/a n/a
250 100 1 4.218 E-10 n/a n/a
250 200 1 2.08 E-10 n/a n/a
250 400 1 1.~ E-10 n/a n/a

We can note that as Nz doubles, C is reduced by half.

We can also note that Nxy affects C.

More data at https://github.com/uladkasach/Finite-Capacitance/blob/master/z_dev_notes/issue_1/data_table.md

from finite-capacitance.

uladkasach avatar uladkasach commented on June 12, 2024

Data at above mentioned table shows that this method will actually create accurate results, but only when the N_xy is large enough (~8k). At this scale, issue #2 shows up.

from finite-capacitance.

uladkasach avatar uladkasach commented on June 12, 2024

Follow up demonstrating that Coefficient of Variance decreases as Nxy increases:
cv_vs_nxy_edotl

from finite-capacitance.

Related Issues (4)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.