FIMS  v0.8.1
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 >

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 Attributes

fims::Vector< Typeinflection_point_asc
 
fims::Vector< Typeslope_asc
 
fims::Vector< Typeinflection_point_desc
 
fims::Vector< Typeslope_desc
 
- 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
 

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

50% quantile of the value of the quantity of interest (x) on the ascending limb of the double logistic curve; e.g. age at which 50% of the fish are selected

◆ inflection_point_desc

50% quantile of the value of the quantity of interest (x) on the descending limb of the double logistic curve; e.g. age at which 50% of the fish are selected

◆ slope_asc

scalar multiplier of difference between quantity of interest value (x) and inflection_point on the ascending limb of the double logistic curve

◆ slope_desc

scalar multiplier of difference between quantity of interest value (x) and inflection_point on the descending limb of the double logistic curve


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