diff --git a/models/README.md b/models/README.md index 003592e31877d38b571c83314cad2112c3ec9535..3c2d28fb1a30973a98089e4f01e9f0cccd344c4a 100644 --- a/models/README.md +++ b/models/README.md @@ -84,3 +84,7 @@ cd workspace ./send_tbz2_to_dox.sh # <= send the tbz2 files to DoX ``` +To be fixed: (too many time steps - wrong input data?) +* TYLber_250k_7_2_bad.py +* TYLber_250k_15_2_bad.py +All the other simulations ran successfully. diff --git a/models/TYLber_250k_15_2.py b/models/TYLber_250k_15_2_bad.py similarity index 97% rename from models/TYLber_250k_15_2.py rename to models/TYLber_250k_15_2_bad.py index 28fd56443bbdd8de65513c0b170a092c85d267f1..bdcfc8237e7f3d07fa0e823bd412e4d7e0d39545 100644 --- a/models/TYLber_250k_15_2.py +++ b/models/TYLber_250k_15_2_bad.py @@ -1,106 +1,106 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni FHSM VP404 -# 10k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'TYLber/250k' - p['mandible'] = f'{path}/TYLber_jaw_250k.stl' - p['teeth'] = [[159.370773, 150.709351, 18.192839], - [-152.182220, 150.355057, 22.975760]] - p['LTMJ'] = [-249.095215, -528.940735, -12.830746] - p['RTMJ'] = [259.810211, -524.600159, -11.910051] - p['muscles'] = [ - { - 'file': f'{path}/M_AE_L1.stl', - 'force': 3737.50, - 'focalpt': [226.948122, -404.676272, 293.141858], - 'method': 'T+N' # 'U', 'T', 'T+N' - }, - { - 'file': f'{path}/M_AE_L2.stl', - 'force': 3737.50, - 'focalpt': [226.948122, -404.676272, 293.141858], - 'method': 'T+N' # 'U', 'T', 'T+N' - }, - { - 'file': f'{path}/M_AE_R1.stl', - 'force': 3759.12, - 'focalpt': [239.875595, -405.973439, 293.128592], - 'method': 'T+N' # 'U', 'T', 'T+N' - }, - { - 'file': f'{path}/M_AE_R2.stl', - 'force': 3759.12, - 'focalpt': [239.875595, -405.973439, 293.128592], - 'method': 'T+N' # 'U', 'T', 'T+N' - }, - { - 'file': f'{path}/M_AME_L.stl', - 'force': 2365.71, - 'focalpt': [-187.848876, -398.299265, 300.243918], - 'method': 'T+N' # 'U', 'T', 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 2365.96, - 'focalpt': [199.782001, -398.895180, 297.404123], - 'method': 'T+N' # 'U', 'T', 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 1153.30, - 'focalpt': [-238.123377, -515.250915, 168.606158], - 'method': 'T+N' # 'U', 'T', 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 1130.47, - 'focalpt': [250.214506, -511.788168, 169.664531], - 'method': 'T+N' # 'U', 'T', 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 11453.79, - 'focalpt': [-83.203736, -487.096873, 299.673390], - 'method': 'T+N' # 'U', 'T', 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 11344.36, - 'focalpt': [83.203736, -487.096873, 299.673390], - 'method': 'T+N' # 'U', 'T', 'T+N' - }, - { - 'file': f'{path}/M_PTS_L.stl', - 'force': 1925.31, - 'focalpt': [-28.686907, -361.550465, 316.886714], - 'method': 'T+N' # 'U', 'T', 'T+N' - }, - { - 'file': f'{path}/M_PTS_R.stl', - 'force': 1955.85, - 'focalpt': [5.246492, -370.196322, 312.427152], - 'method': 'T+N' # 'U', 'T', 'T+N' - } - ] - p['fixations'] = { - 'teeth': ['z'], - 'LTMJ': ['x', 'z','y'], - 'RTMJ': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - bone: 1.850 kg/l - p['Young'] = 15000. # [MPa] elastic modulus - bone: 17-20 GPa - p['Poisson'] = 0.3 # [-] Poisson's ratio - - p.update(d) - return p - - -def getMetafor(p={}): - import mandiblemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Dolicorhynchops osborni FHSM VP404 +# 10k faces on the mandible surface + + +def parms(d={}): + p = {} + path = 'TYLber/250k' + p['mandible'] = f'{path}/TYLber_jaw_250k.stl' + p['teeth'] = [[159.370773, 150.709351, 18.192839], + [-152.182220, 150.355057, 22.975760]] + p['LTMJ'] = [-249.095215, -528.940735, -12.830746] + p['RTMJ'] = [259.810211, -524.600159, -11.910051] + p['muscles'] = [ + { + 'file': f'{path}/M_AE_L1.stl', + 'force': 3737.50, + 'focalpt': [226.948122, -404.676272, 293.141858], + 'method': 'T+N' # 'U', 'T', 'T+N' + }, + { + 'file': f'{path}/M_AE_L2.stl', + 'force': 3737.50, + 'focalpt': [226.948122, -404.676272, 293.141858], + 'method': 'T+N' # 'U', 'T', 'T+N' + }, + { + 'file': f'{path}/M_AE_R1.stl', + 'force': 3759.12, + 'focalpt': [239.875595, -405.973439, 293.128592], + 'method': 'T+N' # 'U', 'T', 'T+N' + }, + { + 'file': f'{path}/M_AE_R2.stl', + 'force': 3759.12, + 'focalpt': [239.875595, -405.973439, 293.128592], + 'method': 'T+N' # 'U', 'T', 'T+N' + }, + { + 'file': f'{path}/M_AME_L.stl', + 'force': 2365.71, + 'focalpt': [-187.848876, -398.299265, 300.243918], + 'method': 'T+N' # 'U', 'T', 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 2365.96, + 'focalpt': [199.782001, -398.895180, 297.404123], + 'method': 'T+N' # 'U', 'T', 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 1153.30, + 'focalpt': [-238.123377, -515.250915, 168.606158], + 'method': 'T+N' # 'U', 'T', 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 1130.47, + 'focalpt': [250.214506, -511.788168, 169.664531], + 'method': 'T+N' # 'U', 'T', 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 11453.79, + 'focalpt': [-83.203736, -487.096873, 299.673390], + 'method': 'T+N' # 'U', 'T', 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 11344.36, + 'focalpt': [83.203736, -487.096873, 299.673390], + 'method': 'T+N' # 'U', 'T', 'T+N' + }, + { + 'file': f'{path}/M_PTS_L.stl', + 'force': 1925.31, + 'focalpt': [-28.686907, -361.550465, 316.886714], + 'method': 'T+N' # 'U', 'T', 'T+N' + }, + { + 'file': f'{path}/M_PTS_R.stl', + 'force': 1955.85, + 'focalpt': [5.246492, -370.196322, 312.427152], + 'method': 'T+N' # 'U', 'T', 'T+N' + } + ] + p['fixations'] = { + 'teeth': ['z'], + 'LTMJ': ['x', 'z','y'], + 'RTMJ': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] - bone: 1.850 kg/l + p['Young'] = 15000. # [MPa] elastic modulus - bone: 17-20 GPa + p['Poisson'] = 0.3 # [-] Poisson's ratio + + p.update(d) + return p + + +def getMetafor(p={}): + import mandiblemodel as model + return model.getMetafor(parms(p)) diff --git a/models/TYLber_250k_7_2.py b/models/TYLber_250k_7_2_bad.py similarity index 97% rename from models/TYLber_250k_7_2.py rename to models/TYLber_250k_7_2_bad.py index 7b8756133accaacf44a6980a4636b2d0e54ecbe5..087a2ee378133ed597374be4543dd327b07a8f5b 100644 --- a/models/TYLber_250k_7_2.py +++ b/models/TYLber_250k_7_2_bad.py @@ -1,106 +1,106 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni FHSM VP404 -# 10k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'TYLber/250k' - p['mandible'] = f'{path}/TYLber_jaw_250k.stl' - p['teeth'] = [[159.370773, 150.709351, 18.192839], - [-152.182220, 150.355057, 22.975760]] - p['LTMJ'] = [-249.095215, -528.940735, -12.830746] - p['RTMJ'] = [259.810211, -524.600159, -11.910051] - p['muscles'] = [ - { - 'file': f'{path}/M_AE_L1.stl', - 'force': 3737.50, - 'focalpt': [-188.187696, -369.873120, 275.914061], - 'method': 'T+N' # 'U', 'T', 'T+N' - }, - { - 'file': f'{path}/M_AE_L2.stl', - 'force': 3737.50, - 'focalpt': [-188.187696, -369.873120, 275.914061], - 'method': 'T+N' # 'U', 'T', 'T+N' - }, - { - 'file': f'{path}/M_AE_R1.stl', - 'force': 3759.12, - 'focalpt': [239.457293, -372.692345, 270.350792], - 'method': 'T+N' # 'U', 'T', 'T+N' - }, - { - 'file': f'{path}/M_AE_R2.stl', - 'force': 3759.12, - 'focalpt': [239.457293, -372.692345, 270.350792], - 'method': 'T+N' # 'U', 'T', 'T+N' - }, - { - 'file': f'{path}/M_AME_L.stl', - 'force': 2365.71, - 'focalpt': [-227.291904, -372.899411, 271.130366], - 'method': 'T+N' # 'U', 'T', 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 2365.96, - 'focalpt': [199.701736, -364.593452, 274.337915], - 'method': 'T+N' # 'U', 'T', 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 1153.30, - 'focalpt': [-239.910482, -497.053749, 161.755878], - 'method': 'T+N' # 'U', 'T', 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 1130.47, - 'focalpt': [251.670671, -493.669607, 163.115757], - 'method': 'T+N' # 'U', 'T', 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 11453.79, - 'focalpt': [-86.780031, -452.169701, 286.960360], - 'method': 'T+N' # 'U', 'T', 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 11344.36, - 'focalpt': [65.724326, -455.237748, 285.824986], - 'method': 'T+N' # 'U', 'T', 'T+N' - }, - { - 'file': f'{path}/M_PTS_L.stl', - 'force': 1925.31, - 'focalpt': [-28.340770, -326.256797, 288.260067], - 'method': 'T+N' # 'U', 'T', 'T+N' - }, - { - 'file': f'{path}/M_PTS_R.stl', - 'force': 1955.85, - 'focalpt': [6.631490, -329.778752, 284.720894], - 'method': 'T+N' # 'U', 'T', 'T+N' - } - ] - p['fixations'] = { - 'teeth': ['z'], - 'LTMJ': ['x', 'z','y'], - 'RTMJ': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - bone: 1.850 kg/l - p['Young'] = 15000. # [MPa] elastic modulus - bone: 17-20 GPa - p['Poisson'] = 0.3 # [-] Poisson's ratio - - p.update(d) - return p - - -def getMetafor(p={}): - import mandiblemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Dolicorhynchops osborni FHSM VP404 +# 10k faces on the mandible surface + + +def parms(d={}): + p = {} + path = 'TYLber/250k' + p['mandible'] = f'{path}/TYLber_jaw_250k.stl' + p['teeth'] = [[159.370773, 150.709351, 18.192839], + [-152.182220, 150.355057, 22.975760]] + p['LTMJ'] = [-249.095215, -528.940735, -12.830746] + p['RTMJ'] = [259.810211, -524.600159, -11.910051] + p['muscles'] = [ + { + 'file': f'{path}/M_AE_L1.stl', + 'force': 3737.50, + 'focalpt': [-188.187696, -369.873120, 275.914061], + 'method': 'T+N' # 'U', 'T', 'T+N' + }, + { + 'file': f'{path}/M_AE_L2.stl', + 'force': 3737.50, + 'focalpt': [-188.187696, -369.873120, 275.914061], + 'method': 'T+N' # 'U', 'T', 'T+N' + }, + { + 'file': f'{path}/M_AE_R1.stl', + 'force': 3759.12, + 'focalpt': [239.457293, -372.692345, 270.350792], + 'method': 'T+N' # 'U', 'T', 'T+N' + }, + { + 'file': f'{path}/M_AE_R2.stl', + 'force': 3759.12, + 'focalpt': [239.457293, -372.692345, 270.350792], + 'method': 'T+N' # 'U', 'T', 'T+N' + }, + { + 'file': f'{path}/M_AME_L.stl', + 'force': 2365.71, + 'focalpt': [-227.291904, -372.899411, 271.130366], + 'method': 'T+N' # 'U', 'T', 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 2365.96, + 'focalpt': [199.701736, -364.593452, 274.337915], + 'method': 'T+N' # 'U', 'T', 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 1153.30, + 'focalpt': [-239.910482, -497.053749, 161.755878], + 'method': 'T+N' # 'U', 'T', 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 1130.47, + 'focalpt': [251.670671, -493.669607, 163.115757], + 'method': 'T+N' # 'U', 'T', 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 11453.79, + 'focalpt': [-86.780031, -452.169701, 286.960360], + 'method': 'T+N' # 'U', 'T', 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 11344.36, + 'focalpt': [65.724326, -455.237748, 285.824986], + 'method': 'T+N' # 'U', 'T', 'T+N' + }, + { + 'file': f'{path}/M_PTS_L.stl', + 'force': 1925.31, + 'focalpt': [-28.340770, -326.256797, 288.260067], + 'method': 'T+N' # 'U', 'T', 'T+N' + }, + { + 'file': f'{path}/M_PTS_R.stl', + 'force': 1955.85, + 'focalpt': [6.631490, -329.778752, 284.720894], + 'method': 'T+N' # 'U', 'T', 'T+N' + } + ] + p['fixations'] = { + 'teeth': ['z'], + 'LTMJ': ['x', 'z','y'], + 'RTMJ': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] - bone: 1.850 kg/l + p['Young'] = 15000. # [MPa] elastic modulus - bone: 17-20 GPa + p['Poisson'] = 0.3 # [-] Poisson's ratio + + p.update(d) + return p + + +def getMetafor(p={}): + import mandiblemodel as model + return model.getMetafor(parms(p))