# Optimal Design and Fish-Passing Performance Analysis of a Fish-Friendly Axial Flow Pump
## 3 Numerical Simulation Method and Main Parameters of the Model  
### IB-LBM Method  
In this paper, the submerged boundary-lattice Boltzmann method (IB-LBM) was used to study the trajectory and damage of fish passing through an axial flow pump. The immersed boundary method (IBM) is also essentially a boundary-handling format. The basic idea of the IBM is to approximate the boundary of an object by a set of marked points close to the mesh. These marked points affect the fluid only through the force field, and an interpolation template is introduced to transfer information between the mesh points and the marked points. This makes the implementation of complex boundaries relatively simple. The combination of IBM and LBM, proposed by [PERSON] and [PERSON], is called the immersed boundary-lattice Boltzmann method (IB-LBM).  
By discretizing the Boltzmann equation in several dimensions such as velocity, physical space, and time, the basic form of the lattice Boltzmann equation can be obtained as:  
\[f_{i}(x+c_{i}\Delta t,t+\Delta t)=f_{i}(x,t)+\omega_{i}(x,t) \tag{1}\]  
where the distribution function and equilibrium distribution function are finite discrete terms.  
Because the original collision operator of the Boltzmann equation is extremely complex, the linearized BGK collision model proposed by [PERSON], [PERSON], and [PERSON] based on the H theorem has been proved to be an effective collision operator to simulate a Navier-Stokes behavior. Formula (2) is the mathematical expression of the discrete Bhatnagar-Gross-Krook (BGK) operator:  
\[\omega_{i}(f)=-\frac{f_{i}-f_{i}^{eq}}{\tau}\Delta t \tag{2}\]  
where \(\tau\) is the relaxation time, which determines the rate at which particle swarm \(f_{i}(x,t)\) relaxes to equilibrium state \(f_{i}^{eq}\).  
[PERSON]'s H theorem holds that the distribution function changes with time. The H (the function representing the change) of the system always decreases, and when Hgradually decreases to the minimum and no longer changes, the whole system will enter the equilibrium state. This process is irreversible. As a result, the lattice BGK equation (LBGK) has important application significance and can be derived as:  
\[f_{i}(x+c_{i}\Delta t,t+\Delta t)-f_{i}(x,t)=-\frac{\Delta t}{\tau}(f_{i}(x,t)- f_{i}^{eq}(x,t)) \tag{3}\]  
Because the BGK operator in the LBGK equation contains a relaxation time that represents the relaxation rate of the equilibrium function, it is also called the single relaxation model. The collision and flow processes of solving the lattice Boltzmann model are based on the Cartesian mesh system of geometric objects. In order to better adapt to the object boundary to represent the computing domain, the octree algorithm (OA) is usually used as the basic algorithm to generate the 3D lattice model. The octree algorithm is a top-down algorithm with strong scalability and can dynamically generate lattice models for different uses according to the needs of users. The generation rules of the octree determine that once its structure is generated, the child lattice of any lattice in the tree can only be zero or eight, and there can be no other cases. Thus, its logical structure is a tree structure that may have eight bifurcations in any lattice.