[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 -----