Darwinbots Forum

Code center => Suggestions => Specialization, Metabolism, Digestions and Env Grid => Topic started by: Numsgil on October 25, 2005, 02:08:20 PM

Title: Diffusion of substances in the Egrid
Post by: Numsgil on October 25, 2005, 02:08:20 PM
This is a diffusion simulator (http://www.bio.brandeis.edu/biomath/populate/diffuse.html).  It explains the math.  Partial derivatives.   :puke:

Hehe, I love that smiley.
Title: Diffusion of substances in the Egrid
Post by: Zelos on October 25, 2005, 02:21:10 PM
I cant see it :lecture:
Title: Diffusion of substances in the Egrid
Post by: PurpleYouko on October 25, 2005, 02:30:04 PM
Me neither. I don't see any kind of animation there.  :(
Title: Diffusion of substances in the Egrid
Post by: Numsgil on October 25, 2005, 02:32:01 PM
It's shockwave, so you of course need shockwave on your computer.

Or do you mean my smiley?   :puke:
Title: Diffusion of substances in the Egrid
Post by: PurpleYouko on October 25, 2005, 02:41:08 PM
You're obsessed with that smiley  <_<
Title: Diffusion of substances in the Egrid
Post by: Zelos on October 25, 2005, 03:06:01 PM
it aint that great, I found on wiki a page abou diffusion, even for cells with cell walls.
Title: Diffusion of substances in the Egrid
Post by: Numsgil on October 25, 2005, 04:32:53 PM
But did it tell about the math?

See, I got about halfway through that page before I even saw it just thinking on my own.  Forgot you can use taylor polynomial for multivariable function.
Title: Diffusion of substances in the Egrid
Post by: Greven on October 25, 2005, 07:35:41 PM
Well how would you implement that Num.. Would it be terrible slow? :lol:

 :puke:  :puke:  :puke:  :puke:  :puke:  :puke:  :puke:  :puke:  :puke:  :puke:  :puke:  :puke:  :puke:  :puke:  :puke:  :puke:  :puke:  :puke:  :puke:  :puke:  :puke:  :puke:  :puke:  :puke:  :puke:  :puke:  :puke:  :puke:  :puke:  :puke:  :puke:  :puke:  :puke:  :puke:  :puke:  :puke:  :puke:  :puke:  :puke:  :puke:  :puke:  :puke:  :puke: :puke: :puke: :puke: :puke:
Title: Diffusion of substances in the Egrid
Post by: Botsareus on October 25, 2005, 07:42:35 PM
Greven while you are at it, read my explonation with that icon.. stuff I wrote... and then try to take it easy.... (all I was doing is trying to help dude)
Title: Diffusion of substances in the Egrid
Post by: Zelos on October 26, 2005, 12:43:45 AM
it explained the math nums
Title: Diffusion of substances in the Egrid
Post by: Numsgil on October 26, 2005, 01:11:12 AM
No matter how we do it, this is going to be a huge hit on speed.  Diffusion is a major, major issue.  So much so I've considered at times not letting things diffuse at all.

I can't know for sure till I actually have code that does it, but the one psuedo-egrid PY made a while ago wasn't all that good at diffusing...  It only did it every like 10 cycles or whatever, otherwise it was too slow.

Quote
   it explained the math nums

Then why the Hell didn't you post a linky?   :lol:
Title: Diffusion of substances in the Egrid
Post by: Greven on October 26, 2005, 02:50:18 AM
Better not to let it diffuse... we are hitting the head again on O(n^2)!
Title: Diffusion of substances in the Egrid
Post by: Botsareus on October 26, 2005, 12:07:15 PM
actualy , I think the shack method works just fine.
Title: Diffusion of substances in the Egrid
Post by: Numsgil on October 26, 2005, 12:22:39 PM
Shack method?

Without diffusing, we don't get bots being able to communicate over areas using pheremones.  Which is a big part of alot of life.

That might be a necessary thing we don't get to play with if the computations get too CPU expensive though.
Title: Diffusion of substances in the Egrid
Post by: PurpleYouko on October 26, 2005, 12:52:16 PM
how about a simple routine that just randomly chooses a few grid locations (maybe 100) per cycle and moves stuff into neighboring grid locations.

That way we get difusion without too much slowdown
Title: Diffusion of substances in the Egrid
Post by: Numsgil on October 26, 2005, 02:11:38 PM
That's what I'm thinking.  Only do a handful of diffusion events per cycle.  Either space them out evenly or do them all at once every couple of cycles.