The AHA Model  Revision: 12809
Reference implementation 04 (HEDG02_04)
the_neurobio::perception Type Reference

The perception architecture of the agent. See "The perception mechanism" for a general overview. At this level, lower order perception objects are combined into the the_neurobio::perception class hierarchy level of the agent. The object bound functions see_ and feel_ obtain (set) the specific perception objects from the external or internal environments of the agent and put them into the the_neurobio::perception data structure. Also, memory component is updated with the perception data. Perception objects can then be used as input into the individual decision-making procedures. More...

Inheritance diagram for the_neurobio::perception:
Collaboration diagram for the_neurobio::perception:

Public Member Functions

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 thedies` 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(percept_lightperceive_light
 
type(percept_lightperception
 
type(percept_lightof
 
type(percept_lightlight
 
type(percept_depthperceive_depth
 
type(percept_depthperception
 
type(percept_depthof
 
type(percept_depthdepth
 
type(percept_foodperceive_food
 
type(percept_foodperception
 
type(percept_foodof
 
type(percept_foodfood
 
type(percept_conspecificsperceive_consp
 
type(percept_conspecificsconspecifics
 
type(percept_conspecificsperception
 
type(percept_predatorperceive_predator
 
type(percept_predatorperceive
 
type(percept_predatorpredator
 
type(percept_stomachperceive_stomach
 
type(percept_stomachperception
 
type(percept_stomachfor
 
type(percept_stomachstomach
 
type(percept_body_massperceive_body_mass
 
type(percept_body_massperception
 
type(percept_body_massfor
 
type(percept_body_massbodymass
 
type(percept_energyperceive_energy
 
type(percept_energypercept
 
type(percept_energyfor
 
type(percept_energyenergy
 
type(percept_ageperceive_age
 
type(percept_agepercept
 
type(percept_ageof
 
type(percept_ageage
 
type(percept_reprfactperceive_reprfac
 
type(percept_reprfactpercept
 
type(percept_reprfactof
 
type(percept_reprfactrepr
 
type(percept_reprfactfactor
 
type(memory_perceptualmemory_stack
 
type(memory_perceptualnote
 
type(memory_perceptualmemory
 
type(memory_perceptualobject
 
- 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
 

Detailed Description

The perception architecture of the agent. See "The perception mechanism" for a general overview. At this level, lower order perception objects are combined into the the_neurobio::perception class hierarchy level of the agent. The object bound functions see_ and feel_ obtain (set) the specific perception objects from the external or internal environments of the agent and put them into the the_neurobio::perception data structure. Also, memory component is updated with the perception data. Perception objects can then be used as input into the individual decision-making procedures.

Note
Templates for outer environmental perceptions:
call proto_parents%individual(ind)%see_food( &
food_resource_available = habitat_safe%food, &
time_step_model = 1)
call proto_parents%individual(ind)%see_consp( &
consp_agents = proto_parents%individual, &
time_step_model = 1 )
call proto_parents%individual(ind)%see_pred( &
spatl_agents = predators, &
time_step_model = 1 )
call proto_parents%individual(ind)%feel_light(timestep)`
call proto_parents%individual(ind)%feel_depth()

Definition at line 561 of file m_neuro.f90.

Member Function/Subroutine Documentation

◆ feel_light()

procedure, public the_neurobio::perception::feel_light

Get light perception objects into the individual the_neurobio::perception object layer. See the_neurobio::light_perception_get_object().

Definition at line 577 of file m_neuro.f90.

◆ feel_depth()

procedure, public the_neurobio::perception::feel_depth

Get depth perception objects into the individual the_neurobio::perception object layer. See the_neurobio::depth_perception_get_object().

Definition at line 581 of file m_neuro.f90.

◆ see_food()

procedure, public the_neurobio::perception::see_food

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().

Definition at line 586 of file m_neuro.f90.

◆ see_consp()

procedure, public the_neurobio::perception::see_consp

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().

Definition at line 590 of file m_neuro.f90.

◆ see_pred()

procedure, public the_neurobio::perception::see_pred

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().

Definition at line 594 of file m_neuro.f90.

◆ feel_stomach()

procedure, public the_neurobio::perception::feel_stomach

Get the stomach capacity perception objects into the individual the_neurobio::perception object layer. See the_neurobio::stomach_perception_get_object().

Definition at line 598 of file m_neuro.f90.

◆ feel_bodymass()

procedure, public the_neurobio::perception::feel_bodymass

Get the body mass perception objects into the individual the_neurobio::perception object layer. See the_neurobio::bodymass_perception_get_object().

Definition at line 602 of file m_neuro.f90.

◆ feel_energy()

procedure, public the_neurobio::perception::feel_energy

