Neko 1.99.3
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
ale_rigid_kinematics Module Reference

Defines data structures and algorithms for configuring, calculating, and time-integrating the rigid-body motion (translation and rotation) of objects in an ALE simulation. CPU-only module.

Data Types

type  ale_body_t
 Configuration for a single moving body. More...
 
type  ale_config_t
 Global ALE Configuration. More...
 
type  body_kinematics_t
 Calculated Kinematics for a body at current time. More...
 
type  pivot_state_t
 State history for time-integration of pivots. More...
 
type  point_tracker_t
 Type for a tracked point linked to a body. More...
 
type  stiffness_geometry_t
 Stiff Geometry. More...
 

Functions/Subroutines

subroutine, public init_pivot_state (pivot, body_conf)
 Initialize pivot state.
 
subroutine, public ab_integrate_point_pos (pos, vel_lag, current_vel, time, nadv)
 Advance a single point position (x,y,z) from the point's velocity using AB time-integration.
 
subroutine, public advance_point_tracker (tracker, current_vel, time, nadv)
 Updates the point tracker's position and velocity history using AB time integration based on the current velocity.
 
subroutine, public compute_body_kinematics_built_in (kinematics, body_conf, time)
 Compute built-in kinematics for a body. Uses inputs from JSON. CPU-only.
 
subroutine, public update_pivot_location (pivot, pivot_loc, pivot_vel, time, nadv, body_conf)
 Updates pivot location.
 

Function/Subroutine Documentation

◆ ab_integrate_point_pos()

subroutine, public ale_rigid_kinematics::ab_integrate_point_pos ( real(kind=rp), dimension(3), intent(inout pos,
real(kind=rp), dimension(3, 3), intent(inout vel_lag,
real(kind=rp), dimension(3), intent(in current_vel,
type(time_state_t), intent(in time,
integer, intent(in nadv 
)

Definition at line 152 of file ale_rigid_kinematics.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ advance_point_tracker()

subroutine, public ale_rigid_kinematics::advance_point_tracker ( type(point_tracker_t), intent(inout tracker,
real(kind=rp), dimension(3), intent(in current_vel,
type(time_state_t), intent(in time,
integer, intent(in nadv 
)

Definition at line 195 of file ale_rigid_kinematics.f90.

Here is the call graph for this function:

◆ compute_body_kinematics_built_in()

subroutine, public ale_rigid_kinematics::compute_body_kinematics_built_in ( type(body_kinematics_t), intent(out kinematics,
type(ale_body_t), intent(in body_conf,
type(time_state_t), intent(in time 
)

Definition at line 208 of file ale_rigid_kinematics.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ init_pivot_state()

subroutine, public ale_rigid_kinematics::init_pivot_state ( type(pivot_state_t), intent(out pivot,
type(ale_body_t), intent(in body_conf 
)

Definition at line 142 of file ale_rigid_kinematics.f90.

Here is the caller graph for this function:

◆ update_pivot_location()

subroutine, public ale_rigid_kinematics::update_pivot_location ( type(pivot_state_t), intent(inout pivot,
real(kind=rp), dimension(3), intent(out pivot_loc,
real(kind=rp), dimension(3), intent(in pivot_vel,
type(time_state_t), intent(in time,
integer, intent(in nadv,
type(ale_body_t), intent(in body_conf 
)

Definition at line 291 of file ale_rigid_kinematics.f90.

Here is the call graph for this function:
Here is the caller graph for this function: