Deformation of Soft Tissue and Force Feedback Using the Smoothed Particle Hydrodynamics
Identifieur interne : 000152 ( Pmc/Curation ); précédent : 000151; suivant : 000153Deformation of Soft Tissue and Force Feedback Using the Smoothed Particle Hydrodynamics
Auteurs : Xuemei Liu [République populaire de Chine] ; Ruiyi Wang [République populaire de Chine] ; Yunhua Li [République populaire de Chine] ; Dongdong Song [République populaire de Chine]Source :
- Computational and Mathematical Methods in Medicine [ 1748-670X ] ; 2015.
Abstract
We study the deformation and haptic feedback of soft tissue in virtual surgery based on a liver model by using a force feedback device named PHANTOM OMNI developed by SensAble Company in USA. Although a significant amount of research efforts have been dedicated to simulating the behaviors of soft tissue and implementing force feedback, it is still a challenging problem. This paper introduces a kind of meshfree method for deformation simulation of soft tissue and force computation based on viscoelastic mechanical model and smoothed particle hydrodynamics (SPH). Firstly, viscoelastic model can present the mechanical characteristics of soft tissue which greatly promotes the realism. Secondly, SPH has features of meshless technique and self-adaption, which supply higher precision than methods based on meshes for force feedback computation. Finally, a SPH method based on dynamic interaction area is proposed to improve the real time performance of simulation. The results reveal that SPH methodology is suitable for simulating soft tissue deformation and force feedback calculation, and SPH based on dynamic local interaction area has a higher computational efficiency significantly compared with usual SPH. Our algorithm has a bright prospect in the area of virtual surgery.
Url:
DOI: 10.1155/2015/598415
PubMed: 26417380
PubMed Central: 4568357
Links toward previous steps (curation, corpus...)
- to stream Pmc, to step Corpus: Pour aller vers cette notice dans l'étape Curation :000152
Links to Exploration step
PMC:4568357Le document en format XML
<record><TEI><teiHeader><fileDesc><titleStmt><title xml:lang="en">Deformation of Soft Tissue and Force Feedback Using the Smoothed Particle Hydrodynamics</title>
<author><name sortKey="Liu, Xuemei" sort="Liu, Xuemei" uniqKey="Liu X" first="Xuemei" last="Liu">Xuemei Liu</name>
<affiliation wicri:level="1"><nlm:aff id="I1">North China University of Water Resource and Electric Power, Zhengzhou 450011, China</nlm:aff>
<country xml:lang="fr">République populaire de Chine</country>
<wicri:regionArea>North China University of Water Resource and Electric Power, Zhengzhou 450011</wicri:regionArea>
</affiliation>
<affiliation wicri:level="1"><nlm:aff id="I2">School of Automation Science and Electrical Engineering, Beihang University, Beijing 100191, China</nlm:aff>
<country xml:lang="fr">République populaire de Chine</country>
<wicri:regionArea>School of Automation Science and Electrical Engineering, Beihang University, Beijing 100191</wicri:regionArea>
</affiliation>
</author>
<author><name sortKey="Wang, Ruiyi" sort="Wang, Ruiyi" uniqKey="Wang R" first="Ruiyi" last="Wang">Ruiyi Wang</name>
<affiliation wicri:level="1"><nlm:aff id="I1">North China University of Water Resource and Electric Power, Zhengzhou 450011, China</nlm:aff>
<country xml:lang="fr">République populaire de Chine</country>
<wicri:regionArea>North China University of Water Resource and Electric Power, Zhengzhou 450011</wicri:regionArea>
</affiliation>
<affiliation wicri:level="1"><nlm:aff id="I3">Henan Radio & Television University, Zhengzhou 450011, China</nlm:aff>
<country xml:lang="fr">République populaire de Chine</country>
<wicri:regionArea>Henan Radio & Television University, Zhengzhou 450011</wicri:regionArea>
</affiliation>
</author>
<author><name sortKey="Li, Yunhua" sort="Li, Yunhua" uniqKey="Li Y" first="Yunhua" last="Li">Yunhua Li</name>
<affiliation wicri:level="1"><nlm:aff id="I1">North China University of Water Resource and Electric Power, Zhengzhou 450011, China</nlm:aff>
<country xml:lang="fr">République populaire de Chine</country>
<wicri:regionArea>North China University of Water Resource and Electric Power, Zhengzhou 450011</wicri:regionArea>
</affiliation>
<affiliation wicri:level="1"><nlm:aff id="I2">School of Automation Science and Electrical Engineering, Beihang University, Beijing 100191, China</nlm:aff>
<country xml:lang="fr">République populaire de Chine</country>
<wicri:regionArea>School of Automation Science and Electrical Engineering, Beihang University, Beijing 100191</wicri:regionArea>
</affiliation>
</author>
<author><name sortKey="Song, Dongdong" sort="Song, Dongdong" uniqKey="Song D" first="Dongdong" last="Song">Dongdong Song</name>
<affiliation wicri:level="1"><nlm:aff id="I1">North China University of Water Resource and Electric Power, Zhengzhou 450011, China</nlm:aff>
<country xml:lang="fr">République populaire de Chine</country>
<wicri:regionArea>North China University of Water Resource and Electric Power, Zhengzhou 450011</wicri:regionArea>
</affiliation>
</author>
</titleStmt>
<publicationStmt><idno type="wicri:source">PMC</idno>
<idno type="pmid">26417380</idno>
<idno type="pmc">4568357</idno>
<idno type="url">http://www.ncbi.nlm.nih.gov/pmc/articles/PMC4568357</idno>
<idno type="RBID">PMC:4568357</idno>
<idno type="doi">10.1155/2015/598415</idno>
<date when="2015">2015</date>
<idno type="wicri:Area/Pmc/Corpus">000152</idno>
<idno type="wicri:Area/Pmc/Curation">000152</idno>
</publicationStmt>
<sourceDesc><biblStruct><analytic><title xml:lang="en" level="a" type="main">Deformation of Soft Tissue and Force Feedback Using the Smoothed Particle Hydrodynamics</title>
<author><name sortKey="Liu, Xuemei" sort="Liu, Xuemei" uniqKey="Liu X" first="Xuemei" last="Liu">Xuemei Liu</name>
<affiliation wicri:level="1"><nlm:aff id="I1">North China University of Water Resource and Electric Power, Zhengzhou 450011, China</nlm:aff>
<country xml:lang="fr">République populaire de Chine</country>
<wicri:regionArea>North China University of Water Resource and Electric Power, Zhengzhou 450011</wicri:regionArea>
</affiliation>
<affiliation wicri:level="1"><nlm:aff id="I2">School of Automation Science and Electrical Engineering, Beihang University, Beijing 100191, China</nlm:aff>
<country xml:lang="fr">République populaire de Chine</country>
<wicri:regionArea>School of Automation Science and Electrical Engineering, Beihang University, Beijing 100191</wicri:regionArea>
</affiliation>
</author>
<author><name sortKey="Wang, Ruiyi" sort="Wang, Ruiyi" uniqKey="Wang R" first="Ruiyi" last="Wang">Ruiyi Wang</name>
<affiliation wicri:level="1"><nlm:aff id="I1">North China University of Water Resource and Electric Power, Zhengzhou 450011, China</nlm:aff>
<country xml:lang="fr">République populaire de Chine</country>
<wicri:regionArea>North China University of Water Resource and Electric Power, Zhengzhou 450011</wicri:regionArea>
</affiliation>
<affiliation wicri:level="1"><nlm:aff id="I3">Henan Radio & Television University, Zhengzhou 450011, China</nlm:aff>
<country xml:lang="fr">République populaire de Chine</country>
<wicri:regionArea>Henan Radio & Television University, Zhengzhou 450011</wicri:regionArea>
</affiliation>
</author>
<author><name sortKey="Li, Yunhua" sort="Li, Yunhua" uniqKey="Li Y" first="Yunhua" last="Li">Yunhua Li</name>
<affiliation wicri:level="1"><nlm:aff id="I1">North China University of Water Resource and Electric Power, Zhengzhou 450011, China</nlm:aff>
<country xml:lang="fr">République populaire de Chine</country>
<wicri:regionArea>North China University of Water Resource and Electric Power, Zhengzhou 450011</wicri:regionArea>
</affiliation>
<affiliation wicri:level="1"><nlm:aff id="I2">School of Automation Science and Electrical Engineering, Beihang University, Beijing 100191, China</nlm:aff>
<country xml:lang="fr">République populaire de Chine</country>
<wicri:regionArea>School of Automation Science and Electrical Engineering, Beihang University, Beijing 100191</wicri:regionArea>
</affiliation>
</author>
<author><name sortKey="Song, Dongdong" sort="Song, Dongdong" uniqKey="Song D" first="Dongdong" last="Song">Dongdong Song</name>
<affiliation wicri:level="1"><nlm:aff id="I1">North China University of Water Resource and Electric Power, Zhengzhou 450011, China</nlm:aff>
<country xml:lang="fr">République populaire de Chine</country>
<wicri:regionArea>North China University of Water Resource and Electric Power, Zhengzhou 450011</wicri:regionArea>
</affiliation>
</author>
</analytic>
<series><title level="j">Computational and Mathematical Methods in Medicine</title>
<idno type="ISSN">1748-670X</idno>
<idno type="eISSN">1748-6718</idno>
<imprint><date when="2015">2015</date>
</imprint>
</series>
</biblStruct>
</sourceDesc>
</fileDesc>
<profileDesc><textClass></textClass>
</profileDesc>
</teiHeader>
<front><div type="abstract" xml:lang="en"><p>We study the deformation and haptic feedback of soft tissue in virtual surgery based on a liver model by using a force feedback device named PHANTOM OMNI developed by SensAble Company in USA. Although a significant amount of research efforts have been dedicated to simulating the behaviors of soft tissue and implementing force feedback, it is still a challenging problem. This paper introduces a kind of meshfree method for deformation simulation of soft tissue and force computation based on viscoelastic mechanical model and smoothed particle hydrodynamics (SPH). Firstly, viscoelastic model can present the mechanical characteristics of soft tissue which greatly promotes the realism. Secondly, SPH has features of meshless technique and self-adaption, which supply higher precision than methods based on meshes for force feedback computation. Finally, a SPH method based on dynamic interaction area is proposed to improve the real time performance of simulation. The results reveal that SPH methodology is suitable for simulating soft tissue deformation and force feedback calculation, and SPH based on dynamic local interaction area has a higher computational efficiency significantly compared with usual SPH. Our algorithm has a bright prospect in the area of virtual surgery.</p>
</div>
</front>
<back><div1 type="bibliography"><listBibl><biblStruct><analytic><author><name sortKey="Terzopoulos, D" uniqKey="Terzopoulos D">D. Terzopoulos</name>
</author>
<author><name sortKey="Waters, K" uniqKey="Waters K">K. Waters</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Kataoka, H" uniqKey="Kataoka H">H. Kataoka</name>
</author>
<author><name sortKey="Noda, S" uniqKey="Noda S">S. Noda</name>
</author>
<author><name sortKey="Yokota, H" uniqKey="Yokota H">H. Yokota</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Nakao, M" uniqKey="Nakao M">M. Nakao</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Marinkovic, D" uniqKey="Marinkovic D">D. Marinkovic</name>
</author>
<author><name sortKey="Zehn, M" uniqKey="Zehn M">M. Zehn</name>
</author>
<author><name sortKey="Marinkovic, Z" uniqKey="Marinkovic Z">Z. Marinkovic</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Mafi, R" uniqKey="Mafi R">R. Mafi</name>
</author>
<author><name sortKey="Sirouspour, S" uniqKey="Sirouspour S">S. Sirouspour</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Tang, X G" uniqKey="Tang X">X. G. Tang</name>
</author>
<author><name sortKey="Xiong, Y S" uniqKey="Xiong Y">Y. S. Xiong</name>
</author>
<author><name sortKey="Tan, K" uniqKey="Tan K">K. Tan</name>
</author>
<author><name sortKey="Pan, X H" uniqKey="Pan X">X. H. Pan</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Webster, R W" uniqKey="Webster R">R. W. Webster</name>
</author>
<author><name sortKey="Zimmerman, D I" uniqKey="Zimmerman D">D. I. Zimmerman</name>
</author>
<author><name sortKey="Mohler, B J" uniqKey="Mohler B">B. J. Mohler</name>
</author>
<author><name sortKey="Melkonian, M G" uniqKey="Melkonian M">M. G. Melkonian</name>
</author>
<author><name sortKey="Haluck, R S" uniqKey="Haluck R">R. S. Haluck</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Hammer, P E" uniqKey="Hammer P">P. E. Hammer</name>
</author>
<author><name sortKey="Sacks, M S" uniqKey="Sacks M">M. S. Sacks</name>
</author>
<author><name sortKey="Del Nido, P J" uniqKey="Del Nido P">P. J. del Nido</name>
</author>
<author><name sortKey="Howe, R D" uniqKey="Howe R">R. D. Howe</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Liu, X M" uniqKey="Liu X">X.-M. Liu</name>
</author>
<author><name sortKey="Wang, R Y" uniqKey="Wang R">R.-Y. Wang</name>
</author>
<author><name sortKey="Guo, S" uniqKey="Guo S">S. Guo</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="De, S" uniqKey="De S">S. De</name>
</author>
<author><name sortKey="Kim, J" uniqKey="Kim J">J. Kim</name>
</author>
<author><name sortKey="Lim, Y J" uniqKey="Lim Y">Y.-J. Lim</name>
</author>
<author><name sortKey="Srinivasan, M A" uniqKey="Srinivasan M">M. A. Srinivasan</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Jansson, J" uniqKey="Jansson J">J. Jansson</name>
</author>
<author><name sortKey="Vergeest, J S M" uniqKey="Vergeest J">J. S. M. Vergeest</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Muller, M" uniqKey="Muller M">M. Müller</name>
</author>
<author><name sortKey="Heidelberger, B" uniqKey="Heidelberger B">B. Heidelberger</name>
</author>
<author><name sortKey="Teschner, M" uniqKey="Teschner M">M. Teschner</name>
</author>
<author><name sortKey="Gross, M" uniqKey="Gross M">M. Gross</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Lucy, L B" uniqKey="Lucy L">L. B. Lucy</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Ming, F R" uniqKey="Ming F">F. R. Ming</name>
</author>
<author><name sortKey="Zhang, A M" uniqKey="Zhang A">A. M. Zhang</name>
</author>
<author><name sortKey="Cao, X Y" uniqKey="Cao X">X. Y. Cao</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Monaghan, J J" uniqKey="Monaghan J">J. J. Monaghan</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Liu, M B" uniqKey="Liu M">M. B. Liu</name>
</author>
<author><name sortKey="Liu, G R" uniqKey="Liu G">G. R. Liu</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Li, D" uniqKey="Li D">D. Li</name>
</author>
<author><name sortKey="Li, X" uniqKey="Li X">X. Li</name>
</author>
<author><name sortKey="Lin, Y" uniqKey="Lin Y">Y. Lin</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Zheng, X" uniqKey="Zheng X">X. Zheng</name>
</author>
<author><name sortKey="Duan, W Y" uniqKey="Duan W">W. Y. Duan</name>
</author>
<author><name sortKey="Ma, Q W" uniqKey="Ma Q">Q. W. Ma</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Fang, J" uniqKey="Fang J">J. Fang</name>
</author>
<author><name sortKey="Owens, R G" uniqKey="Owens R">R. G. Owens</name>
</author>
<author><name sortKey="Tacher, L" uniqKey="Tacher L">L. Tacher</name>
</author>
<author><name sortKey="Parriaux, A" uniqKey="Parriaux A">A. Parriaux</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Yang, X" uniqKey="Yang X">X. Yang</name>
</author>
<author><name sortKey="Liu, M" uniqKey="Liu M">M. Liu</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Monaghan, J J" uniqKey="Monaghan J">J. J. Monaghan</name>
</author>
<author><name sortKey="Lattanzio, J C" uniqKey="Lattanzio J">J. C. Lattanzio</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Cai, P" uniqKey="Cai P">P. Cai</name>
</author>
<author><name sortKey="Indhumathi, C" uniqKey="Indhumathi C">C. Indhumathi</name>
</author>
<author><name sortKey="Cai, Y" uniqKey="Cai Y">Y. Cai</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Yu, L" uniqKey="Yu L">L. Yu</name>
</author>
<author><name sortKey="Wang, T" uniqKey="Wang T">T. Wang</name>
</author>
<author><name sortKey="Song, H" uniqKey="Song H">H. Song</name>
</author>
<author><name sortKey="Sun, L" uniqKey="Sun L">L. Sun</name>
</author>
<author><name sortKey="Wang, Z" uniqKey="Wang Z">Z. Wang</name>
</author>
<author><name sortKey="Zhao, L" uniqKey="Zhao L">L. Zhao</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Sulaiman, H A" uniqKey="Sulaiman H">H. A. Sulaiman</name>
</author>
<author><name sortKey="Othman, M A" uniqKey="Othman M">M. A. Othman</name>
</author>
<author><name sortKey="Ismail, M M" uniqKey="Ismail M">M. M. Ismail</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Gottschalk, S" uniqKey="Gottschalk S">S. Gottschalk</name>
</author>
<author><name sortKey="Lin, M C" uniqKey="Lin M">M. C. Lin</name>
</author>
<author><name sortKey="Manocha, D" uniqKey="Manocha D">D. Manocha</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Ding, X J" uniqKey="Ding X">X. J. Ding</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Ding, F" uniqKey="Ding F">F. Ding</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Berkley, H" uniqKey="Berkley H">H. Berkley</name>
</author>
<author><name sortKey="Turkiyyah, G" uniqKey="Turkiyyah G">G. Turkiyyah</name>
</author>
<author><name sortKey="Berg, D" uniqKey="Berg D">D. Berg</name>
</author>
<author><name sortKey="Ganter, M" uniqKey="Ganter M">M. Ganter</name>
</author>
<author><name sortKey="Weghorst, S" uniqKey="Weghorst S">S. Weghorst</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="Zhou, J Z" uniqKey="Zhou J">J. Z. Zhou</name>
</author>
<author><name sortKey="Xu, X P" uniqKey="Xu X">X. P. Xu</name>
</author>
<author><name sortKey="Zhu, Z C" uniqKey="Zhu Z">Z. C. Zhu</name>
</author>
</analytic>
</biblStruct>
<biblStruct><analytic><author><name sortKey="De, S" uniqKey="De S">S. de</name>
</author>
<author><name sortKey="Kim, J" uniqKey="Kim J">J. Kim</name>
</author>
<author><name sortKey="Lim, Y J" uniqKey="Lim Y">Y. J. Lim</name>
</author>
<author><name sortKey="Srinivasan, M A" uniqKey="Srinivasan M">M. A. Srinivasan</name>
</author>
</analytic>
</biblStruct>
</listBibl>
</div1>
</back>
</TEI>
<pmc article-type="research-article"><pmc-dir>properties open_access</pmc-dir>
<front><journal-meta><journal-id journal-id-type="nlm-ta">Comput Math Methods Med</journal-id>
<journal-id journal-id-type="iso-abbrev">Comput Math Methods Med</journal-id>
<journal-id journal-id-type="publisher-id">CMMM</journal-id>
<journal-title-group><journal-title>Computational and Mathematical Methods in Medicine</journal-title>
</journal-title-group>
<issn pub-type="ppub">1748-670X</issn>
<issn pub-type="epub">1748-6718</issn>
<publisher><publisher-name>Hindawi Publishing Corporation</publisher-name>
</publisher>
</journal-meta>
<article-meta><article-id pub-id-type="pmid">26417380</article-id>
<article-id pub-id-type="pmc">4568357</article-id>
<article-id pub-id-type="doi">10.1155/2015/598415</article-id>
<article-categories><subj-group subj-group-type="heading"><subject>Research Article</subject>
</subj-group>
</article-categories>
<title-group><article-title>Deformation of Soft Tissue and Force Feedback Using the Smoothed Particle Hydrodynamics</article-title>
</title-group>
<contrib-group><contrib contrib-type="author"><name><surname>Liu</surname>
<given-names>Xuemei</given-names>
</name>
<xref ref-type="aff" rid="I1"><sup>1</sup>
</xref>
<xref ref-type="aff" rid="I2"><sup>2</sup>
</xref>
</contrib>
<contrib contrib-type="author"><name><surname>Wang</surname>
<given-names>Ruiyi</given-names>
</name>
<xref ref-type="aff" rid="I1"><sup>1</sup>
</xref>
<xref ref-type="aff" rid="I3"><sup>3</sup>
</xref>
<xref ref-type="corresp" rid="cor1"><sup>*</sup>
</xref>
</contrib>
<contrib contrib-type="author"><name><surname>Li</surname>
<given-names>Yunhua</given-names>
</name>
<xref ref-type="aff" rid="I1"><sup>1</sup>
</xref>
<xref ref-type="aff" rid="I2"><sup>2</sup>
</xref>
</contrib>
<contrib contrib-type="author"><name><surname>Song</surname>
<given-names>Dongdong</given-names>
</name>
<xref ref-type="aff" rid="I1"><sup>1</sup>
</xref>
</contrib>
</contrib-group>
<aff id="I1"><sup>1</sup>
North China University of Water Resource and Electric Power, Zhengzhou 450011, China</aff>
<aff id="I2"><sup>2</sup>
School of Automation Science and Electrical Engineering, Beihang University, Beijing 100191, China</aff>
<aff id="I3"><sup>3</sup>
Henan Radio & Television University, Zhengzhou 450011, China</aff>
<author-notes><corresp id="cor1">*Ruiyi Wang: <email>906505138@qq.com</email>
</corresp>
<fn fn-type="other"><p>Academic Editor: Spandan Maiti</p>
</fn>
</author-notes>
<pub-date pub-type="ppub"><year>2015</year>
</pub-date>
<pub-date pub-type="epub"><day>31</day>
<month>8</month>
<year>2015</year>
</pub-date>
<volume>2015</volume>
<elocation-id>598415</elocation-id>
<history><date date-type="received"><day>25</day>
<month>6</month>
<year>2014</year>
</date>
<date date-type="rev-recd"><day>18</day>
<month>10</month>
<year>2014</year>
</date>
<date date-type="accepted"><day>29</day>
<month>10</month>
<year>2014</year>
</date>
</history>
<permissions><copyright-statement>Copyright © 2015 Xuemei Liu et al.</copyright-statement>
<copyright-year>2015</copyright-year>
<license license-type="open-access"><license-p>This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
</license>
</permissions>
<abstract><p>We study the deformation and haptic feedback of soft tissue in virtual surgery based on a liver model by using a force feedback device named PHANTOM OMNI developed by SensAble Company in USA. Although a significant amount of research efforts have been dedicated to simulating the behaviors of soft tissue and implementing force feedback, it is still a challenging problem. This paper introduces a kind of meshfree method for deformation simulation of soft tissue and force computation based on viscoelastic mechanical model and smoothed particle hydrodynamics (SPH). Firstly, viscoelastic model can present the mechanical characteristics of soft tissue which greatly promotes the realism. Secondly, SPH has features of meshless technique and self-adaption, which supply higher precision than methods based on meshes for force feedback computation. Finally, a SPH method based on dynamic interaction area is proposed to improve the real time performance of simulation. The results reveal that SPH methodology is suitable for simulating soft tissue deformation and force feedback calculation, and SPH based on dynamic local interaction area has a higher computational efficiency significantly compared with usual SPH. Our algorithm has a bright prospect in the area of virtual surgery.</p>
</abstract>
</article-meta>
</front>
<body><sec id="sec1"><title>1. Introduction</title>
<p>Virtual surgery simulation is an important application of virtual reality aiming at establishing vivid virtual surgery environment with all kinds of medical image data so that doctors and trainees can make use of it to do surgical trainings.</p>
<p>Traditionally, the animal model and corpses are considered the most common training model. However, the animal model has fundamental differences in anatomy and tissue consistency compared to human tissue, and the corpses are expensive and cannot be reused. Therefore, it is difficult to reach a proficient skill level for surgeons.</p>
<p>This calls for a more innovative training system for surgical residents. Virtual surgery simulation system can meet it. In such a system, the surgeons would be able to interact with the virtual three-dimensional models of organs using their sense of vision and touch.</p>
<p>In virtual surgery simulation, the deformation model of soft tissue is the decisive factor of visual effect and accuracy of force feedback and has been widely studied in the computer graphics and computer aided design communities [<xref rid="B1" ref-type="bibr">1</xref>
]. Currently there are two most widely used physical models of soft tissue. One is Finite Element Models (FEM) [<xref rid="B1" ref-type="bibr">1</xref>
–<xref rid="B5" ref-type="bibr">5</xref>
] and the other one is Mass-Spring (M-S) Models [<xref rid="B6" ref-type="bibr">6</xref>
–<xref rid="B9" ref-type="bibr">9</xref>
].</p>
<p>A major advantage of FEM is that it uses continuum mechanics and has a solid mathematical foundation. Another advantage is that FEM requires only a few material parameters to describe a physical system's response. However, there are main issues existing in this approach, the first one is the heavy computational load which cannot ensure real-time and the second one is the impact of cutting on the precomputed response. Compared with FEM, M-S does not need parameters of the continuum, so it is easier to implement and handle topological changes at a reduced computational cost. The computation is specifically efficient. However, mass-spring systems are not necessarily accurate which are not built upon elasticity theory. Primarily, most of such systems are not convergent; next, the parameters of every mass and spring in this model cannot be obtained in the measurement but can often be chosen arbitrarily. Therefore, M-S has low precision and poor stability. The common methods such as M-S and FEM are all built on meshes. Malformation and distortion could arise and they cannot ideally satisfy the needs of real-time virtual surgery simulation and the interaction and attachment between surgery tools and soft tissue must have effect on some specific points when using methods built on meshes. Moreover, we must remesh frequently because of topology changes in cutting and suturing simulations, which leads to expensive computation and bad haptic performance.</p>
<p>In order to overcome these problems, certain meshes should be avoid being used. De et al. [<xref rid="B10" ref-type="bibr">10</xref>
] developed a point collocation-based method of finite spheres technique to simulate the interaction of surgical tool and soft tissue. Jansson and Vergeest [<xref rid="B11" ref-type="bibr">11</xref>
] developed a discrete mechanics model for deformation bodies, incorporating behavior such as motion, collision, and deformation. Müller et al. [<xref rid="B12" ref-type="bibr">12</xref>
] developed a shape matching method for meshless deformations. The meshfree technique is no mesh dependence, strongly self-adaptive, and smoothly continuous. Moreover, it can describe continuum biomechanical characteristics of soft tissue. Meshless method has a broad application prospect in the virtual surgery simulation.</p>
<p>In this paper, we present an application of smoothed particle hydrodynamics (SPH) method to simulate the interaction between virtual surgical tool and soft tissue which is a meshfree technique. In SPH the continuum properties are discredited on smooth particles, the stress-strain governing equations are formulated in a Lagrange frame, and the derivatives are computed by taking the derivatives of the particle kernels. The SPH method can deal with large deformation and be capable of resolving problems with large deformations for both solids and fluids.</p>
<p>In <xref ref-type="sec" rid="sec2">Section 2</xref>
, we introduce the viscoelastic model used in this paper. In <xref ref-type="sec" rid="sec3">Section 3</xref>
, we provide a brief introduction to the SPH method. In <xref ref-type="sec" rid="sec4">Section 4</xref>
, we develop a SPH method based on dynamic local interaction area of performing real time deformation. Finally, in <xref ref-type="sec" rid="sec5">Section 5</xref>
simulation results are presented.</p>
</sec>
<sec id="sec2"><title>2. Voigt Viscoelastic Model</title>
<p>The virtual surgery simulation focuses on requirement of (1) reality; (2) real time performance; (3) performance of quantitative deformation; (4) easy calculation for generating the values for force feedback. Requirement (1) depends on the accuracy of the underlying biomechanics models. According to biomechanics literature [<xref rid="B9" ref-type="bibr">9</xref>
], soft biological tissues exhibit complex viscoelastic in nature. Currently, most of the existing deformation methods are built on an elastic mechanical model, which cannot describe the deformation behavior of soft tissue precisely.</p>
<p>Here, we simulate the biological tissue as a linear viscoelastic solid and use Voigt model to establish the relationship between stress and strain. According to Voigt model, stress tensor of isotropy material can be divided into spherical tensor and deviator tensor, and strain tensor can be divided into volume deformation and distortion of same volume:<disp-formula id="EEq1"><label>(1)</label>
<mml:math id="M1"><mml:mtable><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>σ</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>α</mml:mi>
<mml:mi>β</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub><mml:mrow><mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>α</mml:mi>
<mml:mi>β</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi>δ</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>α</mml:mi>
<mml:mi>β</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub><mml:mrow><mml:mi>σ</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>k</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">3</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
<disp-formula id="EEq2"><label>(2)</label>
<mml:math id="EEq2EAAA1CECA"><mml:mtable><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>ε</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>α</mml:mi>
<mml:mi>β</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub><mml:mrow><mml:mi>e</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>α</mml:mi>
<mml:mi>β</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi>δ</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>α</mml:mi>
<mml:mi>β</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub><mml:mrow><mml:mi>ε</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>k</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">3</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
where <italic>α</italic>
, <italic>β</italic>
= <italic>x</italic>
, <italic>y</italic>
, <italic>z</italic>
, <italic>S</italic>
<sub><italic>αβ</italic>
</sub>
, <italic>σ</italic>
<sub><italic>kk</italic>
</sub>
are the components of the partial stress tensor and spherical stress tensors, respectively, <italic>e</italic>
<sub><italic>αβ</italic>
</sub>
, <italic>ε</italic>
<sub><italic>kk</italic>
</sub>
are the components of the partial strain tensor and spherical strain tensors, respectively, and <italic>δ</italic>
<sub><italic>αβ</italic>
</sub>
is the Kronecker symbol.</p>
<p>According to Voigt model, 3D viscoelastic constitutive equations can be described as follows:<disp-formula id="EEq3"><label>(3)</label>
<mml:math id="M2"><mml:mtable><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>α</mml:mi>
<mml:mi>β</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi>E</mml:mi>
<mml:mo>·</mml:mo>
<mml:msub><mml:mrow><mml:mi>e</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>α</mml:mi>
<mml:mi>β</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>η</mml:mi>
<mml:mo>·</mml:mo>
<mml:mfrac><mml:mrow><mml:mi>d</mml:mi>
<mml:msub><mml:mrow><mml:mi>e</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>α</mml:mi>
<mml:mi>β</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow><mml:mi>d</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>σ</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>k</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi>E</mml:mi>
<mml:mo>·</mml:mo>
<mml:msub><mml:mrow><mml:mi>ε</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>k</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>η</mml:mi>
<mml:mo>·</mml:mo>
<mml:mfrac><mml:mrow><mml:mi>d</mml:mi>
<mml:msub><mml:mrow><mml:mi>ε</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>k</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow><mml:mi>d</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
</p>
<p>Then we establish strain-displacement geometric equation as follows:<disp-formula id="EEq4"><label>(4)</label>
<mml:math id="M3"><mml:mtable><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>ε</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>x</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac><mml:mrow><mml:mo>∂</mml:mo>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mrow><mml:mo>∂</mml:mo>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:msub><mml:mrow><mml:mi>ε</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>x</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac><mml:mrow><mml:mo>∂</mml:mo>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mrow><mml:mo>∂</mml:mo>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>+</mml:mo>
<mml:mfrac><mml:mrow><mml:mo>∂</mml:mo>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mrow><mml:mo>∂</mml:mo>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>ε</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>y</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac><mml:mrow><mml:mo>∂</mml:mo>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mrow><mml:mo>∂</mml:mo>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:msub><mml:mrow><mml:mi>ε</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>y</mml:mi>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac><mml:mrow><mml:mo>∂</mml:mo>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mrow><mml:mo>∂</mml:mo>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>+</mml:mo>
<mml:mfrac><mml:mrow><mml:mo>∂</mml:mo>
<mml:mi>w</mml:mi>
</mml:mrow>
<mml:mrow><mml:mo>∂</mml:mo>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>ε</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>z</mml:mi>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac><mml:mrow><mml:mo>∂</mml:mo>
<mml:mi>w</mml:mi>
</mml:mrow>
<mml:mrow><mml:mo>∂</mml:mo>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:msub><mml:mrow><mml:mi>ε</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>z</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac><mml:mrow><mml:mo>∂</mml:mo>
<mml:mi>w</mml:mi>
</mml:mrow>
<mml:mrow><mml:mo>∂</mml:mo>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>+</mml:mo>
<mml:mfrac><mml:mrow><mml:mo>∂</mml:mo>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mrow><mml:mo>∂</mml:mo>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
where <italic>u</italic>
, <italic>v</italic>
, <italic>w</italic>
are the components of displacement along the coordinate axis, <italic>ε</italic>
<sub><italic>xx</italic>
</sub>
, <italic>ε</italic>
<sub><italic>yy</italic>
</sub>
, <italic>ε</italic>
<sub><italic>zz</italic>
</sub>
are the components of normal strain, and <italic>ε</italic>
<sub><italic>xy</italic>
</sub>
, <italic>ε</italic>
<sub><italic>yz</italic>
</sub>
, <italic>ε</italic>
<sub><italic>zx</italic>
</sub>
are the components of shear strain.</p>
</sec>
<sec id="sec3"><title>3. The Basic Theory of SPH</title>
<sec id="sec3.1"><title>3.1. SPH Formulation</title>
<p>SPH method was firstly put forward by Lucy [<xref rid="B13" ref-type="bibr">13</xref>
]. It is featured by Lagrangian and particle properties, fully meshless and explicit in coping with those trouble-making nonlinear problems [<xref rid="B14" ref-type="bibr">14</xref>
]. SPH has been applied to model a wide range of problems [<xref rid="B15" ref-type="bibr">15</xref>
, <xref rid="B16" ref-type="bibr">16</xref>
] such as free surface flows [<xref rid="B17" ref-type="bibr">17</xref>
, <xref rid="B18" ref-type="bibr">18</xref>
], viscous flows [<xref rid="B19" ref-type="bibr">19</xref>
], and multiphase flows [<xref rid="B20" ref-type="bibr">20</xref>
].</p>
<p>At the heart of the SPH method is an interpolation technique for evaluating arbitrary field functions. To illustrate this, consider a field function <italic>f</italic>
(<italic>x</italic>
) in an unbounded domain. The value of the function at a point <italic>x</italic>
can be obtained by a convolution with the Dirac delta distribution function <italic>δ</italic>
:<disp-formula id="EEq5"><label>(5)</label>
<mml:math id="M4"><mml:mtable><mml:mtr><mml:mtd><mml:mi>f</mml:mi>
<mml:mfenced separators="|"><mml:mrow><mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>=</mml:mo>
<mml:mrow><mml:munderover><mml:mstyle displaystyle="true"><mml:mo stretchy="false">∫</mml:mo>
</mml:mstyle>
<mml:mrow><mml:mi>Ω</mml:mi>
</mml:mrow>
<mml:mrow></mml:mrow>
</mml:munderover>
<mml:mrow><mml:mi>f</mml:mi>
<mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mi>y</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mi>δ</mml:mi>
<mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mi>x</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mi>d</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
</p>
<p>Dirac delta function <italic>δ</italic>
has the following property:<disp-formula id="EEq6"><label>(6)</label>
<mml:math id="M5"><mml:mtable><mml:mtr><mml:mtd><mml:mi>δ</mml:mi>
<mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mi>x</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>=</mml:mo>
<mml:mfenced open="{" close="" separators="|"><mml:mrow><mml:mtable><mml:mtr><mml:mtd columnalign="left"><mml:mn mathvariant="normal">1</mml:mn>
<mml:mo>,</mml:mo>
</mml:mtd>
<mml:mtd columnalign="left"><mml:mi>x</mml:mi>
<mml:mo>=</mml:mo>
<mml:mi>y</mml:mi>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd columnalign="left"><mml:mn mathvariant="normal">0</mml:mn>
<mml:mo>,</mml:mo>
</mml:mtd>
<mml:mtd columnalign="left"><mml:mi>x</mml:mi>
<mml:mo>≠</mml:mo>
<mml:mi>y</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
</p>
<p>In SPH, the singular Dirac delta function is approximated by a smooth kernel function <italic>W</italic>
to yield an approximation. The classical SPH method employs a finite number of particles to discretize the continuum. Each particle located at the position vector <italic>x</italic>
carries field variables such as mass and density and moves with the material velocity. Therefore, (<xref ref-type="disp-formula" rid="EEq5">5</xref>
) can be transformed to the superposition sum of discretization form of all particles support in the domain:<disp-formula id="EEq7"><label>(7)</label>
<mml:math id="M6"><mml:mtable><mml:mtr><mml:mtd><mml:mi>f</mml:mi>
<mml:mfenced separators="|"><mml:mrow><mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>=</mml:mo>
<mml:mrow><mml:munderover><mml:mstyle displaystyle="true"><mml:mo stretchy="false">∑</mml:mo>
</mml:mstyle>
<mml:mrow><mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn mathvariant="normal">1</mml:mn>
</mml:mrow>
<mml:mrow><mml:mi>N</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:mrow><mml:msub><mml:mrow><mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfrac><mml:mrow><mml:mi>f</mml:mi>
<mml:mfenced separators="|"><mml:mrow><mml:mi>y</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow><mml:msub><mml:mrow><mml:mi>ρ</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mi>W</mml:mi>
<mml:mfenced separators="|"><mml:mrow><mml:mi>x</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi>y</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
where <italic>m</italic>
<sub><italic>j</italic>
</sub>
, <italic>ρ</italic>
<sub><italic>j</italic>
</sub>
, <italic>y</italic>
are the mass, density, and position of particle <italic>j</italic>
, respectively, and <italic>h</italic>
is the smoothing length.</p>
<p>Correspondingly, the derivative of function <italic>f</italic>
(<italic>x</italic>
) can be introduced in the following form:<disp-formula id="EEq8"><label>(8)</label>
<mml:math id="M7"><mml:mtable><mml:mtr><mml:mtd><mml:mo>∇</mml:mo>
<mml:mi>f</mml:mi>
<mml:mfenced separators="|"><mml:mrow><mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>=</mml:mo>
<mml:mo>−</mml:mo>
<mml:mrow><mml:munderover><mml:mstyle displaystyle="true"><mml:mo stretchy="false">∑</mml:mo>
</mml:mstyle>
<mml:mrow><mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn mathvariant="normal">1</mml:mn>
</mml:mrow>
<mml:mrow><mml:mi>N</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:mrow><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow><mml:msub><mml:mrow><mml:mi>ρ</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mrow>
<mml:mi>f</mml:mi>
<mml:mfenced separators="|"><mml:mrow><mml:mi>y</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>·</mml:mo>
<mml:mo>∇</mml:mo>
<mml:mi>W</mml:mi>
<mml:mfenced separators="|"><mml:mrow><mml:mi>x</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi>y</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mi>d</mml:mi>
<mml:mi>y</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
</p>
<p>Smooth kernel function strongly affects the stability and accuracy of SPH and plays a very important role. In this paper, the kernel function used in the present investigation is the most widely used cubic spline function [<xref rid="B21" ref-type="bibr">21</xref>
]:<disp-formula id="EEq9"><label>(9)</label>
<mml:math id="M8"><mml:mtable><mml:mtr><mml:mtd><mml:mi>W</mml:mi>
<mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mi>R</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>=</mml:mo>
<mml:mfrac><mml:mrow><mml:mn mathvariant="normal">3</mml:mn>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">2</mml:mn>
<mml:mi>π</mml:mi>
<mml:msup><mml:mrow><mml:mi>h</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">3</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfrac>
<mml:mo>×</mml:mo>
<mml:mfenced open="{" close="" separators="|"><mml:mrow><mml:mtable><mml:mtr><mml:mtd columnalign="left"><mml:mfrac><mml:mrow><mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">3</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:mo>−</mml:mo>
<mml:msup><mml:mrow><mml:mi>R</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>+</mml:mo>
<mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mfrac><mml:mrow><mml:mn mathvariant="normal">1</mml:mn>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
<mml:msup><mml:mrow><mml:mi>R</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">3</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
</mml:mtd>
<mml:mtd columnalign="left"><mml:mn mathvariant="normal">0</mml:mn>
<mml:mo>≤</mml:mo>
<mml:mi>R</mml:mi>
<mml:mo><</mml:mo>
<mml:mn mathvariant="normal">1</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd columnalign="left"><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mfrac><mml:mrow><mml:mn mathvariant="normal">1</mml:mn>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">6</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
<mml:msup><mml:mrow><mml:mfenced separators="|"><mml:mrow><mml:mn mathvariant="normal">2</mml:mn>
<mml:mo>−</mml:mo>
<mml:mi>R</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">3</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
</mml:mtd>
<mml:mtd columnalign="left"><mml:mn mathvariant="normal">1</mml:mn>
<mml:mo>≤</mml:mo>
<mml:mi>R</mml:mi>
<mml:mo><</mml:mo>
<mml:mn mathvariant="normal">2</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd columnalign="left"><mml:mn mathvariant="normal">0</mml:mn>
<mml:mo>,</mml:mo>
</mml:mtd>
<mml:mtd columnalign="left"><mml:mi>R</mml:mi>
<mml:mo>≥</mml:mo>
<mml:mn mathvariant="normal">2</mml:mn>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
where <italic>R</italic>
denotes the relative distance between the <italic>i</italic>
th and the <italic>j</italic>
th particle at the position of <italic>x</italic>
<sub><italic>i</italic>
</sub>
, <italic>x</italic>
<sub><italic>j</italic>
</sub>
, <italic>R</italic>
= <italic>r</italic>
/<italic>h</italic>
= |<italic>x</italic>
<sub><italic>i</italic>
</sub>
− <italic>x</italic>
<sub><italic>j</italic>
</sub>
|/<italic>h</italic>
, <italic>r</italic>
is the distance of two particles, and <italic>h</italic>
is the smoothing length. The derivative of the kernel function is as follow:<disp-formula id="EEq10"><label>(10)</label>
<mml:math id="M9"><mml:mtable><mml:mtr><mml:mtd><mml:mfrac><mml:mrow><mml:mo>∂</mml:mo>
<mml:msub><mml:mrow><mml:mi>W</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow><mml:mo>∂</mml:mo>
<mml:msup><mml:mrow><mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>β</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfrac>
<mml:mo>=</mml:mo>
<mml:mfrac><mml:mrow><mml:msubsup><mml:mrow><mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>β</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>−</mml:mo>
<mml:msubsup><mml:mrow><mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>β</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mrow><mml:mi>u</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>·</mml:mo>
<mml:mfrac><mml:mrow><mml:mn mathvariant="normal">1</mml:mn>
</mml:mrow>
<mml:mrow><mml:mi>π</mml:mi>
<mml:msup><mml:mrow><mml:mi>h</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">4</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfrac>
<mml:mo>×</mml:mo>
<mml:mfenced open="{" close="" separators="|"><mml:mrow><mml:mtable><mml:mtr><mml:mtd columnalign="left"><mml:mo>−</mml:mo>
<mml:mn mathvariant="normal">3</mml:mn>
<mml:mi>R</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn mathvariant="normal">1.25</mml:mn>
<mml:msup><mml:mrow><mml:mi>R</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
</mml:mtd>
<mml:mtd columnalign="left"><mml:mn mathvariant="normal">0</mml:mn>
<mml:mo>≤</mml:mo>
<mml:mi>R</mml:mi>
<mml:mo><</mml:mo>
<mml:mn mathvariant="normal">1</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd columnalign="left"><mml:mo>−</mml:mo>
<mml:mn mathvariant="normal">0.75</mml:mn>
<mml:msup><mml:mrow><mml:mfenced separators="|"><mml:mrow><mml:mn mathvariant="normal">2</mml:mn>
<mml:mo>−</mml:mo>
<mml:mi>R</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
</mml:mtd>
<mml:mtd columnalign="left"><mml:mn mathvariant="normal">1</mml:mn>
<mml:mo>≤</mml:mo>
<mml:mi>R</mml:mi>
<mml:mo><</mml:mo>
<mml:mn mathvariant="normal">2</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd columnalign="left"><mml:mn mathvariant="normal">0</mml:mn>
<mml:mo>,</mml:mo>
</mml:mtd>
<mml:mtd columnalign="left"><mml:mi>R</mml:mi>
<mml:mo>≥</mml:mo>
<mml:mn mathvariant="normal">2</mml:mn>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
</p>
</sec>
<sec id="sec3.2"><title>3.2. Search for the Neighbor Particles</title>
<p>In order to make the experiment simpler, we set the smoothing length in this paper be a constant, so using the chain table search method is very effective. The basic idea is laying a temporary grid in the problem domain, as shown in <xref ref-type="fig" rid="fig1">Figure 1</xref>
; the grid cell size is consistent with the size of support domain spatial, when searching particles, for a given particle <italic>i</italic>
, the neighbor particle only in the same grid or closely neighbor grid. This search method limited the search scope to around the center grid cell so that time is short and search efficiency is high.</p>
</sec>
<sec id="sec3.3"><title>3.3. Momentum Equation of SPH</title>
<p>In SPH, movement of particles follows the law of conservation of momentum, and any particle conforms to the momentum equation as follows:<disp-formula id="EEq11"><label>(11)</label>
<mml:math id="M10"><mml:mtable><mml:mtr><mml:mtd><mml:mfrac><mml:mrow><mml:mi>d</mml:mi>
<mml:msup><mml:mrow><mml:mi>v</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>α</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mrow><mml:mi>d</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>=</mml:mo>
<mml:mfrac><mml:mrow><mml:mn mathvariant="normal">1</mml:mn>
</mml:mrow>
<mml:mrow><mml:mi>ρ</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mfrac><mml:mrow><mml:mo>∂</mml:mo>
<mml:msup><mml:mrow><mml:mi>σ</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>α</mml:mi>
<mml:mi>β</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mrow><mml:mo>∂</mml:mo>
<mml:msup><mml:mrow><mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>β</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
where <italic>v</italic>
is the velocity vector, <italic>t</italic>
is time, <italic>ρ</italic>
is the density of particle, <italic>σ</italic>
is stress of particle, and <italic>x</italic>
is coordinate vector.</p>
<p>Equation (<xref ref-type="disp-formula" rid="EEq11">11</xref>
) can be transformed as follows using particle approximation method:<disp-formula id="EEq12"><label>(12)</label>
<mml:math id="M11"><mml:mtable><mml:mtr><mml:mtd><mml:mfrac><mml:mrow><mml:mi>d</mml:mi>
<mml:msubsup><mml:mrow><mml:mi>v</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>α</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mrow><mml:mi>d</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>=</mml:mo>
<mml:mrow><mml:munderover><mml:mstyle displaystyle="true"><mml:mo stretchy="false">∑</mml:mo>
</mml:mstyle>
<mml:mrow><mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn mathvariant="normal">1</mml:mn>
</mml:mrow>
<mml:mrow><mml:mi>N</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:mrow><mml:msub><mml:mrow><mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mrow>
<mml:mfrac><mml:mrow><mml:msubsup><mml:mrow><mml:mi>σ</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>α</mml:mi>
<mml:mi>β</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msubsup><mml:mrow><mml:mi>σ</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>α</mml:mi>
<mml:mi>β</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mrow><mml:msub><mml:mrow><mml:mi>ρ</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub><mml:mrow><mml:mi>ρ</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mfrac><mml:mrow><mml:mo>∂</mml:mo>
<mml:msub><mml:mrow><mml:mi>W</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow><mml:mo>∂</mml:mo>
<mml:msubsup><mml:mrow><mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>β</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
</p>
<p>Consider the following equation:<disp-formula id="EEq13"><label>(13)</label>
<mml:math id="M12"><mml:mtable><mml:mtr><mml:mtd><mml:mfrac><mml:mrow><mml:mn mathvariant="normal">1</mml:mn>
</mml:mrow>
<mml:mrow><mml:mi>ρ</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mfrac><mml:mrow><mml:mo>∂</mml:mo>
<mml:msup><mml:mrow><mml:mi>σ</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>α</mml:mi>
<mml:mi>β</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mrow><mml:mo>∂</mml:mo>
<mml:msup><mml:mrow><mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>β</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfrac>
<mml:mo>=</mml:mo>
<mml:mfrac><mml:mrow><mml:mo>∂</mml:mo>
</mml:mrow>
<mml:mrow><mml:mo>∂</mml:mo>
<mml:msup><mml:mrow><mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>β</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfrac>
<mml:mfenced separators="|"><mml:mrow><mml:mfrac><mml:mrow><mml:msup><mml:mrow><mml:mi>σ</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>α</mml:mi>
<mml:mi>β</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mrow><mml:mi>ρ</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
<mml:mo>+</mml:mo>
<mml:mfrac><mml:mrow><mml:msup><mml:mrow><mml:mi>σ</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>α</mml:mi>
<mml:mi>β</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mrow><mml:msup><mml:mrow><mml:mi>ρ</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfrac>
<mml:mfrac><mml:mrow><mml:mo>∂</mml:mo>
<mml:mi>ρ</mml:mi>
</mml:mrow>
<mml:mrow><mml:mo>∂</mml:mo>
<mml:msup><mml:mrow><mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>β</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfrac>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
</p>
<p>Then (<xref ref-type="disp-formula" rid="EEq12">12</xref>
) can be written as<disp-formula id="EEq14"><label>(14)</label>
<mml:math id="M13"><mml:mtable><mml:mtr><mml:mtd><mml:mfrac><mml:mrow><mml:mi>d</mml:mi>
<mml:msubsup><mml:mrow><mml:mi>v</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>α</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mrow><mml:mi>d</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>=</mml:mo>
<mml:mrow><mml:munderover><mml:mstyle displaystyle="true"><mml:mo stretchy="false">∑</mml:mo>
</mml:mstyle>
<mml:mrow><mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn mathvariant="normal">1</mml:mn>
</mml:mrow>
<mml:mrow><mml:mi>N</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:mrow><mml:msub><mml:mrow><mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced separators="|"><mml:mrow><mml:mfrac><mml:mrow><mml:msubsup><mml:mrow><mml:mi>σ</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>α</mml:mi>
<mml:mi>β</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mrow><mml:msubsup><mml:mrow><mml:mi>ρ</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
<mml:mo>+</mml:mo>
<mml:mfrac><mml:mrow><mml:msubsup><mml:mrow><mml:mi>σ</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>α</mml:mi>
<mml:mi>β</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mrow><mml:msubsup><mml:mrow><mml:mi>ρ</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mfrac><mml:mrow><mml:mo>∂</mml:mo>
<mml:msub><mml:mrow><mml:mi>W</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow><mml:mo>∂</mml:mo>
<mml:msubsup><mml:mrow><mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>β</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
</p>
<p>Here, the density of each particle can be computed as<disp-formula id="EEq15"><label>(15)</label>
<mml:math id="M14"><mml:mtable><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>ρ</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow><mml:munderover><mml:mstyle displaystyle="true"><mml:mo stretchy="false">∑</mml:mo>
</mml:mstyle>
<mml:mrow><mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn mathvariant="normal">1</mml:mn>
</mml:mrow>
<mml:mrow><mml:mi>N</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:mrow><mml:msub><mml:mrow><mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub><mml:mrow><mml:mi>W</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
</p>
<p>Finally, we convert (<xref ref-type="disp-formula" rid="EEq4">4</xref>
) with SPH:<disp-formula id="EEq16"><label>(16)</label>
<mml:math id="M15"><mml:mtable><mml:mtr><mml:mtd><mml:msubsup><mml:mrow><mml:mi>ε</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>x</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mfrac><mml:mrow><mml:mo>∂</mml:mo>
<mml:msub><mml:mrow><mml:mi>u</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow><mml:mo>∂</mml:mo>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>=</mml:mo>
<mml:mrow><mml:munderover><mml:mstyle displaystyle="true"><mml:mo stretchy="false">∑</mml:mo>
</mml:mstyle>
<mml:mrow><mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn mathvariant="normal">1</mml:mn>
</mml:mrow>
<mml:mrow><mml:mi>N</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:mrow><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow><mml:msub><mml:mrow><mml:mi>ρ</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mrow>
<mml:mo>·</mml:mo>
<mml:msub><mml:mrow><mml:mi>u</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:mfrac><mml:mrow><mml:mo>∂</mml:mo>
<mml:msub><mml:mrow><mml:mi>W</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow><mml:mo>∂</mml:mo>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:msubsup><mml:mrow><mml:mi>ε</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>y</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mfrac><mml:mrow><mml:mo>∂</mml:mo>
<mml:msub><mml:mrow><mml:mi>v</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow><mml:mo>∂</mml:mo>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>=</mml:mo>
<mml:mrow><mml:munderover><mml:mstyle displaystyle="true"><mml:mo stretchy="false">∑</mml:mo>
</mml:mstyle>
<mml:mrow><mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn mathvariant="normal">1</mml:mn>
</mml:mrow>
<mml:mrow><mml:mi>N</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:mrow><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow><mml:msub><mml:mrow><mml:mi>ρ</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mrow>
<mml:mo>·</mml:mo>
<mml:msub><mml:mrow><mml:mi>v</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:mfrac><mml:mrow><mml:mo>∂</mml:mo>
<mml:msub><mml:mrow><mml:mi>W</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow><mml:mo>∂</mml:mo>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:msubsup><mml:mrow><mml:mi>ε</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>z</mml:mi>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mfrac><mml:mrow><mml:mo>∂</mml:mo>
<mml:msub><mml:mrow><mml:mi>w</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow><mml:mo>∂</mml:mo>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>=</mml:mo>
<mml:mrow><mml:munderover><mml:mstyle displaystyle="true"><mml:mo stretchy="false">∑</mml:mo>
</mml:mstyle>
<mml:mrow><mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn mathvariant="normal">1</mml:mn>
</mml:mrow>
<mml:mrow><mml:mi>N</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:mrow><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow><mml:msub><mml:mrow><mml:mi>ρ</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mrow>
<mml:mo>·</mml:mo>
<mml:msub><mml:mrow><mml:mi>w</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:mfrac><mml:mrow><mml:mo>∂</mml:mo>
<mml:msub><mml:mrow><mml:mi>W</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow><mml:mo>∂</mml:mo>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:msubsup><mml:mrow><mml:mi>ε</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>x</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mfrac><mml:mrow><mml:mo>∂</mml:mo>
<mml:msub><mml:mrow><mml:mi>u</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow><mml:mo>∂</mml:mo>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>+</mml:mo>
<mml:mfrac><mml:mrow><mml:mo>∂</mml:mo>
<mml:msub><mml:mrow><mml:mi>v</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow><mml:mo>∂</mml:mo>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>=</mml:mo>
<mml:mrow><mml:munderover><mml:mstyle displaystyle="true"><mml:mo stretchy="false">∑</mml:mo>
</mml:mstyle>
<mml:mrow><mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn mathvariant="normal">1</mml:mn>
</mml:mrow>
<mml:mrow><mml:mi>N</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:mrow><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow><mml:msub><mml:mrow><mml:mi>ρ</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mrow>
<mml:mo>·</mml:mo>
<mml:msub><mml:mrow><mml:mi>u</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:mfrac><mml:mrow><mml:mo>∂</mml:mo>
<mml:msub><mml:mrow><mml:mi>W</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow><mml:mo>∂</mml:mo>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>+</mml:mo>
<mml:mrow><mml:munderover><mml:mstyle displaystyle="true"><mml:mo stretchy="false">∑</mml:mo>
</mml:mstyle>
<mml:mrow><mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn mathvariant="normal">1</mml:mn>
</mml:mrow>
<mml:mrow><mml:mi>N</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:mrow><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow><mml:msub><mml:mrow><mml:mi>ρ</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mrow>
<mml:mo>·</mml:mo>
<mml:msub><mml:mrow><mml:mi>v</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:mfrac><mml:mrow><mml:mo>∂</mml:mo>
<mml:msub><mml:mrow><mml:mi>W</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow><mml:mo>∂</mml:mo>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:msubsup><mml:mrow><mml:mi>ε</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>y</mml:mi>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mfrac><mml:mrow><mml:mo>∂</mml:mo>
<mml:msub><mml:mrow><mml:mi>v</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow><mml:mo>∂</mml:mo>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>+</mml:mo>
<mml:mfrac><mml:mrow><mml:mo>∂</mml:mo>
<mml:msub><mml:mrow><mml:mi>w</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow><mml:mo>∂</mml:mo>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>=</mml:mo>
<mml:mrow><mml:munderover><mml:mstyle displaystyle="true"><mml:mo stretchy="false">∑</mml:mo>
</mml:mstyle>
<mml:mrow><mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn mathvariant="normal">1</mml:mn>
</mml:mrow>
<mml:mrow><mml:mi>N</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:mrow><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow><mml:msub><mml:mrow><mml:mi>ρ</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mrow>
<mml:mo>·</mml:mo>
<mml:msub><mml:mrow><mml:mi>v</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:mfrac><mml:mrow><mml:mo>∂</mml:mo>
<mml:msub><mml:mrow><mml:mi>W</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow><mml:mo>∂</mml:mo>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>+</mml:mo>
<mml:mrow><mml:munderover><mml:mstyle displaystyle="true"><mml:mo stretchy="false">∑</mml:mo>
</mml:mstyle>
<mml:mrow><mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn mathvariant="normal">1</mml:mn>
</mml:mrow>
<mml:mrow><mml:mi>N</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:mrow><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow><mml:msub><mml:mrow><mml:mi>ρ</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mrow>
<mml:mo>·</mml:mo>
<mml:msub><mml:mrow><mml:mi>w</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:mfrac><mml:mrow><mml:mo>∂</mml:mo>
<mml:msub><mml:mrow><mml:mi>W</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow><mml:mo>∂</mml:mo>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:msubsup><mml:mrow><mml:mi>ε</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>z</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mfrac><mml:mrow><mml:mo>∂</mml:mo>
<mml:msub><mml:mrow><mml:mi>w</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow><mml:mo>∂</mml:mo>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>+</mml:mo>
<mml:mfrac><mml:mrow><mml:mo>∂</mml:mo>
<mml:msub><mml:mrow><mml:mi>u</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow><mml:mo>∂</mml:mo>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>=</mml:mo>
<mml:mrow><mml:munderover><mml:mstyle displaystyle="true"><mml:mo stretchy="false">∑</mml:mo>
</mml:mstyle>
<mml:mrow><mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn mathvariant="normal">1</mml:mn>
</mml:mrow>
<mml:mrow><mml:mi>N</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:mrow><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow><mml:msub><mml:mrow><mml:mi>ρ</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mrow>
<mml:mo>·</mml:mo>
<mml:msub><mml:mrow><mml:mi>w</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:mfrac><mml:mrow><mml:mo>∂</mml:mo>
<mml:msub><mml:mrow><mml:mi>W</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow><mml:mo>∂</mml:mo>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>+</mml:mo>
<mml:mrow><mml:munderover><mml:mstyle displaystyle="true"><mml:mo stretchy="false">∑</mml:mo>
</mml:mstyle>
<mml:mrow><mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn mathvariant="normal">1</mml:mn>
</mml:mrow>
<mml:mrow><mml:mi>N</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:mrow><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow><mml:msub><mml:mrow><mml:mi>ρ</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mrow>
<mml:mo>·</mml:mo>
<mml:msub><mml:mrow><mml:mi>u</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:mfrac><mml:mrow><mml:mo>∂</mml:mo>
<mml:msub><mml:mrow><mml:mi>W</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow><mml:mo>∂</mml:mo>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
</p>
</sec>
</sec>
<sec id="sec4"><title>4. SPH Method Based on Dynamic Local Interaction Area</title>
<sec id="sec4.1"><title>4.1. Fundamental</title>
<p>SPH is computationally costly. When the number of particles in the model becomes larger, the computing will be multiplied, and real-time performance will be poor with no steady and continuous feedback force output. In order to improve the computational efficiency, we consider that when the node receives external force from the surgical instruments, the internal force will be decaying gradually with the increase of transmission distance and be just a smaller propagation beyond a certain distance, which can be neglected according to Saint-Venant principle. Therefore, we propose a SPH method based on dynamic local interaction area to perform the deformation simulation and the calculation of force feedback, which maintains high touch frame and improves the accuracy of haptic interaction at the same time.</p>
<p>The purpose of employing the SPH based on dynamic local interaction area to compute the deformation process is improving the computational efficiency by reducing the number of particles participating in the computation, and its basic idea is to divide the model into deformation area and nondeformation area and assume that the deformation is only affected by nodes in the deformation area, and the nodes in nondeformation area will remain still. Deformation area contains two parts, namely, interaction area and transmission area. Interaction area is the region greatly influenced by the surgical instruments, in which the SPH method is adopted to do accurate calculation of particles; transmission area is the effective propagation range of force, in which the physical quantities of all particles are obtained by decaying physical quantities of the force points.</p>
<p>In this paper, the transmission number is set to be two. <xref ref-type="fig" rid="fig2"> Figure 2</xref>
illustrates the conceptual schematic of SPH based on dynamic local interaction area.</p>
<p>The surgical instrument contacted the model by the red point at the contact point. Define the Dr as interaction area radius and Tr1, Tr2 as transmission radius, respectively. Once the contact is detected, the algorithm calculates the relative distance between the force point and other points of the model. If the distance is less than Dr, we incorporate the points into the computation model and render the deformation, using SPH method to solve the motion equations and calculate the stress and strain. If the distance is between Dr and Tr1, to get the acceleration of particles, we multiply the force point acceleration by a weighting factor directly and then calculate the position vectors in terms of Newton's Second Law. Calculate the velocity and position vector of the particles in other transmission layers in the same way until the acceleration becomes zero. At this point, the weighting factor is zero, implying that the particles are located in the nondeformation area and will not be calculated any more.</p>
</sec>
<sec id="sec4.2"><title>4.2. Determination of the Interaction Area</title>
<p>The interaction area is determined by two factors: the force point and the applied load. Force point determines the location of interaction area, and the load applied on the model influences the scope of force.</p>
<sec id="sec4.2.1"><title>4.2.1. Determine the Location of Interaction Area Dynamically according to the Force Point</title>
<p>We manipulate the force feedback device to roam in the virtual environment and apply the force to any point of the model, so the interaction area can be determined dynamically depending on the force point location, as shown in <xref ref-type="fig" rid="fig3">Figure 3</xref>
.</p>
</sec>
<sec id="sec4.2.2"><title>4.2.2. Determine the Scope of the Interaction Area Dynamically according to the Load</title>
<p>In the SPH method, the influence domain of any particle is associated with its smooth radius <italic>h</italic>
; therefore, we define interaction area radius Dr to be a linear function of <italic>h</italic>
. Once being defined, Dr will remain constant throughout the computation. Similarly, we also define transmission radius Tri to be a linear function of <italic>h</italic>
, where <italic>i</italic>
indicates the <italic>i</italic>
th level of propagation. The computation formulas of Dr and Tri are as follows:<disp-formula id="EEq17"><label>(17)</label>
<mml:math id="M16"><mml:mtable><mml:mtr><mml:mtd><mml:mi mathvariant="normal">D</mml:mi>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mo>=</mml:mo>
<mml:msub><mml:mrow><mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mi>h</mml:mi>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:mi mathvariant="normal">T</mml:mi>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mo>=</mml:mo>
<mml:msub><mml:mrow><mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mi>h</mml:mi>
<mml:mo>+</mml:mo>
<mml:msub><mml:mrow><mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mi>h</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
</p>
<p>When an external force <italic>f</italic>
<sub>ext</sub>
is applied to the model, the larger <italic>f</italic>
<sub>ext</sub>
is, the wider influence range will become, so the greater interaction area and transmission area are. Therefore, the parameter <italic>k</italic>
<sub>1</sub>
in (<xref ref-type="disp-formula" rid="EEq17">17</xref>
) is related to <italic>f</italic>
<sub>ext</sub>
. We define <italic>k</italic>
<sub>1</sub>
as follows:<disp-formula id="EEq19"><label>(18)</label>
<mml:math id="M17"><mml:mtable><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi>f</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi mathvariant="normal">e</mml:mi>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mi mathvariant="normal">t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
</p>
<p>So (<xref ref-type="disp-formula" rid="EEq17">17</xref>
) can be converted as<disp-formula id="EEq20"><label>(19)</label>
<mml:math id="M18"><mml:mtable><mml:mtr><mml:mtd><mml:mi mathvariant="normal">D</mml:mi>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mo>=</mml:mo>
<mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi>f</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi mathvariant="normal">e</mml:mi>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mi mathvariant="normal">t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:mi>h</mml:mi>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:mi mathvariant="normal">T</mml:mi>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi>f</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi mathvariant="normal">e</mml:mi>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mi mathvariant="normal">t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:mi>h</mml:mi>
<mml:mo>+</mml:mo>
<mml:msub><mml:mrow><mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mi>h</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
</p>
<p>Here, the parameter <italic>k</italic>
<sub>2</sub>
can be computed as<disp-formula id="EEq22"><label>(20)</label>
<mml:math id="M19"><mml:mtable><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac><mml:mrow><mml:mn mathvariant="normal">1</mml:mn>
</mml:mrow>
<mml:mrow><mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
where <italic>i</italic>
indicates the <italic>i</italic>
th level of propagation.</p>
<p>Equation (<xref ref-type="disp-formula" rid="EEq17">17</xref>
) can divide the model into interaction area and influence area dynamically according to the load. So the algorithm is self-adaptive.</p>
<p>The division of deformation area and nondeformation is shown in <xref ref-type="fig" rid="fig4">Figure 4</xref>
.</p>
</sec>
</sec>
<sec id="sec4.3"><title>4.3. Weighting Factor</title>
<p>When the model is on load applied by the surgical instrument, the internal force will decrease with the increase of propagation. But the propagation will no longer increases when the force spreads beyond a certain distance. Therefore, we can set different transmission layers to improve the simulation accuracy.</p>
<p>The particles in different transmission layers have different effect on the deformation of the model. So we set weighting factors to indicate the influence degrees of different transmission layers. The farer transmission layer is, the smaller weighting vector is, meaning that the particles in this layer have less contribution to the deformation.</p>
<p>Assuming that the transmission layer is <italic>N</italic>
, so the force in (<italic>N</italic>
+ 1)th layer decays to zero. Therefore, the computation formula of weighting vector is<disp-formula id="EEq23"><label>(21)</label>
<mml:math id="M20"><mml:mtable><mml:mtr><mml:mtd><mml:mi>w</mml:mi>
<mml:mfenced separators="|"><mml:mrow><mml:mi>i</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>=</mml:mo>
<mml:mfrac><mml:mrow><mml:mi>N</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn mathvariant="normal">1</mml:mn>
<mml:mo>−</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>N</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn mathvariant="normal">1</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
where <italic>i</italic>
indicates the <italic>i</italic>
th level of propagation. In this paper, we set <italic>N</italic>
= 2, so the weighting vector can be computed as (3 − <italic>i</italic>
)/3.</p>
</sec>
<sec id="sec4.4"><title>4.4. Collision Detection</title>
<p>Collision detection is one of the most important issues in developing a multimodal surgery simulation. It is the prerequisite of soft tissue deformation calculation; fast and accurate collision detection algorithm directly affects the authenticity of the human-computer interaction, in which one needs to ensure that there has indeed been a contact between the surgical instrument and the model in virtual scene. Most collision detection algorithms approximate the models in the scene using bounding volumes such as axis aligned bounding boxes (AABBs) [<xref rid="B22" ref-type="bibr">22</xref>
–<xref rid="B24" ref-type="bibr">24</xref>
], oriented bounding boxes (OBBs) [<xref rid="B25" ref-type="bibr">25</xref>
, <xref rid="B26" ref-type="bibr">26</xref>
], spheres [<xref rid="B27" ref-type="bibr">27</xref>
, <xref rid="B28" ref-type="bibr">28</xref>
], and <italic>k</italic>
-Dop [<xref rid="B29" ref-type="bibr">29</xref>
].</p>
<p>In this paper, we do experiment based on a liver model. Considering the complexity of liver model's irregularity, the complexity of structuring the bounding box, and the difficulty of the bounding box update after deformation, we use the following collision detection algorithm.</p>
<p>We use a three-dimensional point representing the top of the surgical instrument. We can obtain the position of the virtual instrument by tactile delivery engine in real time, then calculating the distance between the static particle of liver model and surgical instrument successively. When the distance is less than zero, we identify that the collision happened, then returning the vertex sequence number of the particle in collision.</p>
</sec>
<sec id="sec4.5"><title>4.5. Procedure of Deformation Simulation</title>
<p>The method simulating deformation of soft tissue and calculating the feedback force using the SPH method based on dynamic local interaction area in detail is as follows:<list list-type="simple"><list-item><label>(1)</label>
<p>set up the meshless particle model and initialize each variable as zero;</p>
</list-item>
<list-item><label>(2)</label>
<p>build the deformation equations in terms of Vogit viscoelastic model;</p>
</list-item>
<list-item><label>(3)</label>
<p>manipulate the force feedback device to stress soft tissue model with external force <italic>f</italic>
<sub>ext</sub>
, and return the serial number of contact particle after collision detection; at this time, the internal force <italic>F</italic>
<sub>in</sub>
(<italic>t</italic>
) = 0, <italic>t</italic>
= 0;</p>
</list-item>
<list-item><label>(4)</label>
<p>calculate each particle as follows:</p>
<p><list list-type="simple"><list-item><label>(a)</label>
<p>calculate the relative distance Dis between the particle and the contact point;</p>
</list-item>
<list-item><label>(b)</label>
<p>if Dis is less than Dr, calculate the particle's acceleration, strain, and stress by SPH method precisely; if Dis is between Dr and Tr1, multiply the contact particle's acceleration by weighting factor of the first transmission layer directly to get the particle's acceleration; if Dis is between Tr1 and Tr2, multiply the contact particle's acceleration by weighting factor of the second transmission layer directly; if Dis is larger than Tr2, the particle's acceleration will be set zero;</p>
</list-item>
<list-item><label>(c)</label>
<p>calculate the particle's velocity and distance in terms of Newton's Second Law:<disp-formula id="eq22"><label>(22)</label>
<mml:math id="M21"><mml:mtable><mml:mtr><mml:mtd><mml:msubsup><mml:mrow><mml:mi>v</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn mathvariant="normal">1</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>=</mml:mo>
<mml:msubsup><mml:mrow><mml:mi>v</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>t</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="normal">Δ</mml:mi>
<mml:mi>t</mml:mi>
<mml:msub><mml:mrow><mml:mi>a</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced separators="|"><mml:mrow><mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr><mml:mtd><mml:msubsup><mml:mrow><mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn mathvariant="normal">1</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>=</mml:mo>
<mml:msubsup><mml:mrow><mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>t</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="normal">Δ</mml:mi>
<mml:mi>t</mml:mi>
<mml:msubsup><mml:mrow><mml:mi>v</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn mathvariant="normal">1</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>;</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
</p>
</list-item>
<list-item><label> (d)</label>
<p>draw the state of each particle on the display dynamically using OpenGL functions;</p>
</list-item>
</list>
</p>
</list-item>
<list-item><label>(5)</label>
<p>calculate the out force of contact particle:<disp-formula id="eq23"><label>(23)</label>
<mml:math id="M22"><mml:mtable><mml:mtr><mml:mtd><mml:msubsup><mml:mrow><mml:mi>f</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi mathvariant="normal">o</mml:mi>
<mml:mi mathvariant="normal">u</mml:mi>
<mml:mi mathvariant="normal">t</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>=</mml:mo>
<mml:msub><mml:mrow><mml:mi>f</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi mathvariant="normal">e</mml:mi>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mi mathvariant="normal">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msubsup><mml:mrow><mml:mi>σ</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>α</mml:mi>
<mml:mi>β</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>;</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
</p>
</list-item>
<list-item><label>(6)</label>
<p>output the force through the feedback device, so the user can feel the tactile feedback with soft tissue.</p>
</list-item>
</list>
</p>
<p>In step (b), we need to calculate the particle's acceleration, strain, and stress by SPH method precisely. The main procedure is as follows.<list list-type="simple"><list-item><label>(i)</label>
<p>For current particle <italic>p</italic>
<sub><italic>i</italic>
</sub>
, search its neighbor particles <italic>p</italic>
<sub><italic>j</italic>
</sub>
within smooth radius <italic>h</italic>
in the list; then calculate the smooth nuclear function equation (<xref ref-type="disp-formula" rid="EEq9">9</xref>
) between the current particle and its neighboring particles in support domain.</p>
</list-item>
<list-item><label>(ii)</label>
<p>Calculate <italic>ρ</italic>
<sub><italic>i</italic>
</sub>
of the particle by (<xref ref-type="disp-formula" rid="EEq15">15</xref>
).</p>
</list-item>
<list-item><label>(iii)</label>
<p>Calculate acceleration <italic>a</italic>
<sub><italic>i</italic>
</sub>
(<italic>t</italic>
):<disp-formula id="eq24"><label>(24)</label>
<mml:math id="M23"><mml:mtable><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>a</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced separators="|"><mml:mrow><mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>=</mml:mo>
<mml:mo>−</mml:mo>
<mml:mfrac><mml:mrow><mml:mi>d</mml:mi>
<mml:msub><mml:mrow><mml:mi>v</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced separators="|"><mml:mrow><mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow><mml:mi>d</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>+</mml:mo>
<mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi>σ</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced separators="|"><mml:mrow><mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow><mml:msub><mml:mrow><mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>+</mml:mo>
<mml:mfrac><mml:mrow><mml:msubsup><mml:mrow><mml:mi>F</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi mathvariant="normal">e</mml:mi>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mi mathvariant="normal">t</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mrow><mml:msub><mml:mrow><mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow><mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
</p>
</list-item>
<list-item><label> </label>
<p>where <italic>F</italic>
<sub>ext</sub>
<sup><italic>i</italic>
</sup>
is sum of external force at <italic>p</italic>
<sub><italic>i</italic>
</sub>
, <italic>σ</italic>
<sub><italic>i</italic>
</sub>
is the internal force, that is, stress at <italic>p</italic>
<sub><italic>i</italic>
</sub>
, <italic>m</italic>
<sub><italic>i</italic>
</sub>
is mass of particle <italic>p</italic>
<sub><italic>i</italic>
</sub>
, and <italic>dv</italic>
<sub><italic>i</italic>
</sub>
(<italic>t</italic>
)/<italic>dt</italic>
can be calculated by (<xref ref-type="disp-formula" rid="EEq14">14</xref>
).</p>
</list-item>
<list-item><label>(iv)</label>
<p>Calculate the displacement: disp<sub><italic>i</italic>
</sub>
(<italic>t</italic>
) = <italic>x</italic>
<sub><italic>i</italic>
</sub>
(<italic>t</italic>
) − <italic>x</italic>
<sub><italic>i</italic>
</sub>
(<italic>t</italic>
<sub>0</sub>
).</p>
</list-item>
<list-item><label>(v)</label>
<p>Calculate <italic>ε</italic>
<sub><italic>αβ</italic>
</sub>
<sup><italic>i</italic>
</sup>
by previous displacement and state equation (<xref ref-type="disp-formula" rid="EEq16">16</xref>
).</p>
</list-item>
<list-item><label>(vi)</label>
<p>Record each particle's current volume strain <italic>ε</italic>
<sub><italic>kk</italic>
</sub>
<sup>′<italic>i</italic>
</sup>
and shape distortion <italic>e</italic>
<sub><italic>αβ</italic>
</sub>
<sup>′<italic>i</italic>
</sup>
, and then use (<xref ref-type="disp-formula" rid="EEq2">2</xref>
) to calculate the new volume strain and shape distortion by previous strain.</p>
</list-item>
<list-item><label>(vii)</label>
<p>Calculate each particle's volumetric stress <italic>σ</italic>
<sub><italic>kk</italic>
</sub>
<sup><italic>i</italic>
</sup>
and deviatoric stress <italic>S</italic>
<sub><italic>αβ</italic>
</sub>
<sup><italic>i</italic>
</sup>
by (<xref ref-type="disp-formula" rid="EEq3">3</xref>
).</p>
</list-item>
<list-item><label>(viii)</label>
<p>Calculate stress state <italic>σ</italic>
<sub><italic>αβ</italic>
</sub>
<sup><italic>i</italic>
</sup>
of each particle by (<xref ref-type="disp-formula" rid="EEq1">1</xref>
).</p>
</list-item>
</list>
</p>
</sec>
</sec>
<sec id="sec5"><title>5. Experiment</title>
<p>In this paper, all experiments were implemented in the same environment, specific as follows: Window XP operating system, AMD Phenom(tm) II X2 3.0 GHz PC with 2.0 GB RAM, Visual Studio 2005, and Open Graphics Library. The haptic feedback device we used is PHANTOM OMNI developed by SensAble Company in USA. It provides a complete API which is fully compatible with the OpenGL API and simplifies the haptic rendering thread. The experimental environment based on PHANTOM Omni is shown in <xref ref-type="fig" rid="fig5">Figure 5</xref>
.</p>
<p>We performed simulations of manipulation of a liver model in order to demonstrate the feasibility of the procedure with more realistic organ geometries. The model geometry was obtained from segmented CT data. The initial state of the liver is shown in <xref ref-type="fig" rid="fig6">Figure 6</xref>
in which the pencil is representative of the arm of PHANTOM OMNI. The liver is sampled into uniformly distributed 3690 particles carrying the same mass and density. When pull force is applied to the upper part of the liver body, a snapshot of deformation process is shown in <xref ref-type="fig" rid="fig7">Figure 7</xref>
. When press force is applied to the upper part of the liver body, a snapshot of deformation process is shown in <xref ref-type="fig" rid="fig8">Figure 8</xref>
.</p>
<p>To verify the accuracy of SPH, we implemented the simulations based on M-S and SPH separately. We can get the displacement of the same node in the model through applying load on liver model with virtual surgery instrument. After fitting them with quadratic curve, we can find they are coherent overall, as shown in <xref ref-type="fig" rid="fig9">Figure 9</xref>
. De et al. [<xref rid="B30" ref-type="bibr">30</xref>
] did experiments based on the pig liver in vivo and ex vivo and presented the steady-state force response of pig liver, as shown in <xref ref-type="fig" rid="fig10">Figure 10</xref>
. Comparing <xref ref-type="fig" rid="fig9">Figure 9</xref>
with <xref ref-type="fig" rid="fig10">Figure 10</xref>
, the results indicate that SPH methodology is suitable for simulating the liver tissue deformation and force feedback calculation.</p>
<p>In this paper, we simulate three liver models of different quantity of particles using mass-spring model and global SPH, respectively; the frame rates of them are indicated in <xref ref-type="table" rid="tab1">Table 1</xref>
. Compared to M-S model, SPH method has a heavy computational load and poorer real time though it has higher precision. In virtual surgery simulation, stable tactile feedback required the refreshment rate no less than 300 HZ. The result in <xref ref-type="table" rid="tab1">Table 1</xref>
shows that SPH method does not suit to calculate the feedback force when the number of particles is larger. While the number of particles is around 1300, it could basically achieve a smooth and stable tactile feedback.</p>
<p>We implemented the deformation and force feedback using global SPH and SPH based on dynamic local interaction area separately. Applying the same load with same direction and value on the same node in the model, we can get the force-displacement curve, as shown in <xref ref-type="fig" rid="fig11">Figure 11</xref>
. As can be seen from the figure, the overall trend of the two curves is basically consistent, and the interaction force using SPH based on dynamic local interaction area is smaller than the global SPH method since only part of the domain is discredited and the number of particles involved in the calculation is reduced which result in a local error.</p>
<p>In order to verify the time real performance of SPH based on dynamic local interaction area, we simulated the deformation of five liver models with different numbers of particles using global SPH method and SPH based on dynamic local interaction area, respectively. Since the value of the smooth radius in the SPH method affects the number of particles involved in the calculation directly which would impact on the computational efficiency, we census the running time of different smooth radiuses. The running time of global SPH is shown in <xref ref-type="table" rid="tab2">Table 2</xref>
, and that of SPH based on dynamic local interaction area is shown in <xref ref-type="table" rid="tab3">Table 3</xref>
, in which the unit of running time is second.</p>
<p>The following conclusions can be drawn from Tables <xref ref-type="table" rid="tab2">2</xref>
and <xref ref-type="table" rid="tab3">3</xref>
.<list list-type="simple"><list-item><label>(1)</label>
<p>The running time of SPH based on dynamic local interaction area and global SPH method improves with the increase in the number of particles, but SPH based on dynamic local interaction area has a higher computational efficiency significantly.</p>
</list-item>
<list-item><label>(2)</label>
<p>The more particles the model contains, the more effective the SPH based on dynamic local interaction area is. However, the computational efficiency has few gaps for the model containing a small number of particles.</p>
</list-item>
<list-item><label>(3)</label>
<p>The value of smooth radius <italic>h</italic>
has impacted on the computational efficiency directly; while the smooth radius becomes greater, the computational efficiency of process will become lower and timeliness is worse.</p>
</list-item>
<list-item><label>(4)</label>
<p>If the model contains a small number of particles, the value of smooth radius impacts on the running time slightly. This is due to the small number of particles distributed sparsely. Setting different smooth radius has little effect on the number of particles involved in calculation. So it almost does not influence the running time of program.</p>
</list-item>
</list>
</p>
<p>Refreshment rate of stable tactile feedback should be more than 300 HZ in virtual surgery simulation, so the computing time should be less than 0.0033 s. Comparison of Tables <xref ref-type="table" rid="tab2">2</xref>
and <xref ref-type="table" rid="tab3">3</xref>
shows that when smooth radius is set to smaller values such as 0.3, the global SPH would be difficult to meet the requirements of the haptic frame rate with the number of particles over 1289. But SPH based dynamic local interaction area could satisfy tactile frame rate while the number of particles increases to 3670. It greatly improves the simulation in real time compared with global SPH.</p>
<p>The real time performance of SPH based on local dynamic interaction area is related not only with the smooth radius, but also with the interaction region and spread layers. Now we discuss the impact of the different transmission layers and interaction radius to the real time performance of algorithm.</p>
<p>When smooth radius <italic>h</italic>
is 0.6 and transmission layer is 2, the influence of different interaction area radius on the real time performance of algorithm is shown in <xref ref-type="table" rid="tab4">Table 4</xref>
. When smooth radius <italic>h</italic>
is 0.6 and <italic>k</italic>
<sub>1</sub>
= 0.5<italic>∗f</italic>
<sub>ext</sub>
, the influence of different layers on the real time performance is shown in <xref ref-type="table" rid="tab5">Table 5</xref>
, in which <italic>N</italic>
indicates the propagation layer. It could be concluded from Tables <xref ref-type="table" rid="tab4">4</xref>
and <xref ref-type="table" rid="tab5">5</xref>
that as the length of interaction area radius and the number of propagation layers increase, the real time of algorithm becomes worse, and the value of the radius had a greater influence on real time performance. The reason is that when the interaction area radius becomes larger or spread layers increase, the number of particles involved in the calculation will get more which results in an increase in the computational cost. Moreover, the calculation in interaction area is more complex than that in spread region. Therefore, the value of interaction radius has a greater effect on the real time performance.</p>
</sec>
<sec id="sec6"><title>6. Conclusions</title>
<p>In this paper, we adopts Voigt viscoelastic mechanical model to present the characteristics of biomechanics which has strongly physical realism. In the meanwhile we use SPH method as a meshfree technique to solve the deformation process and feedback force which enhances the accuracy of simulation compared with approaches based on meshes.</p>
<p>However, SPH method has a heavy computational load and poorer real time though it has higher precision. In order to improve the computational efficiency, we proposed a SPH method based on dynamic local interaction area. We divide the model into deformation area and nondeformation area and assume that the deformation is only affected by nodes in the deformation area, and the nodes in nondeformation area will remain still. Deformation area contains two parts, namely, interaction area and transmission area. Interaction area is the region greatly influenced by the surgical instruments, in which the SPH method is adopted to do accurate calculation of particles; transmission area is the effective propagation range of force, in which the physical quantities of all particles are obtained by decaying physical quantities of the force points. The particles in different transmission layers have different effect on the deformation of the model. So we set weighting factors to indicate the influence degrees of different transmission layers.</p>
<p>Experimental results show that SPH methodology is suitable for simulating the liver tissue deformation and force feedback calculation, and SPH based on dynamic local interaction area has a higher computational efficiency significantly compared with usual SPH. SPH based on dynamic local interaction area can ensure 300 HZ frame rate when the number of particles is under certain number which satisfies the need of smooth haptic feedback in virtual surgery. Because the accuracy of SPH method also depends on the arrangement of the particles, when the force loads on some particles in disordered arrangement or topological structure, the result will be unstable. So our next tasks mainly focus on the following.<list list-type="order"><list-item><p>Improving the stability of SPH method: during the experiments, particles shocked irregularly when the time step was set to large. In the next work, we will study the factors for stability of SPH, such as smooth radius, kernel function, and the distribution of particles.</p>
</list-item>
<list-item><p>Verifying the accuracy of force feedback: real medical surgery is very strict and does not allow any deviation. Therefore, it must validate the accuracy of force feedback in virtual surgery and make a comprehensive evaluation for authentication methods, for example, joining the deformation time, deformation range, feelings of trainers, and the test of physicians into the evaluation program.</p>
</list-item>
</list>
</p>
</sec>
</body>
<back><ack><title>Acknowledgments</title>
<p>This research is supported by the Major Program of the National Natural Science Foundation of China (Grant no. 61190121), Program for Innovative Research Team (in Science and Technology) in University of Henan Province (Grant no. 13IRTSTHN023), and Innovation Scientists and Technicians Troop Construction Projects of Zhengzhou City (Grant no. 131PCXTD595).</p>
</ack>
<sec sec-type="conflict"><title>Conflict of Interests</title>
<p>The authors declare that there is no conflict of interests regarding the publication of this paper.</p>
</sec>
<ref-list><ref id="B1"><label>1</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Terzopoulos</surname>
<given-names>D.</given-names>
</name>
<name><surname>Waters</surname>
<given-names>K.</given-names>
</name>
</person-group>
<article-title>Physically based facial model ing, analysis and animation</article-title>
<source><italic>Journal of Visualization and Computer Animation</italic>
</source>
<year>1990</year>
<volume>1</volume>
<fpage>73</fpage>
<lpage>80</lpage>
</element-citation>
</ref>
<ref id="B2"><label>2</label>
<element-citation publication-type="book"><person-group person-group-type="author"><name><surname>Kataoka</surname>
<given-names>H.</given-names>
</name>
<name><surname>Noda</surname>
<given-names>S.</given-names>
</name>
<name><surname>Yokota</surname>
<given-names>H.</given-names>
</name>
</person-group>
<article-title>Simulations of needle insertion by using a eulerian hydrocode FEM and the experimental validations</article-title>
<source><italic>Medical Image Computing and Computer-Assisted Intervention—MICCAI 2008</italic>
</source>
<year>2008</year>
<volume>5242</volume>
<publisher-loc>Berlin, Germany</publisher-loc>
<publisher-name>Springer</publisher-name>
<fpage>560</fpage>
<lpage>568</lpage>
<series>Lecture Notes in Computer Science</series>
<pub-id pub-id-type="doi">10.1007/978-3-540-85990-1_67</pub-id>
</element-citation>
</ref>
<ref id="B3"><label>3</label>
<element-citation publication-type="book"><person-group person-group-type="author"><name><surname>Nakao</surname>
<given-names>M.</given-names>
</name>
</person-group>
<source><italic>Cardiac Surgery Simulation with Active Interaction and Adaptive Physics-Based Modeling</italic>
</source>
<year>2003</year>
<publisher-loc>Kyoto, Japan</publisher-loc>
<publisher-name>Department of Social Informatics, Graduate School of Informatics, Kyoto University</publisher-name>
</element-citation>
</ref>
<ref id="B4"><label>4</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Marinkovic</surname>
<given-names>D.</given-names>
</name>
<name><surname>Zehn</surname>
<given-names>M.</given-names>
</name>
<name><surname>Marinkovic</surname>
<given-names>Z.</given-names>
</name>
</person-group>
<article-title>Finite element formulations for effective computations of geometrically nonlinear deformations</article-title>
<source><italic>Advances in Engineering Software</italic>
</source>
<year>2012</year>
<volume>50</volume>
<issue>1</issue>
<fpage>3</fpage>
<lpage>11</lpage>
<pub-id pub-id-type="doi">10.1016/j.advengsoft.2012.04.005</pub-id>
<pub-id pub-id-type="other">2-s2.0-84861892423</pub-id>
</element-citation>
</ref>
<ref id="B5"><label>5</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Mafi</surname>
<given-names>R.</given-names>
</name>
<name><surname>Sirouspour</surname>
<given-names>S.</given-names>
</name>
</person-group>
<article-title>GPU-based acceleration of computations in nonlinear finite element deformation analysis</article-title>
<source><italic>International Journal for Numerical Methods in Biomedical Engineering</italic>
</source>
<year>2014</year>
<volume>30</volume>
<issue>3</issue>
<fpage>365</fpage>
<lpage>381</lpage>
<pub-id pub-id-type="doi">10.1002/cnm.2607</pub-id>
<pub-id pub-id-type="other">2-s2.0-84894800048</pub-id>
<pub-id pub-id-type="pmid">24166875</pub-id>
</element-citation>
</ref>
<ref id="B6"><label>6</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Tang</surname>
<given-names>X. G.</given-names>
</name>
<name><surname>Xiong</surname>
<given-names>Y. S.</given-names>
</name>
<name><surname>Tan</surname>
<given-names>K.</given-names>
</name>
<name><surname>Pan</surname>
<given-names>X. H.</given-names>
</name>
</person-group>
<article-title>Soft-tissue finite elements deformation model based on OpenHaptic</article-title>
<source><italic>Journal of System Simulation</italic>
</source>
<year>2012</year>
<volume>24</volume>
<issue>7</issue>
<fpage>1434</fpage>
<lpage>1437</lpage>
<pub-id pub-id-type="other">2-s2.0-84866447404</pub-id>
</element-citation>
</ref>
<ref id="B7"><label>7</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Webster</surname>
<given-names>R. W.</given-names>
</name>
<name><surname>Zimmerman</surname>
<given-names>D. I.</given-names>
</name>
<name><surname>Mohler</surname>
<given-names>B. J.</given-names>
</name>
<name><surname>Melkonian</surname>
<given-names>M. G.</given-names>
</name>
<name><surname>Haluck</surname>
<given-names>R. S.</given-names>
</name>
</person-group>
<article-title>A prototype haptic suturing simulator</article-title>
<source><italic>Studies in Health Technology and Informatics</italic>
</source>
<year>2001</year>
<volume>81</volume>
<fpage>567</fpage>
<lpage>569</lpage>
<pub-id pub-id-type="pmid">11317811</pub-id>
</element-citation>
</ref>
<ref id="B8"><label>8</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Hammer</surname>
<given-names>P. E.</given-names>
</name>
<name><surname>Sacks</surname>
<given-names>M. S.</given-names>
</name>
<name><surname>del Nido</surname>
<given-names>P. J.</given-names>
</name>
<name><surname>Howe</surname>
<given-names>R. D.</given-names>
</name>
</person-group>
<article-title>Mass-spring model for simulation of heart valve tissue mechanical behavior</article-title>
<source><italic>Annals of Biomedical Engineering</italic>
</source>
<year>2011</year>
<volume>39</volume>
<issue>6</issue>
<fpage>1668</fpage>
<lpage>1679</lpage>
<pub-id pub-id-type="doi">10.1007/s10439-011-0278-5</pub-id>
<pub-id pub-id-type="other">2-s2.0-79958804399</pub-id>
<pub-id pub-id-type="pmid">21350891</pub-id>
</element-citation>
</ref>
<ref id="B9"><label>9</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Liu</surname>
<given-names>X.-M.</given-names>
</name>
<name><surname>Wang</surname>
<given-names>R.-Y.</given-names>
</name>
<name><surname>Guo</surname>
<given-names>S.</given-names>
</name>
</person-group>
<article-title>Force feedback based on mass-spring volume model and improved Euler algorithm</article-title>
<source><italic>Journal of System Simulation</italic>
</source>
<year>2013</year>
<volume>25</volume>
<issue>9</issue>
<fpage>2234</fpage>
<lpage>2238</lpage>
<pub-id pub-id-type="other">2-s2.0-84890823430</pub-id>
</element-citation>
</ref>
<ref id="B10"><label>10</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>De</surname>
<given-names>S.</given-names>
</name>
<name><surname>Kim</surname>
<given-names>J.</given-names>
</name>
<name><surname>Lim</surname>
<given-names>Y.-J.</given-names>
</name>
<name><surname>Srinivasan</surname>
<given-names>M. A.</given-names>
</name>
</person-group>
<article-title>The point collocation-based method of finite spheres (PCMFS) for real time surgery simulation</article-title>
<source><italic>Computers & Structures</italic>
</source>
<year>2005</year>
<volume>83</volume>
<issue>17-18</issue>
<fpage>1515</fpage>
<lpage>1525</lpage>
<pub-id pub-id-type="doi">10.1016/j.compstruc.2004.12.003</pub-id>
<pub-id pub-id-type="other">2-s2.0-17744363861</pub-id>
</element-citation>
</ref>
<ref id="B11"><label>11</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Jansson</surname>
<given-names>J.</given-names>
</name>
<name><surname>Vergeest</surname>
<given-names>J. S. M.</given-names>
</name>
</person-group>
<article-title>A discrete mechanics model for deformable bodies</article-title>
<source><italic>Computer Aided Design</italic>
</source>
<year>2002</year>
<volume>34</volume>
<issue>12</issue>
<fpage>913</fpage>
<lpage>928</lpage>
<pub-id pub-id-type="doi">10.1016/S0010-4485(01)00146-4</pub-id>
<pub-id pub-id-type="other">2-s2.0-0036778825</pub-id>
</element-citation>
</ref>
<ref id="B12"><label>12</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Müller</surname>
<given-names>M.</given-names>
</name>
<name><surname>Heidelberger</surname>
<given-names>B.</given-names>
</name>
<name><surname>Teschner</surname>
<given-names>M.</given-names>
</name>
<name><surname>Gross</surname>
<given-names>M.</given-names>
</name>
</person-group>
<article-title>Meshless deformations based on shape matching</article-title>
<source><italic>ACM Transactions on Graphics</italic>
</source>
<year>2005</year>
<volume>24</volume>
<issue>3</issue>
<fpage>471</fpage>
<lpage>478</lpage>
<pub-id pub-id-type="doi">10.1145/1073204.1073216</pub-id>
</element-citation>
</ref>
<ref id="B13"><label>13</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Lucy</surname>
<given-names>L. B.</given-names>
</name>
</person-group>
<article-title>A numerical approach to the testing of the fission hypothesis</article-title>
<source><italic>The Astronomical Journal</italic>
</source>
<year>1977</year>
<volume>82</volume>
<fpage>1013</fpage>
<lpage>1024</lpage>
<pub-id pub-id-type="doi">10.1086/112164</pub-id>
</element-citation>
</ref>
<ref id="B14"><label>14</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Ming</surname>
<given-names>F. R.</given-names>
</name>
<name><surname>Zhang</surname>
<given-names>A. M.</given-names>
</name>
<name><surname>Cao</surname>
<given-names>X. Y.</given-names>
</name>
</person-group>
<article-title>A robust shell element in meshfree SPH method</article-title>
<source><italic>Acta Mechanica Sinica</italic>
</source>
<year>2013</year>
<volume>29</volume>
<issue>2</issue>
<fpage>241</fpage>
<lpage>255</lpage>
<pub-id pub-id-type="doi">10.1007/s10409-013-0017-2</pub-id>
<pub-id pub-id-type="other">MR3063750</pub-id>
<pub-id pub-id-type="other">2-s2.0-84878011785</pub-id>
</element-citation>
</ref>
<ref id="B15"><label>15</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Monaghan</surname>
<given-names>J. J.</given-names>
</name>
</person-group>
<article-title>Smoothed particle hydrodynamics</article-title>
<source><italic>Reports on Progress in Physics</italic>
</source>
<year>2005</year>
<volume>68</volume>
<issue>8</issue>
<fpage>1703</fpage>
<lpage>1759</lpage>
<pub-id pub-id-type="doi">10.1088/0034-4885/68/8/R01</pub-id>
<pub-id pub-id-type="other">MR2158506</pub-id>
<pub-id pub-id-type="other">2-s2.0-22544448703</pub-id>
</element-citation>
</ref>
<ref id="B16"><label>16</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Liu</surname>
<given-names>M. B.</given-names>
</name>
<name><surname>Liu</surname>
<given-names>G. R.</given-names>
</name>
</person-group>
<article-title>Smoothed particle hydrodynamics (SPH): an overview and recent developments</article-title>
<source><italic>Archives of Computational Methods in Engineering</italic>
</source>
<year>2010</year>
<volume>17</volume>
<issue>1</issue>
<fpage>25</fpage>
<lpage>76</lpage>
<pub-id pub-id-type="doi">10.1007/s11831-010-9040-7</pub-id>
<pub-id pub-id-type="other">MR2593940</pub-id>
<pub-id pub-id-type="other">2-s2.0-77952876665</pub-id>
</element-citation>
</ref>
<ref id="B17"><label>17</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Li</surname>
<given-names>D.</given-names>
</name>
<name><surname>Li</surname>
<given-names>X.</given-names>
</name>
<name><surname>Lin</surname>
<given-names>Y.</given-names>
</name>
</person-group>
<article-title>Numerical simulation of droplet impacting liquid surface by SPH</article-title>
<source><italic>Science China Technological Sciences</italic>
</source>
<year>2011</year>
<volume>54</volume>
<issue>7</issue>
<fpage>1873</fpage>
<lpage>1880</lpage>
<pub-id pub-id-type="doi">10.1007/s11431-011-4422-0</pub-id>
<pub-id pub-id-type="other">ZBL1237.76139</pub-id>
<pub-id pub-id-type="other">2-s2.0-80051583443</pub-id>
</element-citation>
</ref>
<ref id="B18"><label>18</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Zheng</surname>
<given-names>X.</given-names>
</name>
<name><surname>Duan</surname>
<given-names>W. Y.</given-names>
</name>
<name><surname>Ma</surname>
<given-names>Q. W.</given-names>
</name>
</person-group>
<article-title>A new scheme for identifying free surface particles in improved SPH</article-title>
<source><italic>Science China Physics, Mechanics & Astronomy</italic>
</source>
<year>2012</year>
<volume>55</volume>
<issue>8</issue>
<fpage>1454</fpage>
<lpage>1463</lpage>
<pub-id pub-id-type="doi">10.1007/s11433-012-4809-3</pub-id>
<pub-id pub-id-type="other">2-s2.0-84866487970</pub-id>
</element-citation>
</ref>
<ref id="B19"><label>19</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Fang</surname>
<given-names>J.</given-names>
</name>
<name><surname>Owens</surname>
<given-names>R. G.</given-names>
</name>
<name><surname>Tacher</surname>
<given-names>L.</given-names>
</name>
<name><surname>Parriaux</surname>
<given-names>A.</given-names>
</name>
</person-group>
<article-title>A numerical study of the SPH method for simulating transient viscoelastic free surface flows</article-title>
<source><italic>Journal of Non-Newtonian Fluid Mechanics</italic>
</source>
<year>2006</year>
<volume>139</volume>
<issue>1-2</issue>
<fpage>68</fpage>
<lpage>84</lpage>
<pub-id pub-id-type="doi">10.1016/j.jnnfm.2006.07.004</pub-id>
<pub-id pub-id-type="other">ZBL1195.76091</pub-id>
<pub-id pub-id-type="other">2-s2.0-33749067602</pub-id>
</element-citation>
</ref>
<ref id="B20"><label>20</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Yang</surname>
<given-names>X.</given-names>
</name>
<name><surname>Liu</surname>
<given-names>M.</given-names>
</name>
</person-group>
<article-title>Numerical modeling of oil spill containment by boom using SPH</article-title>
<source><italic>Science China: Physics, Mechanics and Astronomy</italic>
</source>
<year>2013</year>
<volume>56</volume>
<issue>2</issue>
<fpage>315</fpage>
<lpage>321</lpage>
<pub-id pub-id-type="doi">10.1007/s11433-012-4980-6</pub-id>
<pub-id pub-id-type="other">2-s2.0-84891833478</pub-id>
</element-citation>
</ref>
<ref id="B21"><label>21</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Monaghan</surname>
<given-names>J. J.</given-names>
</name>
<name><surname>Lattanzio</surname>
<given-names>J. C.</given-names>
</name>
</person-group>
<article-title>A refined particle method for astrophysical problems</article-title>
<source><italic>Astronomy & Astrophysics</italic>
</source>
<year>1985</year>
<volume>149</volume>
<issue>1</issue>
<fpage>135</fpage>
<lpage>143</lpage>
</element-citation>
</ref>
<ref id="B22"><label>22</label>
<element-citation publication-type="book"><person-group person-group-type="author"><name><surname>Cai</surname>
<given-names>P.</given-names>
</name>
<name><surname>Indhumathi</surname>
<given-names>C.</given-names>
</name>
<name><surname>Cai</surname>
<given-names>Y.</given-names>
</name>
<etal></etal>
</person-group>
<article-title>Collision detection using axis aligned bounding boxes</article-title>
<source><italic>Simulations, Serious Games and Their Applications</italic>
</source>
<year>2014</year>
<publisher-loc>Singapore</publisher-loc>
<publisher-name>Springer</publisher-name>
<fpage>1</fpage>
<lpage>14</lpage>
</element-citation>
</ref>
<ref id="B23"><label>23</label>
<element-citation publication-type="confproc"><person-group person-group-type="author"><name><surname>Yu</surname>
<given-names>L.</given-names>
</name>
<name><surname>Wang</surname>
<given-names>T.</given-names>
</name>
<name><surname>Song</surname>
<given-names>H.</given-names>
</name>
<name><surname>Sun</surname>
<given-names>L.</given-names>
</name>
<name><surname>Wang</surname>
<given-names>Z.</given-names>
</name>
<name><surname>Zhao</surname>
<given-names>L.</given-names>
</name>
</person-group>
<article-title>Geometric modeling and collision detection based on hybrid bounding box in virtual gallbladder surgery</article-title>
<conf-name>Proceedings of the ICME International Conference on Complex Medical Engineering (CME '13)</conf-name>
<conf-date>May 2013</conf-date>
<conf-loc>Beijing, China</conf-loc>
<fpage>25</fpage>
<lpage>30</lpage>
<pub-id pub-id-type="doi">10.1109/ICCME.2013.6548205</pub-id>
<pub-id pub-id-type="other">2-s2.0-84881530301</pub-id>
</element-citation>
</ref>
<ref id="B24"><label>24</label>
<element-citation publication-type="confproc"><person-group person-group-type="author"><name><surname>Sulaiman</surname>
<given-names>H. A.</given-names>
</name>
<name><surname>Othman</surname>
<given-names>M. A.</given-names>
</name>
<name><surname>Ismail</surname>
<given-names>M. M.</given-names>
</name>
<etal></etal>
</person-group>
<article-title>Distance computation using Axis Aligned Bounding Box (AABB) parallel distribution of dynamic origin point</article-title>
<conf-name>Proceedings of the Annual International Conference on Emerging Research Areas (AICERA '13) and International Conference on Microelectronics, Communications and Renewable Energy (ICMiCR '13)</conf-name>
<conf-date>June 2013</conf-date>
<fpage>1</fpage>
<lpage>6</lpage>
<pub-id pub-id-type="doi">10.1109/AICERA-ICMiCR.2013.6575955</pub-id>
<pub-id pub-id-type="other">2-s2.0-84883180962</pub-id>
</element-citation>
</ref>
<ref id="B25"><label>25</label>
<element-citation publication-type="confproc"><person-group person-group-type="author"><name><surname>Gottschalk</surname>
<given-names>S.</given-names>
</name>
<name><surname>Lin</surname>
<given-names>M. C.</given-names>
</name>
<name><surname>Manocha</surname>
<given-names>D.</given-names>
</name>
</person-group>
<article-title>OBB-tree: a hierarchical structure for rapid interference detection</article-title>
<conf-name>Proceedings of the Computer Graphics Conference (SIGGRAPH '96)</conf-name>
<conf-date>August 1996</conf-date>
<fpage>171</fpage>
<lpage>180</lpage>
<pub-id pub-id-type="other">2-s2.0-0030421708</pub-id>
</element-citation>
</ref>
<ref id="B26"><label>26</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Ding</surname>
<given-names>X. J.</given-names>
</name>
</person-group>
<article-title>Research on collision detection algorithm based on OBB</article-title>
<source><italic>Applied Mechanics and Materials</italic>
</source>
<year>2013</year>
<volume>433–435</volume>
<fpage>936</fpage>
<lpage>939</lpage>
<pub-id pub-id-type="doi">10.4028/www.scientific.net/AMM.433-435.936</pub-id>
<pub-id pub-id-type="other">2-s2.0-84887464261</pub-id>
</element-citation>
</ref>
<ref id="B27"><label>27</label>
<element-citation publication-type="book"><person-group person-group-type="author"><name><surname>Ding</surname>
<given-names>F.</given-names>
</name>
</person-group>
<source><italic>Rapid Cloth Collision Detection Using Bounding Sphere Trees</italic>
</source>
<year>2013</year>
</element-citation>
</ref>
<ref id="B28"><label>28</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Berkley</surname>
<given-names>H.</given-names>
</name>
<name><surname>Turkiyyah</surname>
<given-names>G.</given-names>
</name>
<name><surname>Berg</surname>
<given-names>D.</given-names>
</name>
<name><surname>Ganter</surname>
<given-names>M.</given-names>
</name>
<name><surname>Weghorst</surname>
<given-names>S.</given-names>
</name>
</person-group>
<article-title>Real-time finite element modeling for surgery simulation: an application to virtual suturing</article-title>
<source><italic>IEEE Transactions on Visualization and Computer Graphics</italic>
</source>
<year>2004</year>
<volume>10</volume>
<issue>3</issue>
<fpage>314</fpage>
<lpage>325</lpage>
<pub-id pub-id-type="doi">10.1109/TVCG.2004.1272730</pub-id>
<pub-id pub-id-type="other">2-s2.0-2142649225</pub-id>
<pub-id pub-id-type="pmid">18579962</pub-id>
</element-citation>
</ref>
<ref id="B29"><label>29</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Zhou</surname>
<given-names>J. Z.</given-names>
</name>
<name><surname>Xu</surname>
<given-names>X. P.</given-names>
</name>
<name><surname>Zhu</surname>
<given-names>Z. C.</given-names>
</name>
<etal></etal>
</person-group>
<article-title>Research and application of K-DOPS algorithm in virtual maintenance training system for diesel engine</article-title>
<source><italic>Advanced Materials Research</italic>
</source>
<year>2013</year>
<volume>805-806</volume>
<fpage>1911</fpage>
<lpage>1916</lpage>
<pub-id pub-id-type="doi">10.4028/www.scientific.net/AMR.805-806.1911</pub-id>
<pub-id pub-id-type="other">2-s2.0-84886312451</pub-id>
</element-citation>
</ref>
<ref id="B30"><label>30</label>
<element-citation publication-type="journal"><person-group person-group-type="author"><name><surname>de</surname>
<given-names>S.</given-names>
</name>
<name><surname>Kim</surname>
<given-names>J.</given-names>
</name>
<name><surname>Lim</surname>
<given-names>Y. J.</given-names>
</name>
<name><surname>Srinivasan</surname>
<given-names>M. A.</given-names>
</name>
</person-group>
<article-title>The point collocation-based method of finite spheres (PCMFS) for real time surgery simulation</article-title>
<source><italic>Computers and Structures</italic>
</source>
<year>2005</year>
<volume>83</volume>
<issue>17-18</issue>
<fpage>1515</fpage>
<lpage>1525</lpage>
<pub-id pub-id-type="doi">10.1016/j.compstruc.2004.12.003</pub-id>
<pub-id pub-id-type="other">2-s2.0-17744363861</pub-id>
</element-citation>
</ref>
</ref-list>
</back>
<floats-group><fig id="fig1" orientation="portrait" position="float"><label>Figure 1</label>
<caption><p>3D grid of cells for searching neighbor particles.</p>
</caption>
<graphic xlink:href="CMMM2015-598415.001"></graphic>
</fig>
<fig id="fig2" orientation="portrait" position="float"><label>Figure 2</label>
<caption><p>Schematic of SPH based on dynamic local interaction area.</p>
</caption>
<graphic xlink:href="CMMM2015-598415.002"></graphic>
</fig>
<fig id="fig3" orientation="portrait" position="float"><label>Figure 3</label>
<caption><p>Dynamic division of interaction area.</p>
</caption>
<graphic xlink:href="CMMM2015-598415.003"></graphic>
</fig>
<fig id="fig4" orientation="portrait" position="float"><label>Figure 4</label>
<caption><p>The division for deformation area and nondeformation area.</p>
</caption>
<graphic xlink:href="CMMM2015-598415.004"></graphic>
</fig>
<fig id="fig5" orientation="portrait" position="float"><label>Figure 5</label>
<caption><p>Experimental environment based on PHANTOM Omni.</p>
</caption>
<graphic xlink:href="CMMM2015-598415.005"></graphic>
</fig>
<fig id="fig6" orientation="portrait" position="float"><label>Figure 6</label>
<caption><p>The initial state of liver model.</p>
</caption>
<graphic xlink:href="CMMM2015-598415.006"></graphic>
</fig>
<fig id="fig7" orientation="portrait" position="float"><label>Figure 7</label>
<caption><p>Liver deformation under pull force.</p>
</caption>
<graphic xlink:href="CMMM2015-598415.007"></graphic>
</fig>
<fig id="fig8" orientation="portrait" position="float"><label>Figure 8</label>
<caption><p>Liver deformation under press force.</p>
</caption>
<graphic xlink:href="CMMM2015-598415.008"></graphic>
</fig>
<fig id="fig9" orientation="portrait" position="float"><label>Figure 9</label>
<caption><p>The force-displacement curve with M-S model and SPH method.</p>
</caption>
<graphic xlink:href="CMMM2015-598415.009"></graphic>
</fig>
<fig id="fig10" orientation="portrait" position="float"><label>Figure 10</label>
<caption><p>Force-displacement curve based on pig liver in vitro and ex vivo [<xref rid="B30" ref-type="bibr">30</xref>
].</p>
</caption>
<graphic xlink:href="CMMM2015-598415.010"></graphic>
</fig>
<fig id="fig11" orientation="portrait" position="float"><label>Figure 11</label>
<caption><p>Force-displacement curve of two SPH methods.</p>
</caption>
<graphic xlink:href="CMMM2015-598415.011"></graphic>
</fig>
<table-wrap id="tab1" orientation="portrait" position="float"><label>Table 1</label>
<caption><p>Computational efficiency of M-S model and SPH method.</p>
</caption>
<table frame="hsides" rules="groups"><thead><tr><th align="left" rowspan="2" colspan="1">Number of particles</th>
<th align="center" colspan="2" rowspan="1">M-S model</th>
<th align="center" colspan="2" rowspan="1">SPH method</th>
</tr>
<tr><th align="center" rowspan="1" colspan="1">Time (s)</th>
<th align="center" rowspan="1" colspan="1">Rate (HZ)</th>
<th align="center" rowspan="1" colspan="1">Time (s)</th>
<th align="center" rowspan="1" colspan="1">Rate (HZ)</th>
</tr>
</thead>
<tbody><tr><td align="left" rowspan="1" colspan="1">3670</td>
<td align="center" rowspan="1" colspan="1">0.00064</td>
<td align="center" rowspan="1" colspan="1">1562.50</td>
<td align="center" rowspan="1" colspan="1">0.026</td>
<td align="center" rowspan="1" colspan="1">38.7</td>
</tr>
<tr><td align="left" rowspan="1" colspan="1">1289</td>
<td align="center" rowspan="1" colspan="1">0.00037</td>
<td align="center" rowspan="1" colspan="1">2702.70</td>
<td align="center" rowspan="1" colspan="1">0.003</td>
<td align="center" rowspan="1" colspan="1">333.3</td>
</tr>
<tr><td align="left" rowspan="1" colspan="1">289</td>
<td align="center" rowspan="1" colspan="1">0.00007</td>
<td align="center" rowspan="1" colspan="1">14285.7</td>
<td align="center" rowspan="1" colspan="1">0.00018</td>
<td align="center" rowspan="1" colspan="1">5555.6</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="tab2" orientation="portrait" position="float"><label>Table 2</label>
<caption><p>Running time of different models based on global SPH.</p>
</caption>
<table frame="hsides" rules="groups"><thead><tr><th align="left" rowspan="3" colspan="1">Number of particles</th>
<th align="center" colspan="4" rowspan="1">Running time</th>
</tr>
<tr><th align="center" colspan="4" rowspan="1"><italic>h</italic>
</th>
</tr>
<tr><th align="center" rowspan="1" colspan="1"><italic>h</italic>
= 0.3</th>
<th align="center" rowspan="1" colspan="1"><italic>h</italic>
= 0.5</th>
<th align="center" rowspan="1" colspan="1"><italic>h</italic>
= 0.6</th>
<th align="center" rowspan="1" colspan="1"><italic>h</italic>
= 0.8</th>
</tr>
</thead>
<tbody><tr><td align="left" rowspan="1" colspan="1">3670</td>
<td align="center" rowspan="1" colspan="1">0.026</td>
<td align="center" rowspan="1" colspan="1">0.089</td>
<td align="center" rowspan="1" colspan="1">0.15</td>
<td align="center" rowspan="1" colspan="1">0.31</td>
</tr>
<tr><td align="left" rowspan="1" colspan="1">1289</td>
<td align="center" rowspan="1" colspan="1">0.003</td>
<td align="center" rowspan="1" colspan="1">0.011</td>
<td align="center" rowspan="1" colspan="1">0.018</td>
<td align="center" rowspan="1" colspan="1">0.04</td>
</tr>
<tr><td align="left" rowspan="1" colspan="1">743</td>
<td align="center" rowspan="1" colspan="1">0.0012</td>
<td align="center" rowspan="1" colspan="1">0.0054</td>
<td align="center" rowspan="1" colspan="1">0.0069</td>
<td align="center" rowspan="1" colspan="1">0.12</td>
</tr>
<tr><td align="left" rowspan="1" colspan="1">572</td>
<td align="center" rowspan="1" colspan="1">0.0007</td>
<td align="center" rowspan="1" colspan="1">0.0022</td>
<td align="center" rowspan="1" colspan="1">0.0035</td>
<td align="center" rowspan="1" colspan="1">0.0073</td>
</tr>
<tr><td align="left" rowspan="1" colspan="1">289</td>
<td align="center" rowspan="1" colspan="1">0.00047</td>
<td align="center" rowspan="1" colspan="1">0.00056</td>
<td align="center" rowspan="1" colspan="1">0.00063</td>
<td align="center" rowspan="1" colspan="1">0.0011</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="tab3" orientation="portrait" position="float"><label>Table 3</label>
<caption><p>Running time of different models by SPH based on dynamic local interaction area.</p>
</caption>
<table frame="hsides" rules="groups"><thead><tr><th align="left" rowspan="3" colspan="1">Number of particles</th>
<th align="center" colspan="4" rowspan="1">Running time</th>
</tr>
<tr><th align="center" colspan="4" rowspan="1"><italic>h</italic>
</th>
</tr>
<tr><th align="center" rowspan="1" colspan="1"><italic>h</italic>
= 0.3</th>
<th align="center" rowspan="1" colspan="1"><italic>h</italic>
= 0.5</th>
<th align="center" rowspan="1" colspan="1"><italic>h</italic>
= 0.6</th>
<th align="center" rowspan="1" colspan="1"><italic>h</italic>
= 0.8</th>
</tr>
</thead>
<tbody><tr><td align="left" rowspan="1" colspan="1">3670</td>
<td align="center" rowspan="1" colspan="1">0.0032</td>
<td align="center" rowspan="1" colspan="1">0.0056</td>
<td align="center" rowspan="1" colspan="1">0.0079</td>
<td align="center" rowspan="1" colspan="1">0.02</td>
</tr>
<tr><td align="left" rowspan="1" colspan="1">1289</td>
<td align="center" rowspan="1" colspan="1">0.001</td>
<td align="center" rowspan="1" colspan="1">0.0014</td>
<td align="center" rowspan="1" colspan="1">0.0021</td>
<td align="center" rowspan="1" colspan="1">0.0056</td>
</tr>
<tr><td align="left" rowspan="1" colspan="1">743</td>
<td align="center" rowspan="1" colspan="1">0.00063</td>
<td align="center" rowspan="1" colspan="1">0.00073</td>
<td align="center" rowspan="1" colspan="1">0.00097</td>
<td align="center" rowspan="1" colspan="1">0.0017</td>
</tr>
<tr><td align="left" rowspan="1" colspan="1">572</td>
<td align="center" rowspan="1" colspan="1">0.00047</td>
<td align="center" rowspan="1" colspan="1">0.00052</td>
<td align="center" rowspan="1" colspan="1">0.00055</td>
<td align="center" rowspan="1" colspan="1">0.0012</td>
</tr>
<tr><td align="left" rowspan="1" colspan="1">289</td>
<td align="center" rowspan="1" colspan="1">0.00031</td>
<td align="center" rowspan="1" colspan="1">0.00033</td>
<td align="center" rowspan="1" colspan="1">0.00033</td>
<td align="center" rowspan="1" colspan="1">0.0004</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="tab4" orientation="portrait" position="float"><label>Table 4</label>
<caption><p>Calculation efficiency with different local radius.</p>
</caption>
<table frame="hsides" rules="groups"><thead><tr><th align="left" rowspan="1" colspan="1">Interaction radius</th>
<th align="center" rowspan="1" colspan="1"><italic>k</italic>
<sub>1</sub>
= 0.5∗<italic>f</italic>
<sub><italic>ext</italic>
</sub>
</th>
<th align="center" rowspan="1" colspan="1"><italic>k</italic>
<sub>1</sub>
= 0.8∗<italic>f</italic>
<sub><italic>ext</italic>
</sub>
</th>
<th align="center" rowspan="1" colspan="1"><italic>k</italic>
<sub>1</sub>
= 1.0∗<italic>f</italic>
<sub><italic>ext</italic>
</sub>
</th>
</tr>
</thead>
<tbody><tr><td align="left" rowspan="1" colspan="1">Time (s)</td>
<td align="center" rowspan="1" colspan="1">0.0027</td>
<td align="center" rowspan="1" colspan="1">0.0073</td>
<td align="center" rowspan="1" colspan="1">0.02</td>
</tr>
<tr><td align="left" rowspan="1" colspan="1">Rate (HZ)</td>
<td align="center" rowspan="1" colspan="1">370.4</td>
<td align="center" rowspan="1" colspan="1">137.0</td>
<td align="center" rowspan="1" colspan="1">50</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="tab5" orientation="portrait" position="float"><label>Table 5</label>
<caption><p>Calculation efficiency with different transmission layer.</p>
</caption>
<table frame="hsides" rules="groups"><thead><tr><th align="left" rowspan="1" colspan="1"> Transmission layer</th>
<th align="center" rowspan="1" colspan="1"><italic>N</italic>
= 1</th>
<th align="center" rowspan="1" colspan="1"><italic>N</italic>
= 2</th>
<th align="center" rowspan="1" colspan="1"><italic>N</italic>
= 3</th>
<th align="center" rowspan="1" colspan="1"><italic>N</italic>
= 4</th>
</tr>
</thead>
<tbody><tr><td align="left" rowspan="1" colspan="1">Time (s)</td>
<td align="center" rowspan="1" colspan="1">0.00186</td>
<td align="center" rowspan="1" colspan="1">0.0027</td>
<td align="center" rowspan="1" colspan="1">0.00357</td>
<td align="center" rowspan="1" colspan="1">0.00473</td>
</tr>
<tr><td align="left" rowspan="1" colspan="1">Rate (HZ)</td>
<td align="center" rowspan="1" colspan="1">537.6</td>
<td align="center" rowspan="1" colspan="1">370.4</td>
<td align="center" rowspan="1" colspan="1">280.1</td>
<td align="center" rowspan="1" colspan="1">211.4</td>
</tr>
</tbody>
</table>
</table-wrap>
</floats-group>
</pmc>
</record>
Pour manipuler ce document sous Unix (Dilib)
EXPLOR_STEP=$WICRI_ROOT/Ticri/CIDE/explor/HapticV1/Data/Pmc/Curation
HfdSelect -h $EXPLOR_STEP/biblio.hfd -nk 000152 | SxmlIndent | more
Ou
HfdSelect -h $EXPLOR_AREA/Data/Pmc/Curation/biblio.hfd -nk 000152 | SxmlIndent | more
Pour mettre un lien sur cette page dans le réseau Wicri
{{Explor lien |wiki= Ticri/CIDE |area= HapticV1 |flux= Pmc |étape= Curation |type= RBID |clé= PMC:4568357 |texte= Deformation of Soft Tissue and Force Feedback Using the Smoothed Particle Hydrodynamics }}
Pour générer des pages wiki
HfdIndexSelect -h $EXPLOR_AREA/Data/Pmc/Curation/RBID.i -Sk "pubmed:26417380" \ | HfdSelect -Kh $EXPLOR_AREA/Data/Pmc/Curation/biblio.hfd \ | NlmPubMed2Wicri -a HapticV1
![]() | This area was generated with Dilib version V0.6.23. | ![]() |