|
Neko 1.99.3
A portable framework for high-order spectral element flow simulations
|

Public Member Functions | |
| procedure, pass(this) | init (this, coef, json, user) |
| Initialize ALE Manager Sets up solver, registers fields, solves for base shape, etc. | |
| procedure, pass(this) | free (this) |
| procedure, pass(this) | mesh_preview (this, coef, json) |
| Performs a preview of the mesh motion to verify quality/topology. | |
| procedure, pass(this) | solve_base_mesh_displacement (this, coef, abstol, ksp_solver, ksp_max_iter, precon_type, precon_params, res_monitor) |
| Solves the Laplace equation to determine the base shape (phi) for each body. It finds a smooth blending function for mesh deformation. For body i: phi_i = 1 on body i zones, phi_i = 0 on all other boundaries. should be modified for device support (ToDo) | |
| procedure, pass(this) | advance_mesh (this, coef, time, nadv) |
| Main routine to advance the mesh in time. | |
| procedure, pass(this) | update_mesh_velocity (this, coef, time_s) |
| Updates the mesh velocity field based on current time and kinematics Sums contributions from all bodies: mesh_vel = Sum( V_i * Phi_i ) | |
| procedure, pass(this) | set_pivot_restart (this, time_restart) |
| procedure, pass(this) | set_coef_restart (this, coef, adv, time_restart) |
| procedure, pass(this) | request_tracker (this, initial_pos, body_id) |
| procedure, pass(this) | get_tracker_pos (this, handle) |
| procedure, pass(this) | compute_rotation_matrix (this, body_idx, time) |
| Computes Rotation Matrix. | |
| procedure, pass(this) | prep_checkpoint (this, body_idx) |
| procedure, pass(this) | ghost_tracker_coord_step (this, kin_object, time_s, nadv, body_idx) |
| procedure, pass(this) | log_rot_angles (this, time, body_idxs) |
| Logs rotation angles for all or selected bodies. can be called in usercompute. eg: call neko_alelog_rot_angles(time, body_idxs) | |
| procedure, pass(this) | log_pivot (this, time, body_idxs) |
| Logs pivot positions for all or selected bodies. can be called in usercompute. eg: call neko_alelog_pivot(time, body_idxs) | |
Static Public Attributes | |
| procedure(user_ale_mesh_velocity_intf), pointer, nopass | user_ale_mesh_vel => null() |
| procedure(user_ale_base_shapes_intf), pointer, nopass | user_ale_base_shapes => null() |
| procedure(user_ale_rigid_kinematics_intf), pointer, nopass | user_ale_rigid_kinematics => null() |
Definition at line 87 of file ale_manager.f90.
| procedure, pass(this) ale_manager::ale_manager_t::advance_mesh | ( | class(ale_manager_t), intent(inout) | this, |
| type(coef_t), intent(inout) | coef, | ||
| type(time_state_t), intent(in) | time, | ||
| integer, intent(in) | nadv | ||
| ) |
Definition at line 149 of file ale_manager.f90.
| procedure, pass(this) ale_manager::ale_manager_t::compute_rotation_matrix | ( | class(ale_manager_t), intent(inout) | this, |
| integer, intent(in) | body_idx, | ||
| type(time_state_t), intent(in) | time | ||
| ) |
Definition at line 155 of file ale_manager.f90.
| procedure, pass(this) ale_manager::ale_manager_t::free | ( | class(ale_manager_t), intent(inout), target | this | ) |
Definition at line 146 of file ale_manager.f90.
| procedure, pass(this) ale_manager::ale_manager_t::get_tracker_pos | ( | class(ale_manager_t), intent(in) | this, |
| integer, intent(in) | handle | ||
| ) |
Definition at line 154 of file ale_manager.f90.
| procedure, pass(this) ale_manager::ale_manager_t::ghost_tracker_coord_step | ( | class(ale_manager_t), intent(inout) | this, |
| type(body_kinematics_t), intent(in) | kin_object, | ||
| type(time_state_t), intent(in) | time_s, | ||
| integer, intent(in) | nadv, | ||
| integer, intent(in) | body_idx | ||
| ) |
Definition at line 157 of file ale_manager.f90.
| procedure, pass(this) ale_manager::ale_manager_t::init | ( | class(ale_manager_t), intent(inout), target | this, |
| type(coef_t), intent(inout) | coef, | ||
| type(json_file), intent(inout) | json, | ||
| type(user_t), intent(in) | user | ||
| ) |
Definition at line 145 of file ale_manager.f90.
| procedure, pass(this) ale_manager::ale_manager_t::log_pivot | ( | class(ale_manager_t), intent(in) | this, |
| type(time_state_t), intent(in) | time, | ||
| integer, dimension(:), intent(in), optional | body_idxs | ||
| ) |
Definition at line 159 of file ale_manager.f90.
| procedure, pass(this) ale_manager::ale_manager_t::log_rot_angles | ( | class(ale_manager_t), intent(in) | this, |
| type(time_state_t), intent(in) | time, | ||
| integer, dimension(:), intent(in), optional | body_idxs | ||
| ) |
Definition at line 158 of file ale_manager.f90.
| procedure, pass(this) ale_manager::ale_manager_t::mesh_preview | ( | class(ale_manager_t), intent(inout) | this, |
| type(coef_t), intent(inout) | coef, | ||
| type(json_file), intent(inout) | json | ||
| ) |
Definition at line 147 of file ale_manager.f90.
| procedure, pass(this) ale_manager::ale_manager_t::prep_checkpoint | ( | class(ale_manager_t), intent(inout) | this, |
| integer, intent(in) | body_idx | ||
| ) |
Definition at line 156 of file ale_manager.f90.
| procedure, pass(this) ale_manager::ale_manager_t::request_tracker | ( | class(ale_manager_t), intent(inout) | this, |
| real(kind=rp), dimension(3), intent(in) | initial_pos, | ||
| integer, intent(in) | body_id | ||
| ) |
Definition at line 153 of file ale_manager.f90.
| procedure, pass(this) ale_manager::ale_manager_t::set_coef_restart | ( | class(ale_manager_t), intent(inout) | this, |
| type(coef_t), intent(inout) | coef, | ||
| class(advection_t), intent(inout) | adv, | ||
| real(kind=dp), intent(in) | time_restart | ||
| ) |
Definition at line 152 of file ale_manager.f90.
| procedure, pass(this) ale_manager::ale_manager_t::set_pivot_restart | ( | class(ale_manager_t), intent(inout) | this, |
| real(kind=dp), intent(in) | time_restart | ||
| ) |
Definition at line 151 of file ale_manager.f90.
| procedure, pass(this) ale_manager::ale_manager_t::solve_base_mesh_displacement | ( | class(ale_manager_t), intent(inout) | this, |
| type(coef_t), intent(inout) | coef, | ||
| real(kind=rp), intent(in) | abstol, | ||
| character(len=*), intent(in) | ksp_solver, | ||
| integer, intent(in) | ksp_max_iter, | ||
| character(len=*), intent(in) | precon_type, | ||
| type(json_file), intent(inout) | precon_params, | ||
| logical, intent(in) | res_monitor | ||
| ) |
Definition at line 148 of file ale_manager.f90.
| procedure, pass(this) ale_manager::ale_manager_t::update_mesh_velocity | ( | class(ale_manager_t), intent(inout) | this, |
| type(coef_t), intent(in) | coef, | ||
| type(time_state_t), intent(in) | time_s | ||
| ) |
Definition at line 150 of file ale_manager.f90.
| logical ale_manager::ale_manager_t::active = .false. |
Definition at line 89 of file ale_manager.f90.
| type(pivot_state_t), dimension(:), allocatable ale_manager::ale_manager_t::ale_pivot |
Definition at line 112 of file ale_manager.f90.
| type(field_t), dimension(:), allocatable ale_manager::ale_manager_t::base_shapes |
Definition at line 117 of file ale_manager.f90.
| type(zero_dirichlet_t) ale_manager::ale_manager_t::bc_fixed |
Definition at line 94 of file ale_manager.f90.
| type(bc_list_t) ale_manager::ale_manager_t::bc_list |
Definition at line 92 of file ale_manager.f90.
| type(zero_dirichlet_t) ale_manager::ale_manager_t::bc_moving |
Definition at line 93 of file ale_manager.f90.
| type(body_kinematics_t), dimension(:), allocatable ale_manager::ale_manager_t::body_kin |
Definition at line 113 of file ale_manager.f90.
| real(kind=rp), dimension(:,:,:), allocatable ale_manager::ale_manager_t::body_rot_matrices |
Definition at line 132 of file ale_manager.f90.
| type(ale_config_t) ale_manager::ale_manager_t::config |
Definition at line 96 of file ale_manager.f90.
| integer, dimension(:,:), allocatable ale_manager::ale_manager_t::ghost_handles |
Definition at line 130 of file ale_manager.f90.
Definition at line 126 of file ale_manager.f90.
Definition at line 128 of file ale_manager.f90.
Definition at line 122 of file ale_manager.f90.
Definition at line 123 of file ale_manager.f90.
| logical ale_manager::ale_manager_t::has_moving_boundary = .false. |
Definition at line 90 of file ale_manager.f90.
| integer ale_manager::ale_manager_t::n_trackers = 0 |
Definition at line 135 of file ale_manager.f90.
| type(field_t) ale_manager::ale_manager_t::phi_total |
Definition at line 120 of file ale_manager.f90.
| type(point_tracker_t), dimension(:), allocatable ale_manager::ale_manager_t::trackers |
Definition at line 134 of file ale_manager.f90.
|
static |
Definition at line 139 of file ale_manager.f90.
|
static |
Definition at line 137 of file ale_manager.f90.
|
static |
Definition at line 141 of file ale_manager.f90.
Definition at line 99 of file ale_manager.f90.
| type(field_series_t) ale_manager::ale_manager_t::wm_x_lag |
Definition at line 104 of file ale_manager.f90.
Definition at line 100 of file ale_manager.f90.
| type(field_series_t) ale_manager::ale_manager_t::wm_y_lag |
Definition at line 105 of file ale_manager.f90.
Definition at line 101 of file ale_manager.f90.
| type(field_series_t) ale_manager::ale_manager_t::wm_z_lag |
Definition at line 106 of file ale_manager.f90.
| type(field_t) ale_manager::ale_manager_t::x_ref |
Definition at line 109 of file ale_manager.f90.
| type(field_t) ale_manager::ale_manager_t::y_ref |
Definition at line 109 of file ale_manager.f90.
| type(field_t) ale_manager::ale_manager_t::z_ref |
Definition at line 109 of file ale_manager.f90.