[Gmsh] ... electric field lines ...
mkoch at gvtc.com
mkoch at gvtc.com
Fri Oct 6 17:10:37 CEST 2006
Hi All,
I just looked into StreamLines.cpp, and a I am not even going to
pretend I understand what goes on in there. However, in GetDP
PostProcessing, could one not define a new vector field as F/|F|,
rather than F itself? And then indeed the StreamLines Plugin should
apply, as long as one does not interpret time in there as literal
time, but rather as some sort of independent space parameter?
My concern is, that upon perusing StreamLines.cpp, I did not see any
obvious reference to an ODE solver, such as the one from GSL. Instead,
I see on lines 289 through 294 and below a reference to something that
looks like some sort of homemade Runge-Kutta algorithm? What am I
missing?
Thanks,
Matt Koch
----- Message from mkoch at gvtc.com ---------
Date: Fri, 6 Oct 2006 09:20:41 -0500
From: mkoch at gvtc.com
Reply-To: mkoch at gvtc.com
Subject: Re: [Gmsh] ... electric field lines ...
To: Christophe Geuzaine <cag32 at case.edu>
Cc: mattkoch at scitex.us, gmsh at geuz.org
> Hi All,
>
> I think the Plugin(StreamLines) is different from what we would need
> for a Plugin(FieldLines), because of the field normalization:
>
> StreamLines:
> dx/dt = vx(x,y,z)
> dy/dt = vy(x,y,z)
> dz/dt = vz(x,y,z)
>
> FieldLines:
> dx/ds = Fx(x,y,z)/|F(x,y,z)|
> dy/ds = Fy(x,y,z)/|F(x,y,z)|
> dz/ds = Fz(x,y,z)/|F(x,y,z)|
>
> Nevertheless, it should be possible to copy the StreamLines plugin to a
> FieldLines plugin and add this normalization to it. I'll take a look at
> the .CPP file later on today. However, I hope that most of the stuff in
> there is in pure C, as I am virtually illiterate in C++.
>
> Regards,
>
> Matt Koch
>
>
> ----- Message from cag32 at case.edu ---------
> Date: Thu, 05 Oct 2006 18:57:50 -0400
> From: Christophe Geuzaine <cag32 at case.edu>
> Reply-To: Christophe Geuzaine <cag32 at case.edu>
> Subject: Re: [Gmsh] ... electric field lines ...
> To: mattkoch at scitex.us
> Cc: gmsh at geuz.org
>
>
>> Matt Koch wrote:
>>> Hi All,
>>>
>>> this seems to be a simple matter of solving the following
>>> equations for F = (Fx,Fy,Fz) as the vector (yeah right, NOTHING
>>> is EVER simple):
>>>
>>> dx/ds = Fx/|F|
>>> dy/ds = Fy/|F|
>>> dz/ds = Fz/|F|
>>>
>>> with |F| = sqrt(Fx^2 + Fy^2 + Fz^2)
>>>
>>> Even a dumb Runge-Kutta approach could probably do. I might could give
>>
>> Isn't this pretty much what we do in Plugin(StreamLines)? There we
>> solve dX(t)/dt = V, with X(0) chosen as a bunch of points in space and
>> V(x,y,z) interpolated from the vector view.
>>
>>> it a try, but I'd need to know how to write plugins (how to
>>> programmatically access fields calculated by GetDP, how to
>>> programmatically draw in GMsh, and such), and perhaps get some
>>> feedback from y'all on how long it might take to write a "typical"
>>> plugin? Would some sort of Runge-Kutta driver or other ODE
>>> solver be accessible to a plugin, or would that have to be
>>> developed from scratch, or pulled in from GSL, for example?
>>
>> Have a look at Plugin/StreamLines.cpp in the Gmsh source code: you'll
>> see that it's actually pretty simple to write a plugin.
>>
>>
>>
>>>
>>> Thanks,
>>>
>>> Matt Koch
>>>
>>>
>>> Christophe Geuzaine wrote:
>>>
>>>> Matt Koch wrote:
>>>>
>>>>> Hello there!
>>>>>
>>>>> what a wonderful program GMsh is! It takes a little while to get
>>>>> used to its GUI, but once you get the hang of it, it is
>>>>> extremely useful and intuitive! However, one thing I have not
>>>>> been able to figure out yet is how to make electric field lines
>>>>> from an electric field vector solution. I looked into the
>>>>> StreamLines PlugIn, but that seems to only work off of a
>>>>> velocity field. Any thoughts?
>>>>
>>>>
>>>> Maybe this could be a good idea for a new plugin?
>>>>
>>>>
>>>>>
>>>>> Thanks,
>>>>>
>>>>> Matt Koch
>>>>> mattkoch at scitex.us
>>>>> www.scitex.us
>>>>> _______________________________________________
>>>>> gmsh mailing list
>>>>> gmsh at geuz.org
>>>>> http://www.geuz.org/mailman/listinfo/gmsh
>>>>>
>>>>
>>>>
>>>
>>
>>
>> --
>> Christophe Geuzaine
>> Assistant Professor, Case Western Reserve University, Mathematics
>> http://www.case.edu/artsci/math/geuzaine
>
>
> ----- End message from cag32 at case.edu -----
----- End message from mkoch at gvtc.com -----