1
$\begingroup$

In this post, it is shown how to integrate a function with parameter(s) and output a function of the parameter(s).

I am trying to do something similar with the DifferentialForms.m package. I have defined the Faraday 2-form and its potential 1-form

<< DifferentialForms`
g[x_, y_, z_, tau_] = t[x, x] + t[y, y] + t[z, z] - t[tau, tau] 
phi[x_, y_, z_, tau_] = 0
A[x_, y_, z_, tau_] = {0, 0, y}
Elec[x_, y_, z_, tau_] = -Grad[phi[x, y, z, tau], {x, y, z}] - 
  D[A[x, y, z, tau], {tau}]
B[x_, y_, z_, tau_] = Curl[A[x, y, z, tau], {x, y, z}]
F[x_, y_, z_, tau_] = 
 Elec[x, y, z, tau][[1]]*d[x, tau] + 
  Elec[x, y, z, tau][[2]]*d[y, tau] + 
  Elec[x, y, z, tau][[3]]*d[z, tau] + B[x, y, z, tau][[1]]*d[y, z] + 
  B[x, y, z, tau][[2]]*d[z, x] + B[x, y, z, tau][[3]]*d[x, y]
A4Jeff1[x_, y_, z_, tau_] = 
 Simplify[HomotopyOperator[F[x, y, z, tau]]]

Now, I define a loop with a time parameter, to evaluate the time-varying magnetic flux for a DC motor:

ChainJeff = 
 Chain[{x -> r* Sin[q]*Cos[th], y -> r*Cos[q]*Cos[th], 
   z -> r*Sin[th], tau -> q}, {r, 0, 1} , {th, 0, 2*Pi}]

This integral does not work

Phi1[q_?NumericQ] = Integral[F[x, y, z, tau], ChainJeff]

but this integral does

Phi2[q_] = Integral[A4Jeff1[x, y, z, tau], Boundary[ChainJeff]]

Note that I would then like to differentiate both with respect to time

BackEMF1[q_] = D[Phi1[q], {q}]
BackEMF2[q_] = D[Phi2[q], {q}]

to simulate the back-EMF for the DC motor. Is there something similar to NIntegrate I can call or write for DifferentialForm.m to get my construction to work? Note that if I take out the parameter q and just plug in q=0, the first integral works. Here are links to notebooks: http://deadbeatjeff.sdf.org/Scripts/FaradaySurfaceIntegral01.nb http://deadbeatjeff.sdf.org/Scripts/FaradaySurfaceIntegral02.nb

$\endgroup$
2
  • $\begingroup$ It might be better to send these questions directly to the author of that package (if he is still active in the field). $\endgroup$ Commented Jul 4, 2022 at 15:37
  • $\begingroup$ I have contacted the author of the package directly. $\endgroup$ Commented Jul 8, 2022 at 19:54

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.