CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Post-Processing (https://www.cfd-online.com/Forums/openfoam-post-processing/)
-   -   Finding my current. (https://www.cfd-online.com/Forums/openfoam-post-processing/126045-finding-my-current.html)

MechBoom November 6, 2013 18:31

Finding my current.
 
My problem is that I know what I need to do, I'm just no sure how to code it. :mad:

Here's the integral I'm working with:

I=-ρ b∫ ∂V/∂n dl

rho and b are known constants. ∂V/∂n is the partial of Voltage normal to the plane and dl is obviously my differential length. With this integral I'm finding the corona current around a wire with fairly high current.

I'm basically having issues with two parts. The first is figuring out how to find the partial of voltage normal to my plane (wire). I have solved for the voltage field throughout my mesh but don't know how to single out the values around the wire. I know that the values at the wire itself all are normal to the plane so all I need to find are the magnitudes of each mesh cells voltage at the wire.

Any help is much appreciated!!

Bernhard November 7, 2013 03:44

The integral that you wrote here, is this a line integral?

For the surface normal gradient, you have to snGrad() functions available.

MechBoom November 7, 2013 17:01

Since I'm only analyzing a 2D surface, it is essentially a line integral. I'm just integrating around the circumference of a circle (the wire).

And thanks for the snGrad() tip, I'm looking at that function now.

MechBoom November 8, 2013 14:21

Basically all I've done so far is modify the electrostatic solver to solve for the E-field throughout the duct.

Code:

    while (runTime.loop())
    {
        Info<< "Iteration = " << runTime.timeName() << nl << endl;

        solve(fvm::laplacian(phi) + rho/epsilon0);

        rhoFlux = -k*mesh.magSf()*fvc::snGrad(phi);

        solve(fvm::ddt(rho) + fvm::div(rhoFlux, rho));

    volVectorField E("E",-fvc::grad(phi)); //Solve For E-Field

now that I've got the e-field, I need to find the corona current around the wire. The integral above does that. So far I'm diggin into the snGrad() function and can't figure out how to get it work. My programming knowledge is somewhat limited. I've been teaching my self C++ and OpenFOAM at the same time. The reason is for my undergrad research. I'm not looking for someone to write my code! I just need some assistance in figuring out:

a) how to find the magnitude of my e-field normal to the wire. As stated above I just need the values of the e-field at the wire since all E-vectors at the wire are normal.

b) how to find the length of each mesh cell at the wire. I could always hard wire a value in for this, but that's not exactly what I would like to do.

Any help that anyone could provide would be GREATLY appreciated. I've been stuck at this point for a month now, and don't know where else to turn.


All times are GMT -4. The time now is 02:58.