Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(friction_model), | intent(inout) | :: | this |
The friction_model object. |
||
real(kind=real64), | intent(in) | :: | t |
The current simulation time value. |
||
real(kind=real64), | intent(in) | :: | x |
The current value of the relative position between the contacting bodies. |
||
real(kind=real64), | intent(in) | :: | dxdt |
The current value of the relative velocity between the contacting bodies. |
||
real(kind=real64), | intent(in) | :: | nrm |
The current normal force between the contacting bodies. |
||
real(kind=real64), | intent(in), | optional, | dimension(:) | :: | svars |
An optional array containing any internal state variables the model may rely upon. |
The friction force.
Gets an integer-valued parameter from the model
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(friction_model), | intent(in) | :: | this |
The friction_model object. |
The model parameter.
Returns a value stating if the model relies upon internal state variables.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(friction_model), | intent(in) | :: | this |
The friction_model object. |
Returns true if the model utilizes internal state variables; else, returns false.
Converts an array into the parameters for the friction model.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(friction_model), | intent(inout) | :: | this |
The friction_model object. |
||
real(kind=real64), | intent(in), | dimension(:) | :: | x |
The array of parameters. See parameter_count to determine the size of this array. |
|
class(errors), | intent(inout), | optional, | target | :: | err |
An optional errors-based object that if provided can be used to retrieve information relating to any errors encountered during execution. If not provided, a default implementation of the errors class is used internally to provide error handling. |
Converts the parameters of the friction model into an array.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(friction_model), | intent(in) | :: | this |
The friction_model object. |
||
real(kind=real64), | intent(out), | dimension(:) | :: | x |
The array used to store the parameters. See @ref parameter_count to determine the size of this array. |
|
class(errors), | intent(inout), | optional, | target | :: | err |
An optional errors-based object that if provided can be used to retrieve information relating to any errors encountered during execution. If not provided, a default implementation of the errors class is used internally to provide error handling. |
Evaluates the time derivatives of the internal friction state model.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(friction_model), | intent(inout) | :: | this |
The friction_model object. |
||
real(kind=real64), | intent(in) | :: | t |
The current simulation time value. |
||
real(kind=real64), | intent(in) | :: | x |
The current value of the relative position between the contacting bodies. |
||
real(kind=real64), | intent(in) | :: | dxdt |
The current value of the relative velocity between the contacting bodies. |
||
real(kind=real64), | intent(in) | :: | nrm |
The current normal force between the contacting bodies. |
||
real(kind=real64), | intent(in), | dimension(:) | :: | svars |
An N-element array containing any internal state variables the model may rely upon. |
|
real(kind=real64), | intent(out), | dimension(:) | :: | dsdt |
An N-element array where the state variable derivatives are to be written. |
Defines a generic friction model.
procedure, public :: constraint_equations => fmdl_constraints | |
procedure(friction_evaluation), public, deferred :: evaluate | |
procedure, public :: fit => fmdl_fit | |
procedure(friction_model_from_array), public, deferred :: from_array | |
procedure, public :: get_constraint_equation_count => fmdl_get_constraint_count | |
procedure(friction_integer_query), public, deferred :: get_state_variable_count | |
procedure(friction_logical_query), public, deferred :: has_internal_state | |
procedure(friction_integer_query), public, deferred :: parameter_count | |
procedure, public :: reset => fmdl_reset | |
procedure(friction_state_model), public, deferred :: state | |
procedure(friction_model_to_array), public, deferred :: to_array |