Get the energy reserves perception objects into the individual the_neurobio::perception object layer. See the_neurobio::energy_perception_get_object().

Definition at line 606 of file m_neuro.f90.

◆ feel_age()

procedure, public the_neurobio::perception::feel_age

Get the age perception objects into the individual the_neurobio::perception object layer. See the_neurobio::age_perception_get_object().

Definition at line 610 of file m_neuro.f90.

◆ feel_repfac()

procedure, public the_neurobio::perception::feel_repfac

Get the reproductive factor perception objects into the individual the_neurobio::perception object layer. See the_neurobio::repfac_perception_get_object().

Definition at line 614 of file m_neuro.f90.

◆ predation_risk()

procedure, public the_neurobio::perception::predation_risk

Calculate the risk of predation as being perceived / assessed by this agent. See the_neurobio::perception_predation_risk_objective().

Definition at line 619 of file m_neuro.f90.

◆ perceptions_environ()

procedure, public the_neurobio::perception::perceptions_environ

A single umbrella subroutine to get all environmental perceptions: light, depth. See the_neurobio::perception_objects_get_all_environmental().

Definition at line 623 of file m_neuro.f90.

◆ perceptions_inner()

procedure, public the_neurobio::perception::perceptions_inner

A single umbrella subroutine wrapper to get all inner perceptions: stomach, body mass, energy, age. See the_neurobio::perception_objects_get_all_inner().

Definition at line 627 of file m_neuro.f90.

◆ perception_to_memory()

procedure, public the_neurobio::perception::perception_to_memory

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().

Definition at line 634 of file m_neuro.f90.

◆ init_perception()

procedure, public the_neurobio::perception::init_perception

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().

Definition at line 639 of file m_neuro.f90.

◆ destroy_perception()

procedure, public the_neurobio::perception::destroy_perception

Destroy and deallocate all perception objects. See the_neurobio::perception_objects_destroy().

Definition at line 642 of file m_neuro.f90.

◆ has_food()

procedure, public the_neurobio::perception::has_food

Check if the agent sees any food items within its visual range. See the_neurobio::food_perception_is_seeing_food().

Definition at line 647 of file m_neuro.f90.

◆ has_consp()

procedure, public the_neurobio::perception::has_consp

Check if the agent sees any conspecifics within the visual range. See the_neurobio::consp_perception_is_seeing_conspecifics().

Definition at line 650 of file m_neuro.f90.

◆ has_pred()

procedure, public the_neurobio::perception::has_pred

Check if the agent sees any predators within the visual range. See the_neurobio::predator_perception_is_seeing_predators().

Definition at line 653 of file m_neuro.f90.

◆ food_items_below_all()

procedure, public the_neurobio::perception::food_items_below_all

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()

Definition at line 659 of file m_neuro.f90.

◆ food_items_below_horiz()

procedure, public the_neurobio::perception::food_items_below_horiz

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().

Definition at line 667 of file m_neuro.f90.

◆ food_items_below()

generic, public the_neurobio::perception::food_items_below

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().

Definition at line 673 of file m_neuro.f90.

◆ food_mass_below_all()

procedure, public the_neurobio::perception::food_mass_below_all

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().

Definition at line 678 of file m_neuro.f90.

◆ food_mass_below_horiz()

procedure, public the_neurobio::perception::food_mass_below_horiz

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().

Definition at line 686 of file m_neuro.f90.

◆ food_mass_below()

generic, public the_neurobio::perception::food_mass_below

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().

Definition at line 692 of file m_neuro.f90.

◆ food_items_above_all()

procedure, public the_neurobio::perception::food_items_above_all

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()

Definition at line 697 of file m_neuro.f90.

◆ food_items_above_horiz()

procedure, public the_neurobio::perception::food_items_above_horiz

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().

Definition at line 705 of file m_neuro.f90.

◆ food_items_above()

generic, public the_neurobio::perception::food_items_above

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().

Definition at line 711 of file m_neuro.f90.

◆ food_mass_above_all()

procedure, public the_neurobio::perception::food_mass_above_all

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().

Definition at line 716 of file m_neuro.f90.

◆ food_mass_above_horiz()

procedure, public the_neurobio::perception::food_mass_above_horiz

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().

Definition at line 724 of file m_neuro.f90.

◆ food_mass_above()

generic, public the_neurobio::perception::food_mass_above

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().

Definition at line 730 of file m_neuro.f90.

◆ food_dist_below()

procedure, public the_neurobio::perception::food_dist_below

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().

Definition at line 735 of file m_neuro.f90.

◆ food_dist_above()

procedure, public the_neurobio::perception::food_dist_above

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().

Definition at line 740 of file m_neuro.f90.

◆ consp_below_all()

procedure, public the_neurobio::perception::consp_below_all

