The AHA Model
Revision: 12809
Reference implementation 04 (HEDG02_04)
|
The behaviour of the agent is defined by the the_behaviour::behaviour class. This class defines the behavioural repertoire of the agent. Each of the components of the behavioural repertoire (behaviour object) is defined as a separate independent class with its own self parameter. However, the agent which performs the behaviour (the actor agent) is included as the first non-self parameter into the behaviour component methods. More...
Public Member Functions | |
procedure, public | init_behaviour => behaviour_whole_agent_init |
The subroutines contained define what the agent really does, i.e. implements the actual behavioural repertoire components. More... | |
procedure, public | cleanup_behav_history => behaviour_cleanup_history |
Cleanup the behaviour history stack for the agent. See the_behaviour::behaviour_cleanup_history() . More... | |
procedure, public | deactivate => behaviour_whole_agent_deactivate |
Deactivate all behaviour units that compose the behaviour repertoire of the agent. See the_behaviour::behaviour_whole_agent_deactivate() . More... | |
procedure, public | behaviour_is => behaviour_get_behaviour_label_executing |
Obtain the label of the currently executing behaviour for the this agent. See the_behaviour::behaviour_get_behaviour_label_executing() . More... | |
procedure, public | food_item_select => behaviour_select_food_item |
Select the optimal food item among (possibly) several ones that are available in the perception object of the agent. See the_behaviour::behaviour_select_food_item() . More... | |
procedure, public | consp_select => behaviour_select_conspecific |
Select the optimal conspecific among (possibly) several ones that are available in the perception object of the agent. See the_behaviour::behaviour_select_conspecific() . More... | |
procedure, public | food_item_select_nearest => behaviour_select_food_item_nearest |
Select the nearest food item among (possibly) several ones that are available in the perception object. See the_behaviour::behaviour_select_food_item_nearest() . More... | |
procedure, public | consp_select_nearest => behaviour_select_conspecific_nearest |
Select the nearest conspecific among (possibly) several ones that are available in the perception object. See the_behaviour::behaviour_select_conspecific_nearest() . More... | |
procedure, public | do_eat_food_item => behaviour_do_eat_food_item |
Eat a food item(s) that are found in the perception object. See the_behaviour::behaviour_do_eat_food_item() . More... | |
procedure, public | do_reproduce => behaviour_do_reproduce |
Reproduce based on the this agent's current state. See the_behaviour::behaviour_do_reproduce() . More... | |
procedure, public | do_walk => behaviour_do_walk |
Perform a random Gaussian walk to a specific average distance with certain variance (set by the CV). See the_behaviour::behaviour_do_walk() . More... | |
procedure, public | do_freeze => behaviour_do_freeze |
Perform (execute) the the_behaviour::freeze behaviour. See the_behaviour::behaviour_do_freeze() . More... | |
procedure, public | do_escape => behaviour_do_escape_dart |
Perform (execute) the the_behaviour::escape_dart behaviour. See the_behaviour::behaviour_do_escape_dart() . More... | |
procedure, public | do_approach => behaviour_do_approach |
Approach a specific the_environment::spatial class target, i.e. execute the the_behaviour::approach behaviour. See the_behaviour::behaviour_do_approach() . More... | |
procedure, public | do_migrate => behaviour_do_migrate |
Perform (execute) the the_behaviour::migrate (migration) behaviour. See the_behaviour::behaviour_do_migrate() . More... | |
procedure, public | migrate_random => behaviour_try_migrate_random |
Perform a simplistic random migration. If the agent is within a specific distance to the target environment, it emigrates there with a specific fixed probability. See the_behaviour::behaviour_try_migrate_random() . More... | |
procedure, public | do_go_down => behaviour_do_go_down |
Perform (execute) the the_behaviour::go_down_depth (go down) behaviour. See the_behaviour::behaviour_do_go_down() . More... | |
procedure, public | do_go_up => behaviour_do_go_up |
Perform (execute) the the_behaviour::go_up_depth (go up) behaviour. See the_behaviour::behaviour_do_go_up() . More... | |
procedure, public | do_behave => behaviour_select_optimal |
Select and execute the optimal behaviour, i.e. the behaviour which minimizes the expected GOS arousal. See the_behaviour::behaviour_select_optimal() . More... | |
Public Member Functions inherited from the_neurobio::gos_global | |
procedure, public | init_gos => gos_init_zero_state |
Initialise GOS engine components to a zero state. See the_neurobio::gos_init_zero_state() . More... | |
procedure, public | dies => gos_agent_set_dead |
Set the individual to be dead. This method overrides the the_genome::individual_genome::dies() method, nullifying all reproductive and neurobiological and behavioural objects. However, this function does not deallocate the individual agent object, this may be a separate destructor function. The dies method is implemented at the following levels of the agent object hierarchy (upper overrides the lower level): More... | |
procedure, public | gos_find => gos_find_global_state |
Find and set the global organismic state (GOS) based on the various available motivation values. See the_neurobio::gos_find_global_state() . More... | |
procedure, public | gos_reset => gos_reset_motivations_non_dominant |
Reset all motivation states as NOT dominant with respect to the GOS. See the_neurobio::gos_reset_motivations_non_dominant() . More... | |
procedure, public | gos_label => gos_global_get_label |
Get the current global organismic state (GOS). See the_neurobio::gos_global_get_label() . More... | |
procedure, public | arousal => gos_get_arousal_level |
Get the overall level of arousal. Arousal is the current level of the dominant motivation that has brought about the current GOS at the previous time step. See the_neurobio::gos_get_arousal_level() . More... | |
procedure, public | attention_modulate => gos_attention_modulate_weights |
Modulate the attention weights to suppress all perceptions alternative to the current GOS. This is done using the attention modulation interpolation curve. See the_neurobio::gos_attention_modulate_weights() . More... | |
Public Member Functions inherited from the_neurobio::appraisal | |
procedure, public | init_appraisal => appraisal_init_zero_cleanup_all |
Initialise and cleanup all appraisal object components and sub-objects. See the_neurobio::appraisal_init_zero_cleanup_all() . More... | |
procedure, public | dies => appraisal_agent_set_dead |
Set the individual to be dead. This method overrides the the_genome::individual_genome::dies() method, nullifying all reproductive and neurobiological and behavioural objects. However, this function does not deallocate the individual agent object, this may be a separate destructor function. The dies method is implemented at the following levels of the agent object hierarchy (upper overrides the lower level): More... | |
procedure, public | motivations_percept_components => appraisal_perceptual_comps_motiv_neur_response_calculate |
Calculate perception components for each of the motivational state component. More... | |
procedure, public | motivations_primary_calc => appraisal_primary_motivations_calculate |
Calculate primary motivation values of the agent by summing up the perception components of each motivation state. More... | |
procedure, public | modulation => appraisal_motivation_modulation_non_genetic |
Calculate the final motivation values after modulation. More... | |
procedure, public | motivations_to_memory => appraisal_add_final_motivations_memory |
Add individual final emotional state components into the emotional memory stack. See the_neurobio::appraisal_add_final_motivations_memory() . More... | |
procedure, public | probability_reproduction => reproduce_do_probability_reproduction_calc |
Calculate the probability of successful reproduction for this agent in its current state. More... | |
procedure, public | reproduction_success => reproduction_success_stochast |
Determine a stochastic outcome of this agent reproduction. Returns TRUE if the agent has reproduced successfully. See the_neurobio::reproduction_success_stochast() . More... | |
Public Member Functions inherited from the_neurobio::perception | |
procedure, public | feel_light => light_perception_get_object |
Get light perception objects into the individual the_neurobio::perception object layer. See the_neurobio::light_perception_get_object() . More... | |
procedure, public | feel_depth => depth_perception_get_object |
Get depth perception objects into the individual the_neurobio::perception object layer. See the_neurobio::depth_perception_get_object() . More... | |
procedure, public | see_food => food_perception_get_visrange_objects |
Get available food items within the visual range of the agent, which the agent can perceive and therefore respond to. Food perception is packaged into the food perception object thisperceive_food for output. See the_neurobio::food_perception_get_visrange_objects() . More... | |
procedure, public | see_consp => consp_perception_get_visrange_objects |
Get available conspecific perception objects within the visual range of the agent, which the agent can perceive and therefore respond to. See the_neurobio::consp_perception_get_visrange_objects() . More... | |
procedure, public | see_pred => predator_perception_get_visrange_objects |
Get available predators perception objects within the visual range of the agent, which the agent can perceive and therefore respond to. See the_neurobio::predator_perception_get_visrange_objects() . More... | |
procedure, public | feel_stomach => stomach_perception_get_object |
Get the stomach capacity perception objects into the individual the_neurobio::perception object layer. See the_neurobio::stomach_perception_get_object() . More... | |
procedure, public | feel_bodymass => bodymass_perception_get_object |
Get the body mass perception objects into the individual the_neurobio::perception object layer. See the_neurobio::bodymass_perception_get_object() . More... | |
procedure, public | feel_energy => energy_perception_get_object |
Get the energy reserves perception objects into the individual the_neurobio::perception object layer. See the_neurobio::energy_perception_get_object() . More... | |
procedure, public | feel_age => age_perception_get_object |
Get the age perception objects into the individual the_neurobio::perception object layer. See the_neurobio::age_perception_get_object() . More... | |
procedure, public | feel_repfac => repfac_perception_get_object |
Get the reproductive factor perception objects into the individual the_neurobio::perception object layer. See the_neurobio::repfac_perception_get_object() . More... | |
procedure, public | predation_risk => perception_predation_risk_objective |
Calculate the risk of predation as being perceived / assessed by this agent. See the_neurobio::perception_predation_risk_objective() . More... | |
procedure, public | perceptions_environ => perception_objects_get_all_environmental |
A single umbrella subroutine to get all environmental perceptions: light, depth. See the_neurobio::perception_objects_get_all_environmental() . More... | |
procedure, public | perceptions_inner => perception_objects_get_all_inner |
A single umbrella subroutine wrapper to get all inner perceptions: stomach, body mass, energy, age. See the_neurobio::perception_objects_get_all_inner() . More... | |
procedure, public | perception_to_memory => perception_objects_add_memory_stack |
Add the various perception objects to the memory stack object. This procedure is called after all the perceptual components (light, depth food, conspecifics, predators, etc.) are collected (using set object-bound subroutines) into the perception bundle, so all the values are known and ready to be used. See the_neurobio::perception_objects_add_memory_stack() . More... | |
procedure, public | init_perception => perception_objects_init_agent |
Initialise all the perception objects for the current agent. Do not fill perception objects with the real data yet. See the_neurobio::perception_objects_init_agent() . More... | |
procedure, public | destroy_perception => perception_objects_destroy |
Destroy and deallocate all perception objects. See the_neurobio::perception_objects_destroy() . More... | |
procedure, public | has_food => food_perception_is_seeing_food |
Check if the agent sees any food items within its visual range. See the_neurobio::food_perception_is_seeing_food() . More... | |
procedure, public | has_consp => consp_perception_is_seeing_conspecifics |
Check if the agent sees any conspecifics within the visual range. See the_neurobio::consp_perception_is_seeing_conspecifics() . More... | |
procedure, public | has_pred => predator_perception_is_seeing_predators |
Check if the agent sees any predators within the visual range. See the_neurobio::predator_perception_is_seeing_predators() . More... | |
procedure, public | food_items_below_all => perception_food_items_below_calculate |
Calculate the number of food items in the perception object that are located below the actor agent. See the_neurobio::perception_food_items_below_calculate() More... | |
procedure, public | food_items_below_horiz => perception_food_items_below_horiz_calculate |
Calculate the number of food items in the perception object that are located below the actor agent within a specific vertical horizon [hz_lower,hz_upper]. The horizon limits are relative, in that they start from the depth position of the this actor agent: [z+hz_lower, z+hz_upper]. See the_neurobio::perception_food_items_below_horiz_calculate() . More... | |
generic, public | food_items_below => food_items_below_all, food_items_below_horiz |
A generic interface for the two functions calculating the number of food items in the perception object that are located below the actor agent. See perception::food_items_below_all(), perception::food_items_below_horiz(). More... | |
procedure, public | food_mass_below_all => perception_food_mass_below_calculate |
Calculate the average mass of a food item from all the items in the current perception object that are below the actor agent. See the_neurobio::perception_food_mass_below_calculate() . More... | |
procedure, public | food_mass_below_horiz => perception_food_mass_below_horiz_calculate |
Calculate the average mass of a food item from all the items in the current perception object that are below the actor agent within a specific vertical horizon [hz_lower,hz_upper]. The horizon limits are relative, in that they start from the depth position of the this actor agent: [z+hz_lower, z+hz_upper]. See the_neurobio::perception_food_mass_below_horiz_calculate() . More... | |
generic, public | food_mass_below => food_mass_below_all, food_mass_below_horiz |
A generic interface to the two functions that calculating the average mass of food items in the perception object that are located below the actor agent. See perception::food_mass_below_all(), perception::food_mass_below_horiz(). More... | |
procedure, public | food_items_above_all => perception_food_items_above_calculate |
Calculate the number of food items in the perception object that are located above the actor agent. See the_neurobio::perception_food_items_above_calculate() More... | |
procedure, public | food_items_above_horiz => perception_food_items_above_horiz_calculate |
Calculate the number of food items in the perception object that are located above the actor agent within a specific vertical horizon [hz_lower,hz_upper]. The horizon limits are relative, in that they start from the depth position of the this actor agent: [z-hz_upper, z-hz_upper]. See the_neurobio::perception_food_items_above_horiz_calculate() . More... | |
generic, public | food_items_above => food_items_above_all, food_items_above_horiz |
A generic interface for the two functions calculating the number of food itemsin the perception object that are located below the actor agent. See perception::food_items_above_all(), perception::food_items_above_horiz(). More... | |
procedure, public | food_mass_above_all => perception_food_mass_above_calculate |
Calculate the average mass of a food item from all the items in the current perception object that are above the actor agent. See the_neurobio::perception_food_mass_above_calculate() . More... | |
procedure, public | food_mass_above_horiz => perception_food_mass_above_horiz_calculate |
Calculate the average mass of a food item from all the items in the current perception object that are above the actor agent within a specific vertical horizon [hz_lower,hz_upper]. The horizon limits are relative, in that they start from the depth position of the this actor agent: [z-hz_upper, z-hz_upper]. See the_neurobio::perception_food_mass_above_horiz_calculate() . More... | |
generic, public | food_mass_above => food_mass_above_all, food_mass_above_horiz |
A generic interface to the two functions that calculating the average mass of food items in the perception object that are located above the actor agent. See perception::food_mass_above_all(), perception::food_mass_above_horiz(). More... | |
procedure, public | food_dist_below => perception_food_dist_below_calculate |
Calculate the average distance to all food items in the current perception object that are below the actor agent. See the_neurobio::perception_food_dist_below_calculate() . More... | |
procedure, public | food_dist_above => perception_food_dist_above_calculate |
Calculate the average distance to all food items in the current perception object that are above the actor agent. See the_neurobio::perception_food_dist_above_calculate() . More... | |
procedure, public | consp_below_all => perception_conspecifics_below_calculate |
Calculate the number of conspecifics in the perception object that are located below the actor agent. See the_neurobio::perception_conspecifics_below_calculate() . More... | |
procedure, public | consp_above_all => perception_conspecifics_above_calculate |
Calculate the number of conspecifics in the perception object that are located above the actor agent. See the_neurobio::perception_conspecifics_above_calculate() . More... | |
procedure, public | consp_below_horiz => perception_conspecifics_below_horiz_calculate |
Calculate the number of conspecifics in the perception object that are located below the actor agent within a specific vertical horizon [hz_lower,hz_upper]. See the_neurobio::perception_conspecifics_below_horiz_calculate() . More... | |
procedure, public | consp_above_horiz => perception_conspecifics_above_horiz_calculate |
Calculate the number of conspecifics in the perception object that are located above the actor agent within a specific vertical horizon [hz_lower,hz_upper]. See the_neurobio::perception_conspecifics_above_horiz_calculate() . More... | |
generic, public | consp_below => consp_below_all, consp_below_horiz |
A generic interface to the two functions that calculating the number of conspecifics in the perception object that are located below the actor agent. See perception::consp_below_all(), perception::consp_below_horiz(). More... | |
generic, public | consp_above => consp_above_all, consp_above_horiz |
A generic interface to the two functions that calculating the number of conspecifics in the perception object that are located above the actor agent. See perception::consp_above_all(), perception::consp_above_horiz(). More... | |
procedure, public | consp_dist_below => perception_consp_dist_below_calculate |
Calculate the average distance to all conspecifics in the current perception object that are below the actor agent. See the_neurobio::perception_consp_dist_below_calculate() . More... | |
procedure, public | consp_dist_above => perception_consp_dist_above_calculate |
Calculate the average distance to all conspecifics in the current perception object that are above the actor agent. See the_neurobio::perception_consp_dist_above_calculate() . More... | |
procedure, public | pred_below_all => perception_predator_below_calculate |
Calculate the number of predators in the perception object that are located below the actor agent. See the_neurobio::perception_predator_below_calculate() . More... | |
procedure, public | pred_above_all => perception_predator_above_calculate |
Calculate the number of predators in the perception object that are located above the actor agent. See the_neurobio::perception_predator_above_calculate() . More... | |
procedure, public | pred_below_horiz => perception_predator_below_horiz_calculate |
Calculate the number of predators in the perception object that are located below the actor agent within a specific vertical horizon [hz_lower,hz_upper]. See the_neurobio::perception_predator_below_horiz_calculate . More... | |
procedure, public | pred_above_horiz => perception_predator_above_horiz_calculate |
Calculate the number of predators in the perception object that are located above the actor agent within a specific vertical horizon [hz_lower,hz_upper]. See the_neurobio::perception_predator_above_horiz_calculate . More... | |
generic, public | pred_below => pred_below_all, pred_below_horiz |
A generic interface to the two functions that calculating the number of predators in the perception object that are located below the actor agent. See perception::pred_below_all(), perception::pred_below_horiz(). More... | |
generic, public | pred_above => pred_above_all, pred_above_horiz |
A generic interface to the two functions that calculating the number of predators in the perception object that are located above the actor agent. See perception::pred_above_all(), perception::pred_above_horiz(). More... | |
procedure, public | pred_dist_below => perception_predator_dist_below_calculate |
Calculate the average distance to all predators in the current perception object that are below the actor agent. See the_neurobio::perception_predator_dist_below_calculate() . More... | |
procedure, public | pred_dist_above => perception_predator_dist_above_calculate |
Calculate the average distance to all predators in the current perception object that are above the actor agent. See the_neurobio::perception_predator_dist_above_calculate() . More... | |
procedure, public | risk_pred_s => predator_capture_probability_calculate_spatobj |
Calculate the probability of attack and capture of the this agent by the predator this_predator . This probability is a function of the distance between the predator and the agent and is calculated by the predator-class-bound procedure the_environment::predator::risk_fish(). More... | |
procedure, public | risk_pred_p => predator_capture_probability_calculate_pred |
Calculate the probability of attack and capture of the this agent by the predator this_predator . This probability is a function of the distance between the predator and the agent and is calculated by the predator-class-bound procedure the_environment::predator::risk_fish(). More... | |
procedure, public | risk_pred_w => predation_capture_probability_risk_wrapper |
Calculate the overall direct predation risk for the agent, i.e. the probability of attack and capture by the nearest predator. See the_neurobio::predation_capture_probability_risk_wrapper() . More... | |
generic, public | risk_pred => risk_pred_s, risk_pred_p, risk_pred_w |
A single generic interface for the calculation of the probability of attack and capture of the this agent by a predator. See the_neurobio::predator_capture_probability_calculate_spatobj() , the_neurobio::predator_capture_probability_calculate_pred() and the_neurobio::predation_capture_probability_risk_wrapper() . More... | |
procedure, public | food_probability_capture_subjective => food_perception_probability_capture_memory_object |
Calculate the probability of capture of a subjective representation of food item based on the data from the perceptual memory stack. See the_neurobio::food_perception_probability_capture_memory_object() . More... | |
Public Member Functions inherited from the_body::reproduction | |
procedure, public | init_reproduction => reproduction_init_zero |
Init reproduction class. See the_body::reproduction_init_zero() . More... | |
procedure, public | is_ready_reproduce => reproduction_ready_steroid_hormones_exceed |
Determine if the agent's hormonal system is ready for reproduction See the_body::reproduction_ready_steroid_hormones_exceed() . More... | |
procedure, public | get_reproductions => reproduction_n_reproductions_get |
Get the number of reproductions for this agent. See the_body::reproduction_n_reproductions_get() . More... | |
procedure, public | reproductions_set => reproduction_n_reproductions_set |
Set the number of reproductions for the agent. See the_body::reproduction_n_reproductions_set() . More... | |
procedure, public | get_offspring => reproduction_n_offspring_get |
Get the number of offspring for this agent for its lifespan. See the_body::reproduction_n_offspring_get() . More... | |
procedure, public | offspring_set => reproduction_n_offspring_set |
Set the number of offspring this agent had during its lifespan. See the_body::reproduction_n_offspring_set() . More... | |
procedure, public | reproductions_increment => reproduction_n_increment |
Increment the number of reproductions and offspring for the agent. See the_body::reproduction_n_increment() . More... | |
procedure, public | offspring_number => reproduction_n_offspring_calc |
Calculate the number of offspring per a single reproduction. See the_body::reproduction_n_offspring_calc() . More... | |
procedure, public | offspring_mass => reproduction_mass_offspring_calc |
Calculate the total mass of all offspring per single reproduction. See the_body::reproduction_mass_offspring_calc() . More... | |
procedure, public | reproduction_cost => reproduction_cost_energy_dynamic |
Calculate the energetic cost of reproduction. More... | |
procedure, public | reproduction_cost_unsuccess => reproduction_cost_unsuccessful_calc |
Calculate the costs of unsuccessful reproduction. This is calculated as a fraction of the normal cost of reproduction returned by the function reproduction::reproduction_cost() . See the_body::reproduction_cost_unsuccessful_calc() . More... | |
Public Member Functions inherited from the_body::condition | |
procedure, public | init_condition => condition_init_genotype |
Initialise the individual body condition object based on the genome values. See the_body::condition_init_genotype() More... | |
procedure, public | mortality_birth => birth_mortality_enforce_init_fixed_debug |
This procedure enforces selective mortality of agents at birth. See the_body::birth_mortality_enforce_init_fixed_debug() . More... | |
procedure, public | body_history_clean => condition_clean_history |
Cleanup the history stack of the body length and mass. See the_body::condition_clean_history() More... | |
procedure, public | get_age => condition_age_get |
Get current age. See the_body::condition_age_get() More... | |
procedure, public | age_reset => condition_age_reset_zero |
Reset the age of the agent to zero. See the_body::condition_age_reset_zero() . More... | |
procedure, public | get_energy => condition_energy_current_get |
Get current energy reserves. See the_body::condition_energy_current_get() More... | |
procedure, public | get_energy_max => condition_energy_maximum_get |
Get historical maximum of energy reserves. See the_body::condition_energy_maximum_get() More... | |
procedure, public | get_length => condition_body_length_get |
Get current body length. See the_body::condition_body_length_get() More... | |
generic, public | length => get_length |
Generic interface (alias) for get_length . More... | |
procedure, public | get_control_unselected => condition_control_unsel_get |
Get current value of the control unselected trait. See the_body:condition_control_unsel_get:() More... | |
procedure, public | get_mass => condition_body_mass_get |
Get current body mass. See the_body::condition_body_mass_get() More... | |
generic, public | mass => get_mass |
Generic interface to get_mass. More... | |
procedure, public | get_energ_birth => condition_energy_birth_get |
Get historical record of energy reserves at birth. See the_body::condition_energy_birth_get() . More... | |
procedure, public | get_length_birth => condition_body_length_birth_get |
Get historical record of body length at birth. See the_body::condition_body_length_birth_get() More... | |
procedure, public | get_mass_birth => condition_body_mass_birth_get |
Get historical record of body mass at birth. See the_body::condition_body_mass_birth_get() More... | |
procedure, public | get_mass_max => condition_body_mass_max_get |
Get historcal maximum for body mass. See the_body::condition_body_mass_max_get() More... | |
procedure, public | get_smr => condition_smr_get |
Get current smr. See the_body::condition_smr_get() More... | |
procedure, public | get_stom_content => condition_stomach_content_get |
Get current stomach content. See the_body::condition_stomach_content_get() More... | |
procedure, public | age_increment => condition_age_increment |
Increment the age of the agent by one. See the_body::condition_age_increment() . More... | |
procedure, public | set_mass => condition_body_mass_set_update_hist |
Set body mass optionally updating the history stack. See the_body::condition_body_mass_set_update_hist() More... | |
procedure, public | set_length => condition_body_length_set_update_hist |
Set body length optionally updating the history stack. See the_body::condition_body_length_set_update_hist() More... | |
procedure, public | visibility => condition_agent_visibility_visual_range |
Calculate the visibility range of this agent. Visibility depends on the size of the agent, ambient illumination and agent contrast. Visibility is the distance from which this agent can be seen by a visual object (e.g. predator or conspecific). See the_body::condition_agent_visibility_visual_range . More... | |
procedure, public | food_proc_cost_v => body_mass_processing_cost_calc_v |
Calculate the basic processing cost of catching a food item with the mass food_gain . Vector-based procedure. See the_body::body_mass_processing_cost_calc_v() More... | |
procedure, public | food_proc_cost_o => body_mass_processing_cost_calc_o |
Calculate the basic processing cost of catching a food item with the mass food_gain . Object-based procedure. See the_body::body_mass_processing_cost_calc_o() More... | |
generic, public | food_process_cost => food_proc_cost_v, food_proc_cost_o |
Generic interface to the procedures calculating the basic processing cost of catching a food item. More... | |
procedure, public | food_fitt_v => stomach_content_food_gain_fitting_v |
Calculate the value of possible food gain as fitting into the agent's stomach (or full gain if the food item fits wholly). Vector-based. See the_body::stomach_content_food_gain_fitting_v() More... | |
procedure, public | food_fitt_o => stomach_content_food_gain_fitting_o |
Calculate the value of possible food gain as fitting into the agent's stomach (or full gain if the food item fits wholly). Object-based. See the_body::stomach_content_food_gain_fitting_o() More... | |
generic, public | food_fitting => food_fitt_v, food_fitt_o |
Generic interface to procedures that calculate the value of possible food gain as fitting into the agent's stomach (or full gain if the food item fits wholly). See the_body::stomach_content_food_gain_fitting_v() and the_body::stomach_content_food_gain_fitting_o() . More... | |
procedure, public | food_surpl_v => stomach_content_food_gain_non_fit_v |
Calculate extra food surplus mass non fitting into the stomach of the agent. Vector-based. See the_body::stomach_content_food_gain_non_fit_v() More... | |
procedure, public | food_surpl_o => stomach_content_food_gain_non_fit_o |
Calculate extra food surplus mass non fitting into the stomach of the agent. Object-based. See the_body::stomach_content_food_gain_non_fit_o() More... | |
generic, public | food_surplus => food_surpl_v, food_surpl_o |
Generic interface to procedures that calculate extra food surplus mass non fitting into the stomach of the agent. More... | |
procedure, public | mass_grow => body_mass_grow_do_calculate |
Do grow body mass based on food gain from a single food item adjusted for cost etc. See the_body::body_mass_grow_do_calculate() More... | |
procedure, public | stomach_increment => stomach_content_get_increment |
Do increment stomach contents with adjusted (fitted) value. See the_body::stomach_content_get_increment() More... | |
procedure, public | cost_factor_food_smr => body_mass_food_processing_cost_factor_smr |
The fraction of the cost of the processing of the food item(s) depending on the agent SMR. It is scaled in terms of the ratio of the food item mass to the agent mass. See the_body::body_mass_food_processing_cost_factor_smr() More... | |
procedure, public | cost_swim => condition_cost_swimming_burst |
The cost of swimming of a specific distance in terms of body mass loss. See the_body::condition_cost_swimming_burst() More... | |
procedure, public | cost_swim_std => cost_swimming_standard |
The standard cost of swimming is a diagnostic function that shows the cost, in units of the body mass, incurred if the agent passes a distance equal to commondata::lifespan units of its body length. See the_body::cost_swimming_standard() . More... | |
procedure, public | energy_update => condition_energy_update_after_growth |
Update the energy reserves of the agent based on its current mass and length. See the_body::condition_energy_update_after_growth() More... | |
procedure, public | starved_death => body_mass_is_starvation_check |
Check if the body mass is smaller than the birth body mass or structural body mass. See the_body::body_mass_is_starvation_check() More... | |
procedure, public | living_cost => body_mass_calculate_cost_living_step |
Calculate the cost of living for a single model step. See the_body::body_mass_calculate_cost_living_step() More... | |
procedure, public | subtract_living_cost => body_mass_adjust_living_cost_step |
Adjust the body mass at the end of the model step against the cost of living. See the_body::body_mass_adjust_living_cost_step() More... | |
procedure, public | len_incr => body_len_grow_calculate_increment_step |
Calculate body length increment. See the_body::body_len_grow_calculate_increment_step() More... | |
procedure, public | len_grow => body_len_grow_do_calculate_step |
Do linear growth for one model step based on the above increment function. See the_body::body_len_grow_do_calculate_step() More... | |
procedure, public | stomach_empify => stomach_content_mass_emptify_step |
Do digestion. Stomach contents S(t) is emptied by a constant fraction each time step. See details in the stomach_content_mass_emptify_step function call. See the_body::stomach_content_mass_emptify_step() More... | |
procedure, public | sex_steroids_update => sex_steroids_update_increment |
Update the level of the sex steroids. Sex steroids are incremented each time step of the model. See the_body::sex_steroids_update_increment() More... | |
Public Member Functions inherited from the_hormones::hormones | |
procedure, public | init_hormones => hormones_init_genotype |
Initialise hormone levels based on the genome value. See the_hormones::hormones_init_genotype() More... | |
procedure, public | hormone_history_clean => hormones_clean_history_stack |
Clean the history stack of hormones. See the_hormones::hormones_clean_history_stack() More... | |
procedure, public | growhorm_get => growhorm_get_level |
Get the value of thyroid. See the_hormones::growhorm_get_level() More... | |
procedure, public | growhorm_set => growhorm_set_level |
Set the value of thyroid. See the_hormones::growhorm_set_level() More... | |
procedure, public | thyroid_get => thyroid_get_level |
Get the value of thyroid. See the_hormones::thyroid_get_level() More... | |
procedure, public | thyroid_set => thyroid_set_level |
Set the value of thyroid. See the_hormones::thyroid_set_level() More... | |
procedure, public | adrenaline_get => adrenaline_get_level |
Get the value of adrenaline. See the_hormones::adrenaline_get_level() More... | |
procedure, public | adrenaline_set => adrenaline_set_level |
Set the value of adrenaline. See the_hormones::adrenaline_set_level() More... | |
procedure, public | cortisol_get => cortisol_get_level |
Get the value of cortisol. See the_hormones::cortisol_get_level() More... | |
procedure, public | cortisol_set => cortisol_set_level |
Set the value of cortisol. See the_hormones::cortisol_set_level() More... | |
procedure, public | testosterone_get => testosterone_get_level |
Get the value of testosterone. See the_hormones::testosterone_get_level() More... | |
procedure, public | testosterone_set => testosterone_set_level |
Set the value of testosterone. See the_hormones::testosterone_set_level() More... | |
procedure, public | estrogen_get => estrogen_get_level |
Get the value of estrogen. See the_hormones::estrogen_get_level() More... | |
procedure, public | estrogen_set => estrogen_set_level |
Set the value of estrogen. See the_hormones::estrogen_set_level() More... | |
procedure, public | testosterone_base_get => testosteron_baseline_get_level |
Get the value of testosterone baseline. See the_hormones::testosteron_baseline_get_level() More... | |
procedure, public | estrogen_base_get => estrogen_baseline_get_level |
Get the value of estrogen baseline. See the_hormones::estrogen_baseline_get_level() More... | |
procedure, public | reproductive_factor => hormones_reproductive_factor_calc |
Calculate the reproductive factor. Reproductive factor is defined as the current level of the_hormones::testosterone_level in males and the_hormones::estrogen_level in females. See the_hormones::hormones_reproductive_factor_calc() . More... | |
procedure, public | hormones_to_history => hormones_update_history |
Update the sex steroid hormones history stack from the current level See the_hormones::hormones_update_history() . More... | |
Public Member Functions inherited from the_genome::individual_genome | |
procedure, public | init_genome => genome_init_random |
Initialise the genome at random, and set sex as determined by the sex determination locus. See the_genome::genome_init_random() More... | |
procedure, public | create_genome => genome_create_zero |
Create a new empty genome, and set sex as determined by the sex determination locus. Genome values are from parents using inherit functions. See the_genome::genome_create_zero() More... | |
procedure, public | label => genome_label_set |
Label genome. If label is not provided, make a random string. More... | |
procedure, public | individ_label => genome_label_get |
Accessor function to get the genome label. The label is a kind of a (random) text string name of the genome and the individual agent. More... | |
procedure, public | sex_init => genome_sex_determine_init |
Sex has a separate status from all other genetically determined traits. It is initialised here, at the genotype level of the class hierarchy. See the_genome::genome_sex_determine_init() More... | |
procedure, public | is_male => genome_get_sex_is_male |
Get the logical sex ID of the genome object component. See the_genome::genome_get_sex_is_male() More... | |
procedure, public | is_female => genome_get_sex_is_female |
Get the logical sex ID of the genome object component. See the_genome::genome_get_sex_is_female() More... | |
procedure, public | label_sex => genome_get_sex_label |
Get the descriptive sex label: male or female. See the_genome::genome_get_sex_label() More... | |
procedure, public | trait_init => trait_init_genotype_gamma2gene |
Init a trait from the genotype, trait can be any object in any of the up level class hierarchy that is determined from the boolean genotype x phenotype matrix. See the_genome::trait_init_genotype_gamma2gene() More... | |
procedure, public | trait_set => trait_set_genotype_gamma2gene |
Set an individual trait of the agent that depends on the genotype. This can be any trait upwards in the class hierarchy. See the_genome::trait_set_genotype_gamma2gene() More... | |
generic, public | neuro_resp => trait_init, trait_set |
Generic interface to the neuronal response function. See the_genome::trait_init_genotype_gamma2gene() and the_genome::trait_set_genotype_gamma2gene() . More... | |
procedure, public | trait_init_linear => trait_init_linear_sum_additive_comps_2genes_r |
Init a trait from the genotype, trait can be any object in any of the up level class hierarchy that is determined from the boolean genotype x phenotype matrix. Note that this method is based on simple linear rescale rather than neuronal response. See the_genome::trait_init_linear_sum_additive_comps_2genes_r() More... | |
procedure, public | trait_set_linear => trait_set_linear_sum_additive_comps_2genes_r |
Set an individual trait of the agent that depends on the genotype. This can be any trait upwards in the class hierarchy. Note that this method is based on simple linear rescale rather than neuronal response. See the_genome::trait_set_linear_sum_additive_comps_2genes_r() More... | |
generic, public | linear_g2p => trait_init_linear, trait_set_linear |
Generic interface to the simple linear genotype to phenotype transformation functions. See the_genome::trait_init_linear_sum_additive_comps_2genes_r() and the_genome::trait_set_linear_sum_additive_comps_2genes_r() . More... | |
procedure, public | lives => genome_individual_set_alive |
Set the individual to be alive, normally this function is used after init or birth. See the_genome::genome_individual_set_alive() More... | |
procedure, public | dies => genome_individual_set_dead |
Set the individual to be dead. Note that this function does not deallocate the individual agent object, this may be a separate destructor function. The dies method is implemented at the following levels of the agent object hierarchy (upper overrides the lower level): More... | |
procedure, public | set_dead => genome_individual_set_dead |
Set the individual to be dead. Note that in this class this method implementation points to the same procedure as the_genome::individual_genome::dies(). However the dies` method is overriden upwards in the class hierarchy to also nullify neurobiological and behavioural objects. So this method should be only called in procedures that specifically implemented override of the dies method: More... | |
procedure, public | is_alive => genome_individual_check_alive |
Check if the individual is alive. See the_genome::genome_individual_check_alive() More... | |
procedure, public | is_dead => genome_individual_check_dead |
Check if the individual is dead (the opposite of is_alive ). See the_genome::genome_individual_check_dead() More... | |
procedure, public | recombine_random => genome_individual_recombine_homol_full_rand_alleles |
Internal genetic recombination backend, exchange individual alleles between homologous chromosomes in mother and father genomes to form the this (offspring) genome. Fully random recombination. See the_genome::genome_individual_recombine_homol_full_rand_alleles() . More... | |
procedure, public | recombine_partial => genome_individual_recombine_homol_part_rand_alleles |
Internal genetic recombination backend, exchange individual alleles between homologous chromosomes in mother and father genomes to form the this (offspring) genome. Partially random recombination. See the_genome::genome_individual_recombine_homol_part_rand_alleles() . More... | |
procedure, public | crossover => genome_individual_crossover_homol_fix |
Internal fixed genetic crossover backend, exchange blocks of alleles between homologous chromosomes in mother and father genomes to form the this (offspring) genome. See the_genome::genome_individual_crossover_homol_fix() . More... | |
procedure, public | mutate => genome_mutate_wrapper |
Perform a probabilistic random mutation(s) on the individual genome. This is a high level wrapper to build mutations from various components. See the_genome::genome_mutate_wrapper() . More... | |
Public Member Functions inherited from the_environment::spatial_moving | |
procedure, public | create => spatial_moving_create_3d |
Create a new spatial moving object. Initially it has no position, all coordinate values are commondata::missing or commondata::invalid for real type coordinates. See the_environment::spatial_moving_create_3d() More... | |
procedure, public | position => spatial_moving_fix_position_3d_o |
Place spatial movable object into a 3D space, define the object's current coordinates, but first save previous coordinates. Object-based. See the_environment::spatial_moving_fix_position_3d_o() More... | |
procedure, public | repeat_position => spatial_moving_repeat_position_history_3d |
Repeat/re-save the current position into the positional history stack. See the_environment::spatial_moving_repeat_position_history_3d() . More... | |
procedure, public | position_v => spatial_moving_fix_position_3d_v |
Place spatial movable object into a 3D space, define the object's current coordinates, but first save previous coordinates. Vector-based. See the_environment::spatial_moving_fix_position_3d_v() More... | |
procedure, public | spatial_history_clean => spatial_moving_clean_hstory_3d |
Create a new empty history of positions for spatial moving object. Assign all values to the commondata::missing value code. See the_environment::spatial_moving_clean_hstory_3d() More... | |
procedure, public | way => spatial_moving_self_distance_3d |
Calculate the Euclidean distance between the current and previous position of a single spatial movable object. Optionally, it also calculates the total distance traversed during the from_history points from the history stack along with the distance from the current position and the last historical value. See the_environment::spatial_moving_self_distance_3d() . More... | |
procedure, public | go_up => spatial_moving_go_up |
The spatial moving object ascends, goes up the depth with specific fixed step size. See the_environment::spatial_moving_go_up() . More... | |
procedure, public | go_down => spatial_moving_go_down |
The spatial moving object decends, goes down the depth with specific fixed step size. See the_environment::spatial_moving_go_down() . More... | |
procedure, public | rwalk3d => spatial_moving_randomwalk_gaussian_step_3d |
Implements an optionally environment-restricted Gaussian random walk in 3D. See the_environment::spatial_moving_randomwalk_gaussian_step_3d() . More... | |
procedure, public | rwalk25d =>spatial_moving_randomwalk_gaussian_step_25d |
Implements an optionally environment-restricted Gaussian random walk in a "2.5 dimensions", i.e. 2D x y with separate walk parameters for the third depth dimension. See the_environment::spatial_moving_randomwalk_gaussian_step_25d() . More... | |
generic, public | rwalk => rwalk3d, rwalk25d |
Implements an optionally environment-restricted Gaussian random walk. Generic interface for 3D and 3.5D moves. See the_environment::spatial_moving_randomwalk_gaussian_step_3d() and the_environment::spatial_moving_randomwalk_gaussian_step_25d() . More... | |
procedure, public | corwalk3d => spatial_moving_corwalk_gaussian_step_3d |
Implements an optionally environment-restricted correlated directional Gaussian random walk in 3D towards (or away of) an the_environment::spatial class target object. See the_environment::spatial_moving_corwalk_gaussian_step_3d() . More... | |
procedure, public | corwalk25d =>spatial_moving_corwalk_gaussian_step_25d |
Implements an optionally environment-restricted correlated directional Gaussian random walk in 3D towards (or away of) an the_environment::spatial class target object. See the_environment::spatial_moving_corwalk_gaussian_step_25d() . More... | |
generic, public | corwalk => corwalk3d, corwalk25d |
Implements an optionally environment-restricted correlated directional Gaussian random walk. corwalk is a generic interface for 3D and "2.5"D moves. For details see the 3d version and a version with separate X,Y and depth random parameters. More... | |
procedure, public | dirwalk3d => spatial_moving_dirwalk_gaussian_step_3d |
Implements an optionally environment-restricted directional Gaussian random walk in 3D towards a target the_environment::spatial object. See the_environment::spatial_moving_dirwalk_gaussian_step_3d() More... | |
procedure, public | dirwalk25d =>spatial_moving_dirwalk_gaussian_step_25d |
Implements an optionally environment-restricted directional Gaussian random walk in "2.5"D towards a target object. i.e. 2D x y with separate walk parameters for the third depth dimension. See the_environment::spatial_moving_dirwalk_gaussian_step_25d() More... | |
generic, public | dirwalk => dirwalk3d, dirwalk25d |
Implements an optionally environment-restricted directional Gaussian random walk. Generic interface for 3D and "2.5"D moves. More... | |
Public Member Functions inherited from the_environment::spatial | |
procedure, public | create => spatial_create_empty |
Create an empty spatial object. More... | |
procedure, public | position => spatial_fix_position_3d_o |
Place spatial object into a 3D space, define the object's current coordinates. Object-based procedure. See the_environment::spatial_fix_position_3d_o() More... | |
procedure, public | position_v => spatial_fix_position_3d_s |
Place spatial object into a 3D space, define the object's current coordinates. Vector-based procedure. See the_environment::spatial_fix_position_3d_s() More... | |
procedure, public | missing => spatial_make_missing |
Assign all MISSING coordinates to the SPATIAL object. See the_environment::spatial_make_missing() More... | |
procedure, public | distance => spatial_distance_3d |
Calculate the Euclidean distance between two spatial objects. See the_environment::spatial_distance_3d() More... | |
procedure, public | distance_segment2d => geo_poly2d_dist_point_to_section |
Calculates the minimum distance from a the_environment::spatial class object to a line segment delimited by two the_environment::spatial endpoints in the 2D XY plane (the depth coordinate is ignored). See the_environment::geo_poly2d_dist_point_to_section() . More... | |
procedure, public | distance_segment => geo_poly3d_dist_point_to_section |
Calculates the minimum distance from a the_environment::spatial class object to a line segment delimited by two the_environment::spatial class endpoints in the 3D XY space. See the_environment::geo_poly3d_dist_point_to_section() . More... | |
procedure, public | way => spatial_self_distance_3d |
Calculate the Euclidean distance between the current and previous position of a single spatial object. See the_environment::spatial_self_distance_3d() More... | |
procedure, public | is_within => spatial_check_located_within_3d |
Function to check if this spatial object is located within an area set by an environmental object See the_environment::spatial_check_located_within_3d() More... | |
procedure, public | find_environment => spatial_get_environment_in_pos |
Identify in which environment from the input list this spatial agent is currently in. See the_environment::spatial_get_environment_in_pos() . More... | |
procedure, public | is_below => spatial_check_located_below |
Logical function to check if the argument spatial object(s) is(are) located below this spatial object. See the_environment::spatial_check_located_below() More... | |
procedure, public | is_above => spatial_check_located_above |
Logical function to check if the argument spatial object(s) is(are) located above this spatial object. See the_environment::spatial_check_located_above() More... | |
procedure, public | nearest => spatial_get_nearest_object |
Determine the nearest spatial object to this spatial object among an array of other spatial objects. See the_environment::spatial_get_nearest_object() More... | |
procedure, public | nearest_num => spatial_get_nearest_id |
Determine the nearest spatial object to this spatial object among an array of other spatial objects. See the_environment::spatial_get_nearest_id() More... | |
procedure, public | neighbours => spatial_neighbours_distances |
Calculate the distances between this spatial object and an array of its neighbours. Optionally output the distances, sorting index vector and rankings vector for each of these neighbours. Optionally do only partial indexing, up to the order rank_max for computational speed. See the_environment::spatial_neighbours_distances() More... | |
procedure, public | now_o => spatial_get_current_pos_3d_o |
Get the current spatial position of a SPATIAL object. Object-based. See the_environment::spatial_get_current_pos_3d_o() More... | |
procedure, public | now_v => spatial_get_current_pos_3d_v |
Get the current spatial position of a SPATIAL object. Vector-based. See the_environment::spatial_get_current_pos_3d_v() More... | |
generic, public | location => now_o, now_v |
Get the current spatial position of a SPATIAL object. Generic interface/alias. More... | |
generic, public | now => now_o, now_v |
Get the current spatial position of a SPATIAL object. Generic interface/alias. More... | |
procedure, public | xpos => spatial_get_current_pos_x_3d |
Get the current X position of a SPATIAL object. See the_environment::spatial_get_current_pos_x_3d() More... | |
procedure, public | ypos => spatial_get_current_pos_y_3d |
Get the current Y position of a SPATIAL object. See the_environment::spatial_get_current_pos_y_3d() More... | |
procedure, public | dpos => spatial_get_current_pos_d_3d |
Get the current Z (depth) position of a SPATIAL object. See the_environment::spatial_get_current_pos_d_3d() More... | |
procedure, public | illumination => spatial_calc_irradiance_at_depth |
Calculate the illumination (background irradiance) at the depth of the spatial object at an arbitrary time step of the model. See the_environment::spatial_calc_irradiance_at_depth() More... | |
procedure, public | visibility => spatial_visibility_visual_range_cm |
Calculate the visibility range of a spatial object. Wrapper to the visual_range function. This function calculates the distance from which this object can be seen by a visual object (e.g. predator or prey). See the_environment::spatial_visibility_visual_range_cm() . More... | |
Public Attributes | |
type(eat_food) | eat |
Parameters that set the parameters of the behaviours and their expectancies (perceived consequences). More... | |
type(reproduce) | reproduce |
type(walk_random) | walk_random |
type(freeze) | freeze |
type(escape_dart) | escape_dart |
type(approach) | approach_spatial |
type(approach_conspec) | approach_conspec |
type(migrate) | migrate |
type(go_down_depth) | depth_down |
type(go_up_depth) | depth_up |
type(debug_base) | debug_base |
character(len=label_length) | behaviour_label |
Overall label of the behaviour being executed. It is used only for outputs. More... | |
Indicator and debugging variables. | |
character(len=label_length), dimension(history_size_behaviours) | history_behave |
integer | n_eats_all_indicator |
An indicator showing the cumulative count of the_behaviour::eat_food attempts (notwithstanding successful or failures). More... | |
integer | n_eaten_indicator |
An indicator showing the cumulative count of the food items eaten. More... | |
real(srp) | mass_eaten_indicator |
An indicator showing the cumulative mass of the food items eaten. More... | |
Public Attributes inherited from the_neurobio::gos_global | |
character(len=label_length) | gos_main |
Current global organismic state (GOS). Obtained from the GOS-specific emotional state %label data component. More... | |
real(srp) | gos_arousal |
This is the current value of the dominant motivation. More... | |
integer | gos_repeated |
Integer number of the same GOS repetition, e.g. if GOS is the same the second time, gets 2 etc. Needed to asymptotically reduce GOS arousal when it is repeated, so smaller stimuli could overtake control. More... | |
Public Attributes inherited from the_neurobio::appraisal | |
type(motivation) | motivations |
The appraisal component plugs-in the different motivational/emotional objects. More... | |
type(memory_emotional) | memory_motivations |
The emotional state memory stack object. More... | |
Public Attributes inherited from the_neurobio::perception | |
type(percept_light) | perceive_light |
type(percept_light) | perception |
type(percept_light) | of |
type(percept_light) | light |
type(percept_depth) | perceive_depth |
type(percept_depth) | perception |
type(percept_depth) | of |
type(percept_depth) | depth |
type(percept_food) | perceive_food |
type(percept_food) | perception |
type(percept_food) | of |
type(percept_food) | food |
type(percept_conspecifics) | perceive_consp |
type(percept_conspecifics) | conspecifics |
type(percept_conspecifics) | perception |
type(percept_predator) | perceive_predator |
type(percept_predator) | perceive |
type(percept_predator) | predator |
type(percept_stomach) | perceive_stomach |
type(percept_stomach) | perception |
type(percept_stomach) | for |
type(percept_stomach) | stomach |
type(percept_body_mass) | perceive_body_mass |
type(percept_body_mass) | perception |
type(percept_body_mass) | for |
type(percept_body_mass) | bodymass |
type(percept_energy) | perceive_energy |
type(percept_energy) | percept |
type(percept_energy) | for |
type(percept_energy) | energy |
type(percept_age) | perceive_age |
type(percept_age) | percept |
type(percept_age) | of |
type(percept_age) | age |
type(percept_reprfact) | perceive_reprfac |
type(percept_reprfact) | percept |
type(percept_reprfact) | of |
type(percept_reprfact) | repr |
type(percept_reprfact) | factor |
type(memory_perceptual) | memory_stack |
type(memory_perceptual) | note |
type(memory_perceptual) | memory |
type(memory_perceptual) | object |
Public Attributes inherited from the_body::reproduction | |
integer | n_reproductions |
Total number of reproductions during the lifespan. More... | |
integer | n_offspring |
Total number of offspring reproduced during the lifespan. More... | |
Public Attributes inherited from the_body::condition | |
integer | age |
The age of the agent in units of the integer time steps. More... | |
real(srp) | energy_current |
Current energy reserves, initialised non-genetically, Gaussian. More... | |
real(srp) | energy_maximum |
Maximum historical energy reserves. More... | |
real(srp) | energy_birth |
Energy reserves at birth, non-genetic, Gaussian. More... | |
real(srp) | body_length |
current body length, initialised non-genetically, Gaussian, will grow. More... | |
real(srp), dimension(history_size_agent_prop) | body_length_history |
History stack for the body length. More... | |
real(srp) | body_length_birth |
Body length at birth (genetically fixed), it is not used so far in the calculations but is recorded and can be output. More... | |
real(srp) | control_unselected |
This is a control unselected (and unused) trait that is set from the genome as normal but is not used in any calculations. It can be used as a control marker for random genetic drift. More... | |
real(srp) | body_mass |
Current body mass, initialised calculated from length and energy reserves. More... | |
real(srp), dimension(history_size_agent_prop) | body_mass_history |
History stack for body mass. More... | |
real(srp) | body_mass_birth |
Body mass at birth, will keep record of it. More... | |
real(srp) | body_mass_maximum |
Maximum historically body, will keep record of it. More... | |
real(srp) | smr |
Standard metabolitic rate, can change depending on hormones and psychological state (GOS)), at birth initialised from the genome. More... | |
real(srp) | maxstomcap = MAX_STOMACH_CAPACITY_DEF |
Maximum stomach capacity, max. fraction of body mass available for food here set from default value. But can change in future versions of the model depending on the body length and the physiological state (so specifically set for each agent rather than defined from global parameter commondata::max_stomach_capacity_def). More... | |
real(srp) | stomach_content_mass |
Stomach content mass. More... | |
Public Attributes inherited from the_hormones::hormones | |
real(srp) | growhorm_level |
growth hormone increases metabolic rate and growth, has costs changes/effects relatively slow and long-term. More... | |
real(srp) | thyroid_level |
thyroid hormone limits growth hormone, has costs changes/effects very slow, level very stable, genetically determined. More... | |
real(srp) | adrenaline_level |
adrenaline increases general arousal, increases escape speed/performance, primes active fear response, primes aggression, increases cognitive performance, focus attention, suppresses immune system, changes/effects relatively short-term. More... | |
real(srp) | cortisol_level |
cortisol (HPI axis) linked with higher stress and fear, reduces hunger, suppresses immune system, increases blood pressure, reduce cognitive performance, changes/effects long-term. More... | |
real(srp) | testosterone_level |
Gonadal steroids - Sex hormones of males and females. More... | |
real(srp) | estrogen_level |
estrogen - development of female sex characteristics, suppresses immunity, changes/effects relatively short-term. More... | |
real(srp) | testosterone_baseline |
The testosterone baseline genetically determined level. More... | |
real(srp) | estrogen_baseline |
The estrogen baseline genetically determined level. More... | |
real(srp), dimension(history_size_agent_prop) | testosterone_history |
History stacks for the gonadal steroids. More... | |
real(srp), dimension(history_size_agent_prop) | estrogen_history |
Public Attributes inherited from the_genome::individual_genome | |
character(len=label_length) | genome_label |
label for the genome More... | |
integer | genome_size = N_CHROMOSOMES |
the size of the genome, i.e. N of chromosomes = N_CHROMOSOMES in this version it is constant, can implement variable genomes later. More... | |
type(chromosome), dimension(:,:), allocatable | chromosome |
array of chromosome objects, the two dimensions refer to (1) chromosome number in the genome and (2) the number of homologs (1:2 for diploid), so chromosome is a 2D array. More... | |
logical | sex_is_male |
The sex of the individual: is male = TRUE or female = FALSE this is the main sex identifier. The sex_label defined below should only be used for outputs and similar purposes. More... | |
character(len=label_length) | sex_label |
Verbal label for sex ("male" or "female"). More... | |
logical | alive |
Flag the agent is alive (TRUE) or dead (False). More... | |
Public Attributes inherited from the_environment::spatial_moving | |
type(spatial), dimension(history_size_spatial) | history |
We define prior historical values of the SPATIAL positions. More... | |
Public Attributes inherited from the_environment::spatial | |
real(srp) | x |
We define three-dimensional environment: x, y and depth. More... | |
real(srp) | y |
real(srp) | depth |
The behaviour of the agent is defined by the the_behaviour::behaviour class. This class defines the behavioural repertoire of the agent. Each of the components of the behavioural repertoire (behaviour object) is defined as a separate independent class with its own self parameter. However, the agent which performs the behaviour (the actor agent) is included as the first non-self parameter into the behaviour component methods.
For example, there is a behaviour component the_behaviour::eat_food that defines the feeding behaviour of the agent. The method that calculates the basic (and expected) outputs from this behaviour (i.e. "does" it) the_behaviour::eat_food::do_this() includes the actor agent as the first non-self (non-this
) parameter. The same is true for all other methods of the the_behaviour::eat_food class: the_behaviour::eat_food::expectancies_calculate() and the_behaviour::execute().
Thus, the many individual classes define the behavioural repertoire:
However the_behaviour::behaviour unites all these classes together and plugs them into the agent class hierarchy. An overview of the behavioural repertoire is found here.
Definition at line 514 of file m_behav.f90.
procedure, public the_behaviour::behaviour::init_behaviour |
The subroutines contained define what the agent really does, i.e. implements the actual behavioural repertoire components.
Initialise the behaviour components of the agent, the the_behaviour::behaviour class. See the_behaviour::behaviour_whole_agent_init()
.
Definition at line 551 of file m_behav.f90.
procedure, public the_behaviour::behaviour::cleanup_behav_history |
Cleanup the behaviour history stack for the agent. See the_behaviour::behaviour_cleanup_history()
.
Definition at line 554 of file m_behav.f90.
procedure, public the_behaviour::behaviour::deactivate |
Deactivate all behaviour units that compose the behaviour repertoire of the agent. See the_behaviour::behaviour_whole_agent_deactivate()
.
Definition at line 557 of file m_behav.f90.
procedure, public the_behaviour::behaviour::behaviour_is |
Obtain the label of the currently executing behaviour for the this
agent. See the_behaviour::behaviour_get_behaviour_label_executing()
.
Definition at line 560 of file m_behav.f90.
procedure, public the_behaviour::behaviour::food_item_select |
Select the optimal food item among (possibly) several ones that are available in the perception object of the agent. See the_behaviour::behaviour_select_food_item()
.
Definition at line 565 of file m_behav.f90.
procedure, public the_behaviour::behaviour::consp_select |
Select the optimal conspecific among (possibly) several ones that are available in the perception object of the agent. See the_behaviour::behaviour_select_conspecific()
.
Definition at line 569 of file m_behav.f90.
procedure, public the_behaviour::behaviour::food_item_select_nearest |
Select the nearest food item among (possibly) several ones that are available in the perception object. See the_behaviour::behaviour_select_food_item_nearest()
.
Definition at line 573 of file m_behav.f90.
procedure, public the_behaviour::behaviour::consp_select_nearest |
Select the nearest conspecific among (possibly) several ones that are available in the perception object. See the_behaviour::behaviour_select_conspecific_nearest()
.
Definition at line 578 of file m_behav.f90.
procedure, public the_behaviour::behaviour::do_eat_food_item |
Eat a food item(s) that are found in the perception object. See the_behaviour::behaviour_do_eat_food_item()
.
Definition at line 583 of file m_behav.f90.
procedure, public the_behaviour::behaviour::do_reproduce |
Reproduce based on the this
agent's current state. See the_behaviour::behaviour_do_reproduce()
.
Definition at line 586 of file m_behav.f90.
procedure, public the_behaviour::behaviour::do_walk |
Perform a random Gaussian walk to a specific average distance with certain variance (set by the CV). See the_behaviour::behaviour_do_walk()
.
Definition at line 590 of file m_behav.f90.
procedure, public the_behaviour::behaviour::do_freeze |
Perform (execute) the the_behaviour::freeze behaviour. See the_behaviour::behaviour_do_freeze()
.
Definition at line 593 of file m_behav.f90.
procedure, public the_behaviour::behaviour::do_escape |
Perform (execute) the the_behaviour::escape_dart behaviour. See the_behaviour::behaviour_do_escape_dart()
.
Definition at line 596 of file m_behav.f90.
procedure, public the_behaviour::behaviour::do_approach |
Approach a specific the_environment::spatial class target, i.e. execute the the_behaviour::approach behaviour. See the_behaviour::behaviour_do_approach()
.
Definition at line 600 of file m_behav.f90.
procedure, public the_behaviour::behaviour::do_migrate |
Perform (execute) the the_behaviour::migrate (migration) behaviour. See the_behaviour::behaviour_do_migrate()
.
Definition at line 603 of file m_behav.f90.
procedure, public the_behaviour::behaviour::migrate_random |
Perform a simplistic random migration. If the agent is within a specific distance to the target environment, it emigrates there with a specific fixed probability. See the_behaviour::behaviour_try_migrate_random()
.
Definition at line 608 of file m_behav.f90.
procedure, public the_behaviour::behaviour::do_go_down |
Perform (execute) the the_behaviour::go_down_depth (go down) behaviour. See the_behaviour::behaviour_do_go_down()
.
Definition at line 611 of file m_behav.f90.
procedure, public the_behaviour::behaviour::do_go_up |
Perform (execute) the the_behaviour::go_up_depth (go up) behaviour. See the_behaviour::behaviour_do_go_up()
.
Definition at line 614 of file m_behav.f90.
procedure, public the_behaviour::behaviour::do_behave |
Select and execute the optimal behaviour, i.e. the behaviour which minimizes the expected GOS arousal. See the_behaviour::behaviour_select_optimal()
.
the_behaviour::behaviour_select_fixed_from_gos()
. This procedure selects a specific fixed behaviour unit at specific GOS.Definition at line 623 of file m_behav.f90.
type(eat_food) the_behaviour::behaviour::eat |
Parameters that set the parameters of the behaviours and their expectancies (perceived consequences).
Definition at line 517 of file m_behav.f90.
type(reproduce) the_behaviour::behaviour::reproduce |
Definition at line 518 of file m_behav.f90.
type(walk_random) the_behaviour::behaviour::walk_random |
Definition at line 519 of file m_behav.f90.
type(freeze) the_behaviour::behaviour::freeze |
Definition at line 520 of file m_behav.f90.
type(escape_dart) the_behaviour::behaviour::escape_dart |
Definition at line 521 of file m_behav.f90.
type(approach) the_behaviour::behaviour::approach_spatial |
Definition at line 522 of file m_behav.f90.
type(approach_conspec) the_behaviour::behaviour::approach_conspec |
Definition at line 523 of file m_behav.f90.
type(migrate) the_behaviour::behaviour::migrate |
Definition at line 524 of file m_behav.f90.
type(go_down_depth) the_behaviour::behaviour::depth_down |
Definition at line 525 of file m_behav.f90.
type(go_up_depth) the_behaviour::behaviour::depth_up |
Definition at line 526 of file m_behav.f90.
type(debug_base) the_behaviour::behaviour::debug_base |
Definition at line 527 of file m_behav.f90.
character(len=label_length) the_behaviour::behaviour::behaviour_label |
Overall label of the behaviour being executed. It is used only for outputs.
Definition at line 530 of file m_behav.f90.
character(len=label_length), dimension(history_size_behaviours) the_behaviour::behaviour::history_behave |
Definition at line 535 of file m_behav.f90.
integer the_behaviour::behaviour::n_eats_all_indicator |
An indicator showing the cumulative count of the_behaviour::eat_food attempts (notwithstanding successful or failures).
Definition at line 539 of file m_behav.f90.
integer the_behaviour::behaviour::n_eaten_indicator |
An indicator showing the cumulative count of the food items eaten.
Definition at line 541 of file m_behav.f90.
real(srp) the_behaviour::behaviour::mass_eaten_indicator |
An indicator showing the cumulative mass of the food items eaten.
Definition at line 543 of file m_behav.f90.