MATLAB script for slope stability calculations with 
COMSOL Multiphysics 
 
THESIS PRESENTED TO ÉCOLE DE TECHNOLOGIE SUPÉRIEURE 
IN PARTIAL FULFILLMENT FOR A MASTER’S DEGREE 
WITH THESIS IN CONSTRUCTION ENGINEERING 
M.A.Sc. 
MONTREAL, AUGUST 8, 2017 
ÉCOLE DE TECHNOLOGIE SUPÉRIEURE 
UNIVERSITÉ DU QUÉBEC 
 
© Copyright, Salah Ahmed, 2017, All rights reserved
by 
 
Salah AHMED 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
© Copyright reserved  
It is forbidden to reproduce, save or share the content of this document either in whole or in parts. The reader 
who wishes to print or save this document on any media must first get the permission of the author. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
BOARD OF EXAMINERS  
THIS THESIS HAS BEEN EVALUATED 
BY THE FOLLOWING BOARD OF EXAMINERS 
 
 
 
 
 
 
Mr. François Duhaime, Thesis Supervisor 
Construction Engineering Department at École de technologie supérieure 
 
 
Mr. Yannic Ethier, Thesis Co-supervisor 
Construction Engineering Department at École de technologie supérieure 
 
 
Mr. Lotfi Guizani, President of the Board of Examiners 
Construction Engineering Department at École de technologie supérieure 
 
 
Mr. Michel Vaillancourt, Member of the jury 
Construction Engineering Department at École de technologie supérieure 
 
 
 
 
 
 
THIS THESIS WAS DEFENDED 
 
 
 
 
IN THE PRESENCE OF A BOARD OF EXAMINERS AND PUBLIC 
JULY 26, 2017 
 
AT ÉCOLE DE TECHNOLOGIE SUPÉRIEURE 
 
 
ACKNOWLEDGMENT  
 
I would like to thank my supervisor Professor Francois Duhaime for his excellent guidance, 
patience, availability, and support, and for providing me with an excellent atmosphere during 
the  last  two  years.  I  would  like  to  thank  him  also  for  encouraging  me  to  increase  my 
knowledge about research in general and programming more specifically. Finally, I would 
like to thank him for his patience and cooperation during the thesis writing and correction 
period.  
 
I  would  like  to  thank  my  co-supervisor,  Yannic  Ethier,  for  his  patience,  humility  and 
kindness, especially during the course period. I would like to thank him for his understanding 
and support during my Master. 
 
I would also like to thank my parents. They always supported and encouraged me with their 
best wishes. Finally, I would like to thank my wife. She has always supported me through 
both good and bad times. 
 
 
MATLAB SCRIPT FOR SLOPE STABILITY CALCULATIONS WITH COMSOL 
 
MULTIPHYSICS 
 
Salah AHMED 
 
RÉSUMÉ 
 
Un nouveau script MATLAB a été développé et programmé pour la réalisation d’analyses de 
stabilité  de  pente  avec  le  logiciel  d’éléments  finis  (EF)  COMSOL  Multiphysics.  Le  script 
MATLAB  calcule  un  facteur  de  sécurité  basé  sur  le  champ  de  contraintes  calculé  avec 
COMSOL  Multiphysics.  Les  contraintes  sont  calculées  en  supposant  un  comportement 
linéaire-élastique basé sur un module d’Young et un coefficient de Poisson. Le script permet 
de  tester  une  série  de  surfaces  de  rupture  circulaires  définies  par  les  coordonnées  de  leur 
centre et leur rayon. Le script vérifie tout d’abord l’intersection de la pente et de la surface de 
rupture. La portion de la surface de rupture à l’intérieur de la pente est ensuite divisée en une 
série  de  tranches  d’égales  largeurs.  Les  contraintes  sont  calculées  au  centre  de  la  base  de 
chaque tranche le long de la surface de rupture. Les tenseurs des contraintes subissent ensuite 
une rotation en fonction de l’angle de la base de chaque tranche pour calculer les contraintes 
normales et de cisaillement. Les contraintes normales sont utilisées avec les paramètres de 
Mohr-Coulomb  pour  calculer  la  résistance  au  cisaillement.  La  contrainte  de  cisaillement 
mobilisée  correspond  à  la  contrainte  de  cisaillement  calculée  avec  la  méthode  des  EF. 
Finalement,  un  facteur  de  sécurité  global  est  calculé  en  se  basant  sur  le  rapport  entre  la 
somme des forces de résistance et la somme des forces mobilisées. Le nouveau script a été 
vérifié  avec  le  code  d’éléments  finis  SIGMA/W  pour  le  calcul  des  contraintes  et  avec 
SLOPE/W pour les calculs de facteurs de sécurité. Quatre pentes différentes ont été utilisées 
pour la vérification du code : une pente uniforme, une pente en gradins, une pente raide et 
une pente uniforme dans un dépôt de sol stratifié. Les mêmes surfaces de rupture critiques 
avec  des  facteurs  de  sécurité  similaires  ont  été  obtenues  avec  le  script  MATLAB  et  avec 
SLOPE/W.  Le  nouveau  code  MATLAB  permet  d’étendre  la  gamme  d’applications 
géotechniques multiphysiques pouvant être étudiées avec COMSOL. La thèse fournit aussi 
une série de recommandations pour améliorer le script MATLAB. Il est entre autres suggéré 
de programmer une méthode d’analyse par réduction de force, de vérifier le code avec des 
exemples  impliquant  une  pression  interstitielle  et  de  réaliser  l’intégration  des  forces 
directement dans COMSOL en utilisant des couplages d’intégration. 
 
 
Mots-clés: stabilité de la pente, analyse par éléments finis, COMSOL Multiphysics, script 
programmation  MATLAB,  surface  de  glissement  critique,  résistance  au  cisaillement, 
contrainte de cisaillement mobilisée, facteur de sécurité.