Calculate the number of conspecifics in the perception object that are located below the actor agent. See the_neurobio::perception_conspecifics_below_calculate().

Definition at line 747 of file m_neuro.f90.

◆ consp_above_all()

procedure, public the_neurobio::perception::consp_above_all

Calculate the number of conspecifics in the perception object that are located above the actor agent. See the_neurobio::perception_conspecifics_above_calculate().

Definition at line 752 of file m_neuro.f90.

◆ consp_below_horiz()

procedure, public the_neurobio::perception::consp_below_horiz

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().

Definition at line 758 of file m_neuro.f90.

◆ consp_above_horiz()

procedure, public the_neurobio::perception::consp_above_horiz

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().

Definition at line 764 of file m_neuro.f90.

◆ consp_below()

generic, public the_neurobio::perception::consp_below

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().

Definition at line 770 of file m_neuro.f90.

◆ consp_above()

generic, public the_neurobio::perception::consp_above

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().

Definition at line 775 of file m_neuro.f90.

◆ consp_dist_below()

procedure, public the_neurobio::perception::consp_dist_below

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().

Definition at line 779 of file m_neuro.f90.

◆ consp_dist_above()

procedure, public the_neurobio::perception::consp_dist_above

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().

Definition at line 784 of file m_neuro.f90.

◆ pred_below_all()

procedure, public the_neurobio::perception::pred_below_all

Calculate the number of predators in the perception object that are located below the actor agent. See the_neurobio::perception_predator_below_calculate().

Definition at line 791 of file m_neuro.f90.

◆ pred_above_all()

procedure, public the_neurobio::perception::pred_above_all

Calculate the number of predators in the perception object that are located above the actor agent. See the_neurobio::perception_predator_above_calculate().

Definition at line 795 of file m_neuro.f90.

◆ pred_below_horiz()

procedure, public the_neurobio::perception::pred_below_horiz

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.

Definition at line 800 of file m_neuro.f90.

◆ pred_above_horiz()

procedure, public the_neurobio::perception::pred_above_horiz

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.

Definition at line 806 of file m_neuro.f90.

◆ pred_below()

generic, public the_neurobio::perception::pred_below

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().

Definition at line 812 of file m_neuro.f90.

◆ pred_above()

generic, public the_neurobio::perception::pred_above

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().

Definition at line 817 of file m_neuro.f90.

◆ pred_dist_below()

procedure, public the_neurobio::perception::pred_dist_below

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().

Definition at line 821 of file m_neuro.f90.

◆ pred_dist_above()

procedure, public the_neurobio::perception::pred_dist_above

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().

Definition at line 826 of file m_neuro.f90.

◆ risk_pred_s()

procedure, public the_neurobio::perception::risk_pred_s

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().

Note
Note that this version of the procedure accepts this_predator parameter as class the_neurobio::spatialobj_percept_comp that is used for keeping the predator representations in the perception object. This representation keeps two separate array for the_neurobio::spatialobj_percept_comp spatial objects and the attack rate. See the_neurobio::predator_capture_probability_calculate_spatobj().

Definition at line 839 of file m_neuro.f90.

◆ risk_pred_p()

procedure, public the_neurobio::perception::risk_pred_p

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().

Note
Note that this version of the procedure accepts this_predator parameter as class the_neurobio::predator, i.e. for the objective predator object. See the_neurobio::predator_capture_probability_calculate_pred().

Definition at line 849 of file m_neuro.f90.

◆ risk_pred_w()

procedure, public the_neurobio::perception::risk_pred_w

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().

Definition at line 854 of file m_neuro.f90.

◆ risk_pred()

generic, public the_neurobio::perception::risk_pred

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().

Definition at line 861 of file m_neuro.f90.

◆ food_probability_capture_subjective()

procedure, public the_neurobio::perception::food_probability_capture_subjective

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().

Definition at line 866 of file m_neuro.f90.

Member Data Documentation

◆ perceive_light

type(percept_light) the_neurobio::perception::perceive_light

Definition at line 562 of file m_neuro.f90.

◆ perception [1/6]

type(percept_light) the_neurobio::perception::perception

Definition at line 562 of file m_neuro.f90.

◆ of [1/5]

type(percept_light) the_neurobio::perception::of

Definition at line 562 of file m_neuro.f90.

◆ light

type(percept_light) the_neurobio::perception::light

Definition at line 562 of file m_neuro.f90.

◆ perceive_depth

type(percept_depth) the_neurobio::perception::perceive_depth

Definition at line 563 of file m_neuro.f90.

◆ perception [2/6]

type(percept_depth) the_neurobio::perception::perception

Definition at line 563 of file m_neuro.f90.

◆ of [2/5]

type(percept_depth) the_neurobio::perception::of

