FIMS  v0.11.0
Loading...
Searching...
No Matches
fims_popdy::DoubleLogisticSelectivity< Type > Struct Template Reference

DoubleLogisticSelectivity class that returns the double logistic function value from fims_math. More...

#include <double_logistic.hpp>

Inheritance diagram for fims_popdy::DoubleLogisticSelectivity< Type >:
fims_popdy::SelectivityBase< Type > fims_model_object::FIMSObject< Type > fims_model_object::FIMSMemoryTracker

Public Member Functions

virtual const Type evaluate (const Type &x)
 Method of the double logistic selectivity class that implements the double logistic function from FIMS math.
 
virtual const Type evaluate (const Type &x, size_t pos)
 Method of the double logistic selectivity class that implements the double logistic function from FIMS math.
 
- Public Member Functions inherited from fims_popdy::SelectivityBase< Type >
 SelectivityBase ()
 Constructor.
 
- Public Member Functions inherited from fims_model_object::FIMSObject< Type >
uint32_t GetId () const
 Getter that returns the unique id for parameters in the model.
 
bool CheckDimensions (size_t actual, size_t expected)
 Check the dimensions of an object.
 
- Public Member Functions inherited from fims_model_object::FIMSMemoryTracker
void register_self (const uint32_t id)
 Registers a FIMSObject instance with the memory tracker.
 

Public Attributes

fims::Vector< Type > inflection_point_asc
 The age at which the ascending limb is 0.5 for models that start at age zero and each age bin represents one year.
 
fims::Vector< Type > slope_asc
 How quickly selectivity rises on the ascending limb; larger values give a steeper, more knife-edge rise.
 
fims::Vector< Type > inflection_point_desc
 The age at which the descending limb is 0.5 for models that start at age zero and each age bin represents one year.
 
fims::Vector< Type > slope_desc
 How quickly selectivity falls on the descending limb; larger values give a steeper decline.
 
- Public Attributes inherited from fims_model_object::FIMSObject< Type >
uint32_t id
 
std::vector< Type * > parameters
 
std::vector< Type * > random_effects_parameters
 
std::vector< Type * > fixed_effects_parameters
 

Additional Inherited Members

- Static Public Attributes inherited from fims_popdy::SelectivityBase< Type >
static uint32_t id_g = 0
 
- Static Public Attributes inherited from fims_model_object::FIMSMemoryTracker
static int total_active_objects = 0
 Total number of active FIMSObject instances currently in memory.
 

Detailed Description

template<typename Type>
struct fims_popdy::DoubleLogisticSelectivity< Type >

DoubleLogisticSelectivity class that returns the double logistic function value from fims_math.

Member Function Documentation

◆ evaluate() [1/2]

template<typename Type >
virtual const Type fims_popdy::DoubleLogisticSelectivity< Type >::evaluate ( const Type &  x)
inlinevirtual

Method of the double logistic selectivity class that implements the double logistic function from FIMS math.

\( \frac{1.0}{ 1.0 + exp(-1.0 * slope\_asc (x - inflection_point\_asc))} \left(1.0-\frac{1.0}{ 1.0 + exp(-1.0 * slope\_desc (x - inflection_point\_desc))} \right)\)

Parameters
xThe independent variable in the double logistic function (e.g., age or size in selectivity).

Implements fims_popdy::SelectivityBase< Type >.

◆ evaluate() [2/2]

template<typename Type >
virtual const Type fims_popdy::DoubleLogisticSelectivity< Type >::evaluate ( const Type &  x,
size_t  pos 
)
inlinevirtual

Method of the double logistic selectivity class that implements the double logistic function from FIMS math.

\( \frac{1.0}{ 1.0 + exp(-1.0 * slope\_asc_t (x - inflection_point\_asc_t))} \left(1.0-\frac{1.0}{ 1.0 + exp(-1.0 * slope\_desc_t (x - inflection_point\_desc_t))} \right)\)

Parameters
xThe independent variable in the double logistic function (e.g., age or size in selectivity).
posPosition index, e.g., which year. If the index is out of bounds then it returns the first element, which would be the case when you do not have time-varying selectivity.

Implements fims_popdy::SelectivityBase< Type >.

Member Data Documentation

◆ inflection_point_asc

The age at which the ascending limb is 0.5 for models that start at age zero and each age bin represents one year.

Overall selectivity is below 0.5 at this point because it is the product of both limbs.

◆ inflection_point_desc

The age at which the descending limb is 0.5 for models that start at age zero and each age bin represents one year.

Overall selectivity is below 0.5 at this point because it is the product of both limbs.

◆ slope_asc

How quickly selectivity rises on the ascending limb; larger values give a steeper, more knife-edge rise.

Scalar multiplier applied to the difference between x and inflection_point_asc on the ascending limb.

◆ slope_desc

How quickly selectivity falls on the descending limb; larger values give a steeper decline.

Scalar multiplier applied to the difference between x and inflection_point_desc on the descending limb.


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