Watch the video tutorial on using a stomach to eat and store energy!

The stomach stores energy taken from food sources within the virtual world. When a mouth is close enough to a food source and it is stimulated it will transfer food from the source into the stomach as caloric energy. At each time step a certain amount of energy is used by the biomechanical organism. This value is controlled by the Base Consumption Rate property. However, it is possible to increase the rate by stimulating the stomach. This allows you to increase the rate of energy consumption based on how much it moves. For example, if you were to have a neuron that monitored the activity of the pacemakers controlling locomotion it could stimulate the stomach. If the animal is moving this will cause it to use extra energy. If it is sitting still then there will be no additional stimulation and the base consumption rate will be used.

See the sections on the Odor Sensor, Mouth, and Food Sourcesfor more information on this subject.


NOTE: The interaction between the mouth and stomach have changed slightly in version 2. You can now have multiple stomachs/mouths. In the properties for the mouth you can choose which stomach it is associated with.

Stomach Properties

Location Local
The location of the body relative to it's own origin.  Each body part has it's own local coordinate system which is the center of the body's parent body part.. 
Default value:  (0,0,0) 
Acceptable range: -infinity - infinity

Location World
The location of the body relative to the world origin.  The world origin is center of the root body
Default value:  The distance from the center of the root body part 
Acceptable range:  -infinity - infinity

Base Consumption Rate
Determines how much energy is used at each time step. This is how much is consumed regardless of what the animal is doing. It is best to think of this as the sleeping or sitting rate of energy consuption. If you stimulate the stomach you can increase this rate. This lets you increase energy consumption as it does more strenuous things like moving.
Default value: 10 Calories/s
Acceptable range: Any value greater than or equal to 0.

The color of the body.  The user can enter a color value using R (Red) G (Green) B (Blue) values or they can use the color chooser.   To use the color chooser, click on the color property and a dropdown arrow will appear.  .  Click the drop down arrow to open up the color chooser and then select the desired color.

Default value:  Red (255, 0, 0)
Acceptable range:  R: 0 - 255, G: 0 - 255, B: 0 - 255;

Energy Level
This is the amount of energy in the stomach when the simulation starts. This value is increased when it eats and is decreased as it uses energy. If it reaches 0 then the animal is considered to be dead.
Default value: 10 KiloCalaories
Acceptable range: Any value greater than 0.

Max Energy Level
This is the maximum amount of energy that can be added to the stomach.
Default value: 100 KiloCalories
Acceptable range: Any value greater than the current energy level.

The name of this body
Default value:  If it is the first body in an organism, "root".  Otherwise the name is "body_xx" where xx is the number in which the body was added.

The transparency value determines how transparent a body part is.  The higher the transparency value the more transparent a body will be.  1 is fully transparent and 0 is fully opaque.
Default value: 0 (opaque)
Acceptable range: 0 - 1

Determines if this body is visible within the simulation. If you set this value to false then this body will still be included in the simulation and any dynamics related to this object will still be calculated, but no graphics will be generated for the user. This property does not effect visibility in the editor. If you wish to make something invisible in the editor then you will need to use the alpha value described above.
Default value:  True
Acceptable values:  True, False

The radius of the mouth.  This value can be directly entered by the user or they can use the mouse by clicking on the curved portion of the cylinder and dragging the mouse to the desired radius.
Default value:  1 cm
Acceptable range:  any number greater than zero