# A Lattice Boltzmann Method and Asynchronous Model Coupling for Viscoelastic Fluids
## 3 The Coupled LBM of Viscoelastic Fluids
### Solving the Oldroyd-B Constitutive Model  
In this section, we describe briefly the way to solve the Oldroyd-B Equation (3) using the particle distribution functions of flow fields. To check the information conveniently, we rewrite the constitutive equation as  
\[\frac{\partial\mathbf{\tau}}{\partial t}+\mathbf{A}_{adv}(\mathbf{\tau},t)=\mathbf{A}_{ rel-str}(\mathbf{\tau},t), \tag{18}\]  
here, the advection operator and relaxation-stretching operator acted on the stress tensor \(\mathbf{\tau}\) are given, respectively, by  
\[\mathbf{A}_{adv}(\mathbf{\tau},t)=(\mathbf{u}\cdot\
abla)\mathbf{\tau}, \tag{19}\]  
\[\mathbf{A}_{rel-str}(\mathbf{\tau},t)\] \[=(\mathbf{\tau}\cdot\
abla\mathbf{u}+(\
abla\mathbf{u})^{T}\cdot\mathbf{ \tau})+\tfrac{1}{\lambda_{p}}(2\eta_{p}\mathbf{d}-\mathbf{\tau})\ \, \tag{20}\]  
Here, the physical variables of the Equations (19) and (20) are distributed on the same grid points as the velocity field. To ensure the numerical precision of simulation, the advection operator is calculated by  
\[\begin{array}{l}-\delta t\mathbf{A}_{adv}(\mathbf{\tau},t)\\ =2\sum\limits_{\alpha=1}^{m}\mathbf{\tau}(\mathbf{x}-\mathbf{e}_{\alpha}\delta t,t )f_{\alpha}(\mathbf{x}-\mathbf{e}_{\alpha}\delta t,t)\\ \phantom{=}-0.5\sum\limits_{\alpha=1}^{m}\mathbf{\tau}(\mathbf{x}-2\mathbf{e}_{ \alpha}\delta t,t)f_{\alpha}(\mathbf{x}-2\mathbf{e}_{\alpha}\delta t,t)\\ -1.5\sum\limits_{\alpha=1}^{m}\mathbf{\tau}(\mathbf{x},t)f_{\alpha}(\mathbf{x},t) \end{array}, \tag{21}\]  
The relaxation-stretching operators \(\mathbf{A}_{rel-str}(\mathbf{\tau},t)\) are stretched through the velocity gradient tensor. The derivatives of velocity are computed by  
\[\frac{\partial u_{\alpha}}{\partial x_{\beta}}=\frac{1}{2\delta x}\sum\limits _{i=0}^{8}u_{\alpha}(\mathbf{x}+\mathbf{e}_{i},t)(\mathbf{e}_{i})_{\beta}, \tag{22}\]  
In the simulation, the time stepping follows as  
\[\frac{\partial}{\partial t}\mathbf{\tau}(\mathbf{x},t)=\frac{\mathbf{\tau}(\mathbf{x },t+\Delta t)-\mathbf{\tau}(\mathbf{x},t)}{\Delta t}=L(\mathbf{\tau}), \tag{23}\]  
Here, the time step \(\Delta t\) may normally be different from \(\delta t\), and the velocity field is fixed during the time when the constitutive equation advance from \(n\) to \(n+1\) time step. Finally, combing with the Equations (21) and (23), we obtained the temporal advancing of the stress tensor, as follows  
\[\begin{array}{l}\mathbf{\tau}(\mathbf{x},t+\Delta t)=\mathbf{\tau}(\mathbf{x},t)\\ +\frac{\Delta t}{\delta t}\left[2\sum\limits_{\alpha=1}^{8}\mathbf{\tau}(\mathbf{x }-\mathbf{e}_{\alpha}\delta t,t)f_{\alpha}(\mathbf{x}-\mathbf{e}_{\alpha} \delta t,t)\right.\\ \phantom{=}-1.5\left.\sum\limits_{\alpha=1}^{8}\mathbf{\tau}(\mathbf{x},t)f_{ \alpha}(\mathbf{x},t)\right.\\ \phantom{=}-0.5\left.\sum\limits_{\alpha=1}^{8}\mathbf{\tau}(\mathbf{x}-2\mathbf{e }_{\alpha}\delta t,t)f_{\alpha}(\mathbf{x}-2\mathbf{e}_{\alpha}\delta t,t) \right]\ \,\\ +\Delta t\mathbf{A}_{rel-str}(\mathbf{\tau},t)\end{array} \tag{24}\]  
The detail derivation of the numerical scheme is has been shown in the in reference [21].