| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(checkpoint_state_t), | intent(inout) | :: | self | |||
| type(writer_session_t), | intent(inout) | :: | writer |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(checkpoint_state_t), | intent(inout) | :: | self | |||
| type(reader_session_t), | intent(inout) | :: | reader |
Set up turbine geometry/state (read config files, place actuator points, build smearing kernels, ...). Called once after the solver exists. The model caches whatever context it needs (backend, mesh, host_allocator) so the per-step hooks below take only fields.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(turbine_model_t), | intent(inout) | :: | self | |||
| class(base_backend_t), | intent(in), | target | :: | backend | ||
| type(mesh_t), | intent(in), | target | :: | mesh | ||
| type(allocator_t), | intent(in), | target | :: | host_allocator | ||
| real(kind=dp), | intent(in) | :: | dt |
Advance the turbine internal state (blade kinematics, rotor speed, velocity filtering) by one step. Called once per substep before project_forces.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(turbine_model_t), | intent(inout) | :: | self | |||
| real(kind=dp), | intent(in) | :: | t | |||
| real(kind=dp), | intent(in) | :: | dt |
Sample the velocity field at the actuator points and accumulate the turbine momentum source into the RHS fields du, dv, dw. Uses the backend/mesh cached at init.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(turbine_model_t), | intent(inout) | :: | self | |||
| class(field_t), | intent(inout) | :: | du | |||
| class(field_t), | intent(inout) | :: | dv | |||
| class(field_t), | intent(inout) | :: | dw | |||
| class(field_t), | intent(in) | :: | u | |||
| class(field_t), | intent(in) | :: | v | |||
| class(field_t), | intent(in) | :: | w |
Write per-turbine diagnostics (power, thrust, loads).
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(turbine_model_t), | intent(inout) | :: | self | |||
| integer, | intent(in) | :: | iter | |||
| logical, | intent(in) | :: | is_root |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(turbine_model_t), | intent(inout) | :: | self | |||
| logical, | intent(in) | :: | is_root | |||
| logical, | intent(in) | :: | append |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(turbine_model_t), | intent(inout) | :: | self |