Revised 2007-07-07 BEB

Return to the Index | The Configuration File

# Energy Model

## Overview

The energy model provides an organism with a metabolic rate, which is proportional to its stored energy (shown below). An organism with a higher metabolic rate will pay more energy to execute instructions than one with a lower rate. An organism must pay both virtual CPU cycle and energy costs to execute instructions. As instructions are executed the organism's stored energy level is reduced. Energy can be taken up by the organism when it completes a task, among others.

Metabolic Rate = Stored Energy / NUM_INST_EXC_BEFORE_0_ENERGY

## Settings

The settings below are defults from `avida.cfg`

    ### ENERGY_GROUP ###
    # Energy Settings
    ENERGY_ENABLED 0                       # Enable Energy Model. 0/1 (off/on)
    ENERGY_GIVEN_ON_INJECT 0               # Energy given to organism upon injection.
    ENERGY_GIVEN_AT_BIRTH 0                # Energy given to offspring upon birth.
    FRAC_PARENT_ENERGY_GIVEN_AT_BIRTH 0.5  # Fraction of perent's energy given to offspring.
    FRAC_ENERGY_DECAY_AT_BIRTH 0.0         # Fraction of energy lost due to decay during reproduction.
    NUM_INST_EXC_BEFORE_0_ENERGY 0         # Number of instructions executed before energy is exhausted.
    ENERGY_CAP -1                          # Maximum amount of energy that can be stored in an organism.
                                           # -1 means the cap is set to Max Int
    APPLY_ENERGY_METHOD 0                  # When should rewarded energy be applied to current energy?
                                           # 0 = on divide
                                           # 1 = on completion of task
                                           # 2 = on sleep
    FRAC_ENERGY_TRANSFER 0.0               # Fraction of replaced organism's energy take by new resident
    LOG_SLEEP_TIMES 0                      # Log sleep start and end times. 0/1 (off/on)
                                           # WARNING: may use lots of memory.

## Description of Settings

ENERGY_ENABLED

Flag that disables/enables the us of the energy model. 0 = off, 1 = on

ENERGY_GIVEN_ON_INJECT

How much energy is given to an injected organism. This number should be large enough to sustain the population until it can gather its own energy through tasks, etc..

ENERGY_GIVEN_AT_BIRTH

How much energy is given to an organism when it is born.

FRAC_PARENT_ENERGY_GIVEN_AT_BIRTH

Fraction of the parent(s) energy which is taken from the parent and given to the offspring at birth.

FRAC_ENERGY_DECAY_AT_BIRTH

Fraction of energy that decays on birth.

NUM_INST_EXC_BEFORE_0_ENERGY

Number of instructions an organism can execute before it runs out of energy assuming no new energy. Note: if instructions have energy costs > 0 then this options needs to be altered accordingly.

ENERGY_CAP

Maximum amount of energy that can be stored in an organism.

APPLY_ENERGY_METHOD

Specifies when newly received energy is applied to the organism energy store and metabolic rate. Note: the `sleep` instruction can also be used as an eat instructions if needed.

FRAC_ENERGY_TRANSFER

Fraction of a replaced organism's energy transfered to the replacing organism.

LOG_SLEEP_TIMES

Logs start and end times, in updates, of all executions of the `sleep` instruction. Note: can use a lot of memory.

Return to the Index | The Configuration File