Definition at line 563 of file m_neuro.f90.

◆ depth

type(percept_depth) the_neurobio::perception::depth

Definition at line 563 of file m_neuro.f90.

◆ perceive_food

type(percept_food) the_neurobio::perception::perceive_food

Definition at line 564 of file m_neuro.f90.

◆ perception [3/6]

type(percept_food) the_neurobio::perception::perception

Definition at line 564 of file m_neuro.f90.

◆ of [3/5]

type(percept_food) the_neurobio::perception::of

Definition at line 564 of file m_neuro.f90.

◆ food

type(percept_food) the_neurobio::perception::food

Definition at line 564 of file m_neuro.f90.

◆ perceive_consp

type(percept_conspecifics) the_neurobio::perception::perceive_consp

Definition at line 565 of file m_neuro.f90.

◆ conspecifics

type(percept_conspecifics) the_neurobio::perception::conspecifics

Definition at line 565 of file m_neuro.f90.

◆ perception [4/6]

type(percept_conspecifics) the_neurobio::perception::perception

Definition at line 565 of file m_neuro.f90.

◆ perceive_predator

type(percept_predator) the_neurobio::perception::perceive_predator

Definition at line 566 of file m_neuro.f90.

◆ perceive

type(percept_predator) the_neurobio::perception::perceive

Definition at line 566 of file m_neuro.f90.

◆ predator

type(percept_predator) the_neurobio::perception::predator

Definition at line 566 of file m_neuro.f90.

◆ perceive_stomach

type(percept_stomach) the_neurobio::perception::perceive_stomach

Definition at line 567 of file m_neuro.f90.

◆ perception [5/6]

type(percept_stomach) the_neurobio::perception::perception

Definition at line 567 of file m_neuro.f90.

◆ for [1/3]

type(percept_stomach) the_neurobio::perception::for

Definition at line 567 of file m_neuro.f90.

◆ stomach

type(percept_stomach) the_neurobio::perception::stomach

Definition at line 567 of file m_neuro.f90.

◆ perceive_body_mass

type(percept_body_mass) the_neurobio::perception::perceive_body_mass

Definition at line 568 of file m_neuro.f90.

◆ perception [6/6]

type(percept_body_mass) the_neurobio::perception::perception

Definition at line 568 of file m_neuro.f90.

◆ for [2/3]

type(percept_body_mass) the_neurobio::perception::for

Definition at line 568 of file m_neuro.f90.

◆ bodymass

type(percept_body_mass) the_neurobio::perception::bodymass

Definition at line 568 of file m_neuro.f90.

◆ perceive_energy

type(percept_energy) the_neurobio::perception::perceive_energy

Definition at line 569 of file m_neuro.f90.

◆ percept [1/3]

type(percept_energy) the_neurobio::perception::percept

Definition at line 569 of file m_neuro.f90.

◆ for [3/3]

type(percept_energy) the_neurobio::perception::for

Definition at line 569 of file m_neuro.f90.

◆ energy

type(percept_energy) the_neurobio::perception::energy

Definition at line 569 of file m_neuro.f90.

◆ perceive_age

type(percept_age) the_neurobio::perception::perceive_age

Definition at line 570 of file m_neuro.f90.

◆ percept [2/3]

type(percept_age) the_neurobio::perception::percept

Definition at line 570 of file m_neuro.f90.

◆ of [4/5]

type(percept_age) the_neurobio::perception::of

Definition at line 570 of file m_neuro.f90.

◆ age

type(percept_age) the_neurobio::perception::age

Definition at line 570 of file m_neuro.f90.

◆ perceive_reprfac

type(percept_reprfact) the_neurobio::perception::perceive_reprfac

Definition at line 571 of file m_neuro.f90.

◆ percept [3/3]

type(percept_reprfact) the_neurobio::perception::percept

Definition at line 571 of file m_neuro.f90.

◆ of [5/5]

type(percept_reprfact) the_neurobio::perception::of

Definition at line 571 of file m_neuro.f90.

◆ repr

type(percept_reprfact) the_neurobio::perception::repr

Definition at line 571 of file m_neuro.f90.

◆ factor

type(percept_reprfact) the_neurobio::perception::factor

Definition at line 571 of file m_neuro.f90.

◆ memory_stack

type(memory_perceptual) the_neurobio::perception::memory_stack

Definition at line 572 of file m_neuro.f90.

◆ note

type(memory_perceptual) the_neurobio::perception::note

Definition at line 572 of file m_neuro.f90.

◆ memory

type(memory_perceptual) the_neurobio::perception::memory

Definition at line 572 of file m_neuro.f90.

◆ object

type(memory_perceptual) the_neurobio::perception::object

Definition at line 572 of file m_neuro.f90.


The documentation for this type was generated from the following file: