#! /usr/bin/env python3 # -*- coding: utf-8 -*- # Dolicorhynchops osborni FHSM VP404 # 10k faces on the mandible surface def parms(d={}): p = {} path = 'CLIpro/250k' p['mandible'] = f'{path}/CLIpro_jaw_250k.stl' p['teeth'] = [[-34.058887, 21.742476, 9.846808], [33.013206, 24.755995, -0.564457]] p['LTMJ'] = [47.686401, 205.691238, 26.261269] p['RTMJ'] = [-50.710445, 204.954971, 26.360205] p['muscles'] = [ { 'file': f'{path}/M_AE_L1.stl', 'force': 100.61, 'focalpt': [47.666592, 175.921521, 79.560751], 'method': 'T+N' # 'U', 'T', 'T+N' }, { 'file': f'{path}/M_AE_L2.stl', 'force': 100.61, 'focalpt': [47.666592, 175.921521, 79.560751], 'method': 'T+N' # 'U', 'T', 'T+N' }, { 'file': f'{path}/M_AE_R1.stl', 'force': 100.42, 'focalpt': [-46.419570, 177.561510, 79.317629], 'method': 'T+N' # 'U', 'T', 'T+N' }, { 'file': f'{path}/M_AE_R2.stl', 'force': 100.42, 'focalpt': [-46.419570, 177.561510, 79.317629], 'method': 'T+N' # 'U', 'T', 'T+N' }, { 'file': f'{path}/M_AME_L.stl', 'force': 77.85, 'focalpt': [43.567966, 176.516406, 79.835879], 'method': 'T+N' # 'U', 'T', 'T+N' }, { 'file': f'{path}/M_AME_R.stl', 'force': 74.91, 'focalpt': [-42.606496, 177.966337, 79.681598], 'method': 'T+N' # 'U', 'T', 'T+N' }, { 'file': f'{path}/M_AMP_L.stl', 'force': 60.38, 'focalpt': [40.948735, 196.405144, 60.200407], 'method': 'T+N' # 'U', 'T', 'T+N' }, { 'file': f'{path}/M_AMP_R.stl', 'force': 60.63, 'focalpt': [-45.187592, 194.885808, 60.386860], 'method': 'T+N' # 'U', 'T', 'T+N' }, { 'file': f'{path}/M_PTP_L.stl', 'force': 286.95, 'focalpt': [16.500735, 183.994988, 75.391863], 'method': 'T+N' # 'U', 'T', 'T+N' }, { 'file': f'{path}/M_PTP_R.stl', 'force': 322.07, 'focalpt': [-16.500735, 183.994988, 75.391863], 'method': 'T+N' # 'U', 'T', 'T+N' }, { 'file': f'{path}/M_PTS_L.stl', 'force': 57.40, 'focalpt': [17.648059, 160.594971, 74.091063], 'method': 'T+N' # 'U', 'T', 'T+N' }, { 'file': f'{path}/M_PTS_R.stl', 'force': 60.05, 'focalpt': [-12.290623, 162.896808, 75.891315], '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 bonemodel as model return model.getMetafor(parms(p))