From 0af2d917ccc8eea68ed8d3d40d8592e59811f2f3 Mon Sep 17 00:00:00 2001 From: Romain Boman <r.boman@uliege.be> Date: Wed, 23 Feb 2022 14:57:36 +0100 Subject: [PATCH] move files to subfolders --- models/{ => CLIpro}/CLIpro_150k_15_1.py | 212 ++++++++--------- models/{ => CLIpro}/CLIpro_150k_15_2.py | 212 ++++++++--------- models/{ => CLIpro}/CLIpro_150k_7_1.py | 212 ++++++++--------- models/{ => CLIpro}/CLIpro_150k_7_2.py | 212 ++++++++--------- models/{ => CLIpro}/CLIpro_250k_15_1.py | 212 ++++++++--------- models/{ => CLIpro}/CLIpro_250k_15_2.py | 212 ++++++++--------- models/{ => CLIpro}/CLIpro_250k_7_1.py | 212 ++++++++--------- models/{ => CLIpro}/CLIpro_250k_7_2.py | 212 ++++++++--------- models/{ => CLIpro}/CLIpro_500k_15_1.py | 212 ++++++++--------- models/{ => CLIpro}/CLIpro_500k_15_2.py | 212 ++++++++--------- models/{ => CLIpro}/CLIpro_500k_7_1.py | 212 ++++++++--------- models/{ => CLIpro}/CLIpro_500k_7_2.py | 212 ++++++++--------- models/{ => CLIpro}/CLIpro_750k_15_1.py | 212 ++++++++--------- models/{ => CLIpro}/CLIpro_750k_15_2.py | 212 ++++++++--------- models/{ => CLIpro}/CLIpro_750k_7_1.py | 212 ++++++++--------- models/{ => CLIpro}/CLIpro_750k_7_2.py | 212 ++++++++--------- models/CLIpro/__init__.py | 0 .../{ => Dolico_bon}/Dolico_bon_150k_15_1.py | 138 ++++++------ .../{ => Dolico_bon}/Dolico_bon_150k_15_2.py | 138 ++++++------ .../{ => Dolico_bon}/Dolico_bon_150k_7_1.py | 138 ++++++------ .../{ => Dolico_bon}/Dolico_bon_150k_7_2.py | 138 ++++++------ .../{ => Dolico_bon}/Dolico_bon_250k_15_1.py | 138 ++++++------ .../{ => Dolico_bon}/Dolico_bon_250k_15_2.py | 138 ++++++------ .../{ => Dolico_bon}/Dolico_bon_250k_7_1.py | 138 ++++++------ .../{ => Dolico_bon}/Dolico_bon_250k_7_2.py | 138 ++++++------ .../{ => Dolico_bon}/Dolico_bon_500k_15_1.py | 138 ++++++------ .../{ => Dolico_bon}/Dolico_bon_500k_15_2.py | 138 ++++++------ .../{ => Dolico_bon}/Dolico_bon_500k_7_1.py | 138 ++++++------ .../{ => Dolico_bon}/Dolico_bon_500k_7_2.py | 138 ++++++------ .../{ => Dolico_bon}/Dolico_bon_750k_15_1.py | 138 ++++++------ .../{ => Dolico_bon}/Dolico_bon_750k_15_2.py | 138 ++++++------ .../{ => Dolico_bon}/Dolico_bon_750k_7_1.py | 138 ++++++------ .../{ => Dolico_bon}/Dolico_bon_750k_7_2.py | 138 ++++++------ models/Dolico_bon/__init__.py | 0 .../{ => Dolico_osb}/Dolico_osb_150k_15_1.py | 138 ++++++------ .../{ => Dolico_osb}/Dolico_osb_150k_15_2.py | 138 ++++++------ .../{ => Dolico_osb}/Dolico_osb_150k_7_1.py | 138 ++++++------ .../{ => Dolico_osb}/Dolico_osb_150k_7_2.py | 138 ++++++------ .../{ => Dolico_osb}/Dolico_osb_250k_15_1.py | 138 ++++++------ .../{ => Dolico_osb}/Dolico_osb_250k_15_2.py | 138 ++++++------ .../{ => Dolico_osb}/Dolico_osb_250k_7_1.py | 138 ++++++------ .../{ => Dolico_osb}/Dolico_osb_250k_7_2.py | 140 ++++++------ .../{ => Dolico_osb}/Dolico_osb_500k_15_1.py | 138 ++++++------ .../{ => Dolico_osb}/Dolico_osb_500k_15_2.py | 140 ++++++------ .../{ => Dolico_osb}/Dolico_osb_500k_7_1.py | 138 ++++++------ .../{ => Dolico_osb}/Dolico_osb_500k_7_2.py | 138 ++++++------ .../{ => Dolico_osb}/Dolico_osb_750k_15_1.py | 140 ++++++------ .../{ => Dolico_osb}/Dolico_osb_750k_15_2.py | 138 ++++++------ .../{ => Dolico_osb}/Dolico_osb_750k_7_1.py | 140 ++++++------ .../{ => Dolico_osb}/Dolico_osb_750k_7_2.py | 138 ++++++------ models/Dolico_osb/__init__.py | 0 .../PLTtympFranken_150k_15_1.py | 211 +++++++++-------- .../PLTtympFranken_150k_15_2.py | 211 +++++++++-------- .../PLTtympFranken_150k_7_1.py | 211 +++++++++-------- .../PLTtympFranken_150k_7_2.py | 211 +++++++++-------- .../PLTtympFranken_20k.py | 3 +- .../PLTtympFranken_250k.py | 3 +- .../PLTtympFranken_250k_15_1.py | 213 +++++++++--------- .../PLTtympFranken_250k_15_2.py | 213 +++++++++--------- .../PLTtympFranken_250k_7_1.py | 213 +++++++++--------- .../PLTtympFranken_250k_7_2.py | 213 +++++++++--------- .../PLTtympFranken_500k_15_1.py | 212 ++++++++--------- .../PLTtympFranken_500k_15_2.py | 212 ++++++++--------- .../PLTtympFranken_500k_7_1.py | 212 ++++++++--------- .../PLTtympFranken_500k_7_2.py | 212 ++++++++--------- .../PLTtympFranken_750k.py | 2 +- .../PLTtympFranken_750k_15_1.py | 212 ++++++++--------- .../PLTtympFranken_750k_15_2.py | 212 ++++++++--------- .../PLTtympFranken_750k_7_1.py | 212 ++++++++--------- .../PLTtympFranken_750k_7_2.py | 212 ++++++++--------- models/PLTtymFrankencarpus/__init__.py | 0 .../Panthera_pardus_RC_30.py | 0 models/Panthera_pardus/__init__.py | 0 models/{ => TYLber}/TYLber_150k_15_1.py | 211 +++++++++-------- models/{ => TYLber}/TYLber_150k_15_2.py | 211 +++++++++-------- models/{ => TYLber}/TYLber_150k_7_1.py | 211 +++++++++-------- models/{ => TYLber}/TYLber_150k_7_2.py | 211 +++++++++-------- models/{ => TYLber}/TYLber_250k_15_1.py | 211 +++++++++-------- models/{ => TYLber}/TYLber_250k_15_2_bad.py | 3 +- models/{ => TYLber}/TYLber_250k_7_1.py | 211 +++++++++-------- models/{ => TYLber}/TYLber_250k_7_2_bad.py | 3 +- models/{ => TYLber}/TYLber_500k_15_1.py | 211 +++++++++-------- models/{ => TYLber}/TYLber_500k_15_2.py | 211 +++++++++-------- models/{ => TYLber}/TYLber_500k_7_1.py | 211 +++++++++-------- models/{ => TYLber}/TYLber_500k_7_2.py | 213 +++++++++--------- models/{ => TYLber}/TYLber_750k_15_1.py | 211 +++++++++-------- models/{ => TYLber}/TYLber_750k_15_2.py | 211 +++++++++-------- models/{ => TYLber}/TYLber_750k_7_1.py | 211 +++++++++-------- models/{ => TYLber}/TYLber_750k_7_2.py | 211 +++++++++-------- models/TYLber/__init__.py | 0 models/{ => TYLnep}/TYLnep_150k_15_1.py | 211 +++++++++-------- models/{ => TYLnep}/TYLnep_150k_15_2.py | 211 +++++++++-------- models/{ => TYLnep}/TYLnep_150k_7_1.py | 211 +++++++++-------- models/{ => TYLnep}/TYLnep_150k_7_2.py | 211 +++++++++-------- models/{ => TYLnep}/TYLnep_250k_15_1.py | 211 +++++++++-------- models/{ => TYLnep}/TYLnep_250k_15_2.py | 211 +++++++++-------- models/{ => TYLnep}/TYLnep_250k_7_1.py | 211 +++++++++-------- models/{ => TYLnep}/TYLnep_250k_7_2.py | 211 +++++++++-------- models/{ => TYLnep}/TYLnep_500k_15_1.py | 211 +++++++++-------- models/{ => TYLnep}/TYLnep_500k_15_2.py | 211 +++++++++-------- models/{ => TYLnep}/TYLnep_500k_7_1.py | 211 +++++++++-------- models/{ => TYLnep}/TYLnep_500k_7_2.py | 211 +++++++++-------- models/{ => TYLnep}/TYLnep_750k_15_1.py | 211 +++++++++-------- models/{ => TYLnep}/TYLnep_750k_15_2.py | 211 +++++++++-------- models/{ => TYLnep}/TYLnep_750k_7_1.py | 211 +++++++++-------- models/{ => TYLnep}/TYLnep_750k_7_2.py | 211 +++++++++-------- models/TYLnep/__init__.py | 0 models/__init__.py | 0 models/bonemodel.py | 6 +- models/dolicorhynchops/__init__.py | 0 .../dolicorhynchops_10k.py | 0 .../dolicorhynchops_10k_contact.py | 1 + .../dolicorhynchops_149k.py | 0 113 files changed, 8760 insertions(+), 8801 deletions(-) rename models/{ => CLIpro}/CLIpro_150k_15_1.py (96%) rename models/{ => CLIpro}/CLIpro_150k_15_2.py (96%) rename models/{ => CLIpro}/CLIpro_150k_7_1.py (96%) rename models/{ => CLIpro}/CLIpro_150k_7_2.py (96%) rename models/{ => CLIpro}/CLIpro_250k_15_1.py (96%) rename models/{ => CLIpro}/CLIpro_250k_15_2.py (96%) rename models/{ => CLIpro}/CLIpro_250k_7_1.py (96%) rename models/{ => CLIpro}/CLIpro_250k_7_2.py (96%) rename models/{ => CLIpro}/CLIpro_500k_15_1.py (96%) rename models/{ => CLIpro}/CLIpro_500k_15_2.py (96%) rename models/{ => CLIpro}/CLIpro_500k_7_1.py (96%) rename models/{ => CLIpro}/CLIpro_500k_7_2.py (96%) rename models/{ => CLIpro}/CLIpro_750k_15_1.py (96%) rename models/{ => CLIpro}/CLIpro_750k_15_2.py (96%) rename models/{ => CLIpro}/CLIpro_750k_7_1.py (96%) rename models/{ => CLIpro}/CLIpro_750k_7_2.py (96%) create mode 100644 models/CLIpro/__init__.py rename models/{ => Dolico_bon}/Dolico_bon_150k_15_1.py (96%) rename models/{ => Dolico_bon}/Dolico_bon_150k_15_2.py (96%) rename models/{ => Dolico_bon}/Dolico_bon_150k_7_1.py (96%) rename models/{ => Dolico_bon}/Dolico_bon_150k_7_2.py (96%) rename models/{ => Dolico_bon}/Dolico_bon_250k_15_1.py (96%) rename models/{ => Dolico_bon}/Dolico_bon_250k_15_2.py (96%) rename models/{ => Dolico_bon}/Dolico_bon_250k_7_1.py (96%) rename models/{ => Dolico_bon}/Dolico_bon_250k_7_2.py (96%) rename models/{ => Dolico_bon}/Dolico_bon_500k_15_1.py (96%) rename models/{ => Dolico_bon}/Dolico_bon_500k_15_2.py (96%) rename models/{ => Dolico_bon}/Dolico_bon_500k_7_1.py (96%) rename models/{ => Dolico_bon}/Dolico_bon_500k_7_2.py (96%) rename models/{ => Dolico_bon}/Dolico_bon_750k_15_1.py (96%) rename models/{ => Dolico_bon}/Dolico_bon_750k_15_2.py (96%) rename models/{ => Dolico_bon}/Dolico_bon_750k_7_1.py (96%) rename models/{ => Dolico_bon}/Dolico_bon_750k_7_2.py (96%) create mode 100644 models/Dolico_bon/__init__.py rename models/{ => Dolico_osb}/Dolico_osb_150k_15_1.py (96%) rename models/{ => Dolico_osb}/Dolico_osb_150k_15_2.py (96%) rename models/{ => Dolico_osb}/Dolico_osb_150k_7_1.py (96%) rename models/{ => Dolico_osb}/Dolico_osb_150k_7_2.py (96%) rename models/{ => Dolico_osb}/Dolico_osb_250k_15_1.py (96%) rename models/{ => Dolico_osb}/Dolico_osb_250k_15_2.py (96%) rename models/{ => Dolico_osb}/Dolico_osb_250k_7_1.py (96%) rename models/{ => Dolico_osb}/Dolico_osb_250k_7_2.py (96%) rename models/{ => Dolico_osb}/Dolico_osb_500k_15_1.py (96%) rename models/{ => Dolico_osb}/Dolico_osb_500k_15_2.py (96%) rename models/{ => Dolico_osb}/Dolico_osb_500k_7_1.py (96%) rename models/{ => Dolico_osb}/Dolico_osb_500k_7_2.py (96%) rename models/{ => Dolico_osb}/Dolico_osb_750k_15_1.py (96%) rename models/{ => Dolico_osb}/Dolico_osb_750k_15_2.py (96%) rename models/{ => Dolico_osb}/Dolico_osb_750k_7_1.py (96%) rename models/{ => Dolico_osb}/Dolico_osb_750k_7_2.py (96%) create mode 100644 models/Dolico_osb/__init__.py rename models/{ => PLTtymFrankencarpus}/PLTtympFranken_150k_15_1.py (94%) rename models/{ => PLTtymFrankencarpus}/PLTtympFranken_150k_15_2.py (94%) rename models/{ => PLTtymFrankencarpus}/PLTtympFranken_150k_7_1.py (94%) rename models/{ => PLTtymFrankencarpus}/PLTtympFranken_150k_7_2.py (94%) rename models/{ => PLTtymFrankencarpus}/PLTtympFranken_20k.py (97%) rename models/{ => PLTtymFrankencarpus}/PLTtympFranken_250k.py (97%) rename models/{ => PLTtymFrankencarpus}/PLTtympFranken_250k_15_1.py (94%) rename models/{ => PLTtymFrankencarpus}/PLTtympFranken_250k_15_2.py (94%) rename models/{ => PLTtymFrankencarpus}/PLTtympFranken_250k_7_1.py (94%) rename models/{ => PLTtymFrankencarpus}/PLTtympFranken_250k_7_2.py (94%) rename models/{ => PLTtymFrankencarpus}/PLTtympFranken_500k_15_1.py (96%) rename models/{ => PLTtymFrankencarpus}/PLTtympFranken_500k_15_2.py (96%) rename models/{ => PLTtymFrankencarpus}/PLTtympFranken_500k_7_1.py (96%) rename models/{ => PLTtymFrankencarpus}/PLTtympFranken_500k_7_2.py (96%) rename models/{ => PLTtymFrankencarpus}/PLTtympFranken_750k.py (99%) rename models/{ => PLTtymFrankencarpus}/PLTtympFranken_750k_15_1.py (96%) rename models/{ => PLTtymFrankencarpus}/PLTtympFranken_750k_15_2.py (96%) rename models/{ => PLTtymFrankencarpus}/PLTtympFranken_750k_7_1.py (96%) rename models/{ => PLTtymFrankencarpus}/PLTtympFranken_750k_7_2.py (96%) create mode 100644 models/PLTtymFrankencarpus/__init__.py rename models/{ => Panthera_pardus}/Panthera_pardus_RC_30.py (100%) create mode 100644 models/Panthera_pardus/__init__.py rename models/{ => TYLber}/TYLber_150k_15_1.py (94%) rename models/{ => TYLber}/TYLber_150k_15_2.py (94%) rename models/{ => TYLber}/TYLber_150k_7_1.py (94%) rename models/{ => TYLber}/TYLber_150k_7_2.py (94%) rename models/{ => TYLber}/TYLber_250k_15_1.py (94%) rename models/{ => TYLber}/TYLber_250k_15_2_bad.py (97%) rename models/{ => TYLber}/TYLber_250k_7_1.py (94%) rename models/{ => TYLber}/TYLber_250k_7_2_bad.py (97%) rename models/{ => TYLber}/TYLber_500k_15_1.py (94%) rename models/{ => TYLber}/TYLber_500k_15_2.py (94%) rename models/{ => TYLber}/TYLber_500k_7_1.py (94%) rename models/{ => TYLber}/TYLber_500k_7_2.py (94%) rename models/{ => TYLber}/TYLber_750k_15_1.py (94%) rename models/{ => TYLber}/TYLber_750k_15_2.py (94%) rename models/{ => TYLber}/TYLber_750k_7_1.py (94%) rename models/{ => TYLber}/TYLber_750k_7_2.py (94%) create mode 100644 models/TYLber/__init__.py rename models/{ => TYLnep}/TYLnep_150k_15_1.py (94%) rename models/{ => TYLnep}/TYLnep_150k_15_2.py (94%) rename models/{ => TYLnep}/TYLnep_150k_7_1.py (94%) rename models/{ => TYLnep}/TYLnep_150k_7_2.py (94%) rename models/{ => TYLnep}/TYLnep_250k_15_1.py (94%) rename models/{ => TYLnep}/TYLnep_250k_15_2.py (94%) rename models/{ => TYLnep}/TYLnep_250k_7_1.py (94%) rename models/{ => TYLnep}/TYLnep_250k_7_2.py (94%) rename models/{ => TYLnep}/TYLnep_500k_15_1.py (94%) rename models/{ => TYLnep}/TYLnep_500k_15_2.py (94%) rename models/{ => TYLnep}/TYLnep_500k_7_1.py (94%) rename models/{ => TYLnep}/TYLnep_500k_7_2.py (94%) rename models/{ => TYLnep}/TYLnep_750k_15_1.py (94%) rename models/{ => TYLnep}/TYLnep_750k_15_2.py (94%) rename models/{ => TYLnep}/TYLnep_750k_7_1.py (94%) rename models/{ => TYLnep}/TYLnep_750k_7_2.py (94%) create mode 100644 models/TYLnep/__init__.py create mode 100644 models/__init__.py create mode 100644 models/dolicorhynchops/__init__.py rename models/{ => dolicorhynchops}/dolicorhynchops_10k.py (100%) rename models/{ => dolicorhynchops}/dolicorhynchops_10k_contact.py (98%) rename models/{ => dolicorhynchops}/dolicorhynchops_149k.py (100%) diff --git a/models/CLIpro_150k_15_1.py b/models/CLIpro/CLIpro_150k_15_1.py similarity index 96% rename from models/CLIpro_150k_15_1.py rename to models/CLIpro/CLIpro_150k_15_1.py index aa039ee..0669539 100644 --- a/models/CLIpro_150k_15_1.py +++ b/models/CLIpro/CLIpro_150k_15_1.py @@ -1,106 +1,106 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Clidastes propython FHSM17576 -# 150k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'CLIpro/150k' - p['mandible'] = f'{path}/CLIpro_jaw_150k.stl' - p['contact_pts'] = [[-13.654129, -90.974480, 4.162612], - [14.185822, -89.850540, 8.610174]] - p['axis_pt1'] = [47.751984, 205.253143, 26.247160] - p['axis_pt2'] = [-47.122223, 203.473282, 34.349510] - p['muscles'] = [ - { - 'file': f'{path}/M_AE_L1.stl', - 'force': 100.61, - 'focalpt': [47.680521, 181.590153, 83.449286], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_L2.stl', - 'force': 100.61, - 'focalpt': [47.680521, 181.590153, 83.449286], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R1.stl', - 'force': 100.42, - 'focalpt': [-46.432835, 183.211827, 82.975638], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R2.stl', - 'force': 100.42, - 'focalpt': [-46.432835, 183.211827, 82.975638], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_L.stl', - 'force': 77.85, - 'focalpt': [43.531105, 182.179642, 83.287358], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 74.91, - 'focalpt': [-42.557619, 183.499002, 83.210456], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 60.38, - 'focalpt': [40.792943, 199.343446, 61.672899], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 60.63, - 'focalpt': [-45.202802, 197.737902, 61.873620], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 286.95, - 'focalpt': [16.389091, 189.529359, 78.967938], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 322.07, - 'focalpt': [-16.389091, 189.529359, 78.967938], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_L.stl', - 'force': 57.40, - 'focalpt': [17.442241, 165.807955, 80.338773], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_R.stl', - 'force': 60.05, - 'focalpt': [-12.261135, 168.629401, 81.345746], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Clidastes propython FHSM17576 +# 150k faces on the mandible surface + + +def parms(d={}): + p = {} + path = 'CLIpro/150k' + p['mandible'] = f'{path}/CLIpro_jaw_150k.stl' + p['contact_pts'] = [[-13.654129, -90.974480, 4.162612], + [14.185822, -89.850540, 8.610174]] + p['axis_pt1'] = [47.751984, 205.253143, 26.247160] + p['axis_pt2'] = [-47.122223, 203.473282, 34.349510] + p['muscles'] = [ + { + 'file': f'{path}/M_AE_L1.stl', + 'force': 100.61, + 'focalpt': [47.680521, 181.590153, 83.449286], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_L2.stl', + 'force': 100.61, + 'focalpt': [47.680521, 181.590153, 83.449286], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R1.stl', + 'force': 100.42, + 'focalpt': [-46.432835, 183.211827, 82.975638], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R2.stl', + 'force': 100.42, + 'focalpt': [-46.432835, 183.211827, 82.975638], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_L.stl', + 'force': 77.85, + 'focalpt': [43.531105, 182.179642, 83.287358], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 74.91, + 'focalpt': [-42.557619, 183.499002, 83.210456], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 60.38, + 'focalpt': [40.792943, 199.343446, 61.672899], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 60.63, + 'focalpt': [-45.202802, 197.737902, 61.873620], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 286.95, + 'focalpt': [16.389091, 189.529359, 78.967938], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 322.07, + 'focalpt': [-16.389091, 189.529359, 78.967938], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_L.stl', + 'force': 57.40, + 'focalpt': [17.442241, 165.807955, 80.338773], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_R.stl', + 'force': 60.05, + 'focalpt': [-12.261135, 168.629401, 81.345746], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/CLIpro_150k_15_2.py b/models/CLIpro/CLIpro_150k_15_2.py similarity index 96% rename from models/CLIpro_150k_15_2.py rename to models/CLIpro/CLIpro_150k_15_2.py index 2194c54..6b37706 100644 --- a/models/CLIpro_150k_15_2.py +++ b/models/CLIpro/CLIpro_150k_15_2.py @@ -1,106 +1,106 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Clidastes propython FHSM17576 -# 150k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'CLIpro/150k' - p['mandible'] = f'{path}/CLIpro_jaw_150k.stl' - p['contact_pts'] = [[-34.115112, 21.823414, 10.233394], - [32.383774, 21.721252, 11.580667]] - p['axis_pt1'] = [47.751984, 205.253143, 26.247160] - p['axis_pt2'] = [-47.122223, 203.473282, 34.349510] - p['muscles'] = [ - { - 'file': f'{path}/M_AE_L1.stl', - 'force': 100.61, - 'focalpt': [47.680521, 181.590153, 83.449286], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_L2.stl', - 'force': 100.61, - 'focalpt': [47.680521, 181.590153, 83.449286], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R1.stl', - 'force': 100.42, - 'focalpt': [-46.432835, 183.211827, 82.975638], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R2.stl', - 'force': 100.42, - 'focalpt': [-46.432835, 183.211827, 82.975638], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_L.stl', - 'force': 77.85, - 'focalpt': [43.531105, 182.179642, 83.287358], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 74.91, - 'focalpt': [-42.557619, 183.499002, 83.210456], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 60.38, - 'focalpt': [40.792943, 199.343446, 61.672899], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 60.63, - 'focalpt': [-45.202802, 197.737902, 61.873620], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 286.95, - 'focalpt': [16.389091, 189.529359, 78.967938], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 322.07, - 'focalpt': [-16.389091, 189.529359, 78.967938], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_L.stl', - 'force': 57.40, - 'focalpt': [17.442241, 165.807955, 80.338773], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_R.stl', - 'force': 60.05, - 'focalpt': [-12.261135, 168.629401, 81.345746], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Clidastes propython FHSM17576 +# 150k faces on the mandible surface + + +def parms(d={}): + p = {} + path = 'CLIpro/150k' + p['mandible'] = f'{path}/CLIpro_jaw_150k.stl' + p['contact_pts'] = [[-34.115112, 21.823414, 10.233394], + [32.383774, 21.721252, 11.580667]] + p['axis_pt1'] = [47.751984, 205.253143, 26.247160] + p['axis_pt2'] = [-47.122223, 203.473282, 34.349510] + p['muscles'] = [ + { + 'file': f'{path}/M_AE_L1.stl', + 'force': 100.61, + 'focalpt': [47.680521, 181.590153, 83.449286], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_L2.stl', + 'force': 100.61, + 'focalpt': [47.680521, 181.590153, 83.449286], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R1.stl', + 'force': 100.42, + 'focalpt': [-46.432835, 183.211827, 82.975638], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R2.stl', + 'force': 100.42, + 'focalpt': [-46.432835, 183.211827, 82.975638], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_L.stl', + 'force': 77.85, + 'focalpt': [43.531105, 182.179642, 83.287358], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 74.91, + 'focalpt': [-42.557619, 183.499002, 83.210456], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 60.38, + 'focalpt': [40.792943, 199.343446, 61.672899], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 60.63, + 'focalpt': [-45.202802, 197.737902, 61.873620], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 286.95, + 'focalpt': [16.389091, 189.529359, 78.967938], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 322.07, + 'focalpt': [-16.389091, 189.529359, 78.967938], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_L.stl', + 'force': 57.40, + 'focalpt': [17.442241, 165.807955, 80.338773], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_R.stl', + 'force': 60.05, + 'focalpt': [-12.261135, 168.629401, 81.345746], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/CLIpro_150k_7_1.py b/models/CLIpro/CLIpro_150k_7_1.py similarity index 96% rename from models/CLIpro_150k_7_1.py rename to models/CLIpro/CLIpro_150k_7_1.py index bbd8310..a0a3fb5 100644 --- a/models/CLIpro_150k_7_1.py +++ b/models/CLIpro/CLIpro_150k_7_1.py @@ -1,106 +1,106 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Clidastes propython FHSM17576 -# 150k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'CLIpro/150k' - p['mandible'] = f'{path}/CLIpro_jaw_150k.stl' - p['contact_pts'] = [[-13.654129, -90.974480, 4.162612], - [14.185822, -89.850540, 8.610174]] - p['axis_pt1'] = [47.751984, 205.253143, 26.247160] - p['axis_pt2'] = [-47.122223, 203.473282, 34.349510] - p['muscles'] = [ - { - 'file': f'{path}/M_AE_L1.stl', - 'force': 100.61, - 'focalpt': [47.666592, 175.921521, 79.560751], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_L2.stl', - 'force': 100.61, - 'focalpt': [47.666592, 175.921521, 79.560751], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R1.stl', - 'force': 100.42, - 'focalpt': [-46.419570, 177.561510, 79.317629], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R2.stl', - 'force': 100.42, - 'focalpt': [-46.419570, 177.561510, 79.317629], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_L.stl', - 'force': 77.85, - 'focalpt': [43.567966, 176.516406, 79.835879], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 74.91, - 'focalpt': [-42.606496, 177.966337, 79.681598], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 60.38, - 'focalpt': [40.948735, 196.405144, 60.200407], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 60.63, - 'focalpt': [-45.187592, 194.885808, 60.386860], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 286.95, - 'focalpt': [16.500735, 183.994988, 75.391863], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 322.07, - 'focalpt': [-16.500735, 183.994988, 75.391863], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_L.stl', - 'force': 57.40, - 'focalpt': [17.648059, 160.594971, 74.091063], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_R.stl', - 'force': 60.05, - 'focalpt': [-12.290623, 162.896808, 75.891315], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Clidastes propython FHSM17576 +# 150k faces on the mandible surface + + +def parms(d={}): + p = {} + path = 'CLIpro/150k' + p['mandible'] = f'{path}/CLIpro_jaw_150k.stl' + p['contact_pts'] = [[-13.654129, -90.974480, 4.162612], + [14.185822, -89.850540, 8.610174]] + p['axis_pt1'] = [47.751984, 205.253143, 26.247160] + p['axis_pt2'] = [-47.122223, 203.473282, 34.349510] + p['muscles'] = [ + { + 'file': f'{path}/M_AE_L1.stl', + 'force': 100.61, + 'focalpt': [47.666592, 175.921521, 79.560751], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_L2.stl', + 'force': 100.61, + 'focalpt': [47.666592, 175.921521, 79.560751], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R1.stl', + 'force': 100.42, + 'focalpt': [-46.419570, 177.561510, 79.317629], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R2.stl', + 'force': 100.42, + 'focalpt': [-46.419570, 177.561510, 79.317629], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_L.stl', + 'force': 77.85, + 'focalpt': [43.567966, 176.516406, 79.835879], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 74.91, + 'focalpt': [-42.606496, 177.966337, 79.681598], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 60.38, + 'focalpt': [40.948735, 196.405144, 60.200407], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 60.63, + 'focalpt': [-45.187592, 194.885808, 60.386860], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 286.95, + 'focalpt': [16.500735, 183.994988, 75.391863], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 322.07, + 'focalpt': [-16.500735, 183.994988, 75.391863], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_L.stl', + 'force': 57.40, + 'focalpt': [17.648059, 160.594971, 74.091063], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_R.stl', + 'force': 60.05, + 'focalpt': [-12.290623, 162.896808, 75.891315], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/CLIpro_150k_7_2.py b/models/CLIpro/CLIpro_150k_7_2.py similarity index 96% rename from models/CLIpro_150k_7_2.py rename to models/CLIpro/CLIpro_150k_7_2.py index 917473e..12e59fe 100644 --- a/models/CLIpro_150k_7_2.py +++ b/models/CLIpro/CLIpro_150k_7_2.py @@ -1,106 +1,106 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Clidastes propython FHSM17576 -# 150k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'CLIpro/150k' - p['mandible'] = f'{path}/CLIpro_jaw_150k.stl' - p['contact_pts'] = [[-34.115112, 21.823414, 10.233394], - [32.383774, 21.721252, 11.580667]] - p['axis_pt1'] = [47.751984, 205.253143, 26.247160] - p['axis_pt2'] = [-47.122223, 203.473282, 34.349510] - p['muscles'] = [ - { - 'file': f'{path}/M_AE_L1.stl', - 'force': 100.61, - 'focalpt': [47.666592, 175.921521, 79.560751], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_L2.stl', - 'force': 100.61, - 'focalpt': [47.666592, 175.921521, 79.560751], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R1.stl', - 'force': 100.42, - 'focalpt': [-46.419570, 177.561510, 79.317629], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R2.stl', - 'force': 100.42, - 'focalpt': [-46.419570, 177.561510, 79.317629], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_L.stl', - 'force': 77.85, - 'focalpt': [43.567966, 176.516406, 79.835879], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 74.91, - 'focalpt': [-42.606496, 177.966337, 79.681598], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 60.38, - 'focalpt': [40.948735, 196.405144, 60.200407], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 60.63, - 'focalpt': [-45.187592, 194.885808, 60.386860], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 286.95, - 'focalpt': [16.500735, 183.994988, 75.391863], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 322.07, - 'focalpt': [-16.500735, 183.994988, 75.391863], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_L.stl', - 'force': 57.40, - 'focalpt': [17.648059, 160.594971, 74.091063], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_R.stl', - 'force': 60.05, - 'focalpt': [-12.290623, 162.896808, 75.891315], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Clidastes propython FHSM17576 +# 150k faces on the mandible surface + + +def parms(d={}): + p = {} + path = 'CLIpro/150k' + p['mandible'] = f'{path}/CLIpro_jaw_150k.stl' + p['contact_pts'] = [[-34.115112, 21.823414, 10.233394], + [32.383774, 21.721252, 11.580667]] + p['axis_pt1'] = [47.751984, 205.253143, 26.247160] + p['axis_pt2'] = [-47.122223, 203.473282, 34.349510] + p['muscles'] = [ + { + 'file': f'{path}/M_AE_L1.stl', + 'force': 100.61, + 'focalpt': [47.666592, 175.921521, 79.560751], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_L2.stl', + 'force': 100.61, + 'focalpt': [47.666592, 175.921521, 79.560751], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R1.stl', + 'force': 100.42, + 'focalpt': [-46.419570, 177.561510, 79.317629], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R2.stl', + 'force': 100.42, + 'focalpt': [-46.419570, 177.561510, 79.317629], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_L.stl', + 'force': 77.85, + 'focalpt': [43.567966, 176.516406, 79.835879], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 74.91, + 'focalpt': [-42.606496, 177.966337, 79.681598], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 60.38, + 'focalpt': [40.948735, 196.405144, 60.200407], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 60.63, + 'focalpt': [-45.187592, 194.885808, 60.386860], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 286.95, + 'focalpt': [16.500735, 183.994988, 75.391863], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 322.07, + 'focalpt': [-16.500735, 183.994988, 75.391863], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_L.stl', + 'force': 57.40, + 'focalpt': [17.648059, 160.594971, 74.091063], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_R.stl', + 'force': 60.05, + 'focalpt': [-12.290623, 162.896808, 75.891315], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/CLIpro_250k_15_1.py b/models/CLIpro/CLIpro_250k_15_1.py similarity index 96% rename from models/CLIpro_250k_15_1.py rename to models/CLIpro/CLIpro_250k_15_1.py index 38fe9e2..2616637 100644 --- a/models/CLIpro_250k_15_1.py +++ b/models/CLIpro/CLIpro_250k_15_1.py @@ -1,106 +1,106 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Clidastes propython FHSM17576 -# 250k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'CLIpro/250k' - p['mandible'] = f'{path}/CLIpro_jaw_250k.stl' - p['contact_pts'] = [[-13.921872, -90.258591, 8.862718], - [13.158182, -91.377449, 7.355043]] - p['axis_pt1'] = [47.686401, 205.691238, 26.261269] - p['axis_pt2'] = [-50.710445, 204.954971, 26.360205] - p['muscles'] = [ - { - 'file': f'{path}/M_AE_L1.stl', - 'force': 100.61, - 'focalpt': [47.680521, 181.590153, 83.449286], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_L2.stl', - 'force': 100.61, - 'focalpt': [47.680521, 181.590153, 83.449286], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R1.stl', - 'force': 100.42, - 'focalpt': [-46.432835, 183.211827, 82.975638], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R2.stl', - 'force': 100.42, - 'focalpt': [-46.432835, 183.211827, 82.975638], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_L.stl', - 'force': 77.85, - 'focalpt': [43.531105, 182.179642, 83.287358], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 74.91, - 'focalpt': [-42.557619, 183.499002, 83.210456], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 60.38, - 'focalpt': [40.792943, 199.343446, 61.672899], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 60.63, - 'focalpt': [-45.202802, 197.737902, 61.873620], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 286.95, - 'focalpt': [16.389091, 189.529359, 78.967938], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 322.07, - 'focalpt': [-16.389091, 189.529359, 78.967938], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_L.stl', - 'force': 57.40, - 'focalpt': [17.442241, 165.807955, 80.338773], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_R.stl', - 'force': 60.05, - 'focalpt': [-12.261135, 168.629401, 81.345746], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Clidastes propython FHSM17576 +# 250k faces on the mandible surface + + +def parms(d={}): + p = {} + path = 'CLIpro/250k' + p['mandible'] = f'{path}/CLIpro_jaw_250k.stl' + p['contact_pts'] = [[-13.921872, -90.258591, 8.862718], + [13.158182, -91.377449, 7.355043]] + p['axis_pt1'] = [47.686401, 205.691238, 26.261269] + p['axis_pt2'] = [-50.710445, 204.954971, 26.360205] + p['muscles'] = [ + { + 'file': f'{path}/M_AE_L1.stl', + 'force': 100.61, + 'focalpt': [47.680521, 181.590153, 83.449286], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_L2.stl', + 'force': 100.61, + 'focalpt': [47.680521, 181.590153, 83.449286], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R1.stl', + 'force': 100.42, + 'focalpt': [-46.432835, 183.211827, 82.975638], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R2.stl', + 'force': 100.42, + 'focalpt': [-46.432835, 183.211827, 82.975638], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_L.stl', + 'force': 77.85, + 'focalpt': [43.531105, 182.179642, 83.287358], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 74.91, + 'focalpt': [-42.557619, 183.499002, 83.210456], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 60.38, + 'focalpt': [40.792943, 199.343446, 61.672899], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 60.63, + 'focalpt': [-45.202802, 197.737902, 61.873620], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 286.95, + 'focalpt': [16.389091, 189.529359, 78.967938], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 322.07, + 'focalpt': [-16.389091, 189.529359, 78.967938], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_L.stl', + 'force': 57.40, + 'focalpt': [17.442241, 165.807955, 80.338773], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_R.stl', + 'force': 60.05, + 'focalpt': [-12.261135, 168.629401, 81.345746], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/CLIpro_250k_15_2.py b/models/CLIpro/CLIpro_250k_15_2.py similarity index 96% rename from models/CLIpro_250k_15_2.py rename to models/CLIpro/CLIpro_250k_15_2.py index d6f00b5..8e00f87 100644 --- a/models/CLIpro_250k_15_2.py +++ b/models/CLIpro/CLIpro_250k_15_2.py @@ -1,106 +1,106 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Clidastes propython FHSM17576 -# 250k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'CLIpro/250k' - p['mandible'] = f'{path}/CLIpro_jaw_250k.stl' - p['contact_pts'] = [[-34.058887, 21.742476, 9.846808], - [33.013206, 24.755995, -0.564457]] - p['axis_pt1'] = [47.686401, 205.691238, 26.261269] - p['axis_pt2'] = [-50.710445, 204.954971, 26.360205] - p['muscles'] = [ - { - 'file': f'{path}/M_AE_L1.stl', - 'force': 100.61, - 'focalpt': [47.680521, 181.590153, 83.449286], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_L2.stl', - 'force': 100.61, - 'focalpt': [47.680521, 181.590153, 83.449286], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R1.stl', - 'force': 100.42, - 'focalpt': [-46.432835, 183.211827, 82.975638], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R2.stl', - 'force': 100.42, - 'focalpt': [-46.432835, 183.211827, 82.975638], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_L.stl', - 'force': 77.85, - 'focalpt': [43.531105, 182.179642, 83.287358], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 74.91, - 'focalpt': [-42.557619, 183.499002, 83.210456], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 60.38, - 'focalpt': [40.792943, 199.343446, 61.672899], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 60.63, - 'focalpt': [-45.202802, 197.737902, 61.873620], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 286.95, - 'focalpt': [16.389091, 189.529359, 78.967938], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 322.07, - 'focalpt': [-16.389091, 189.529359, 78.967938], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_L.stl', - 'force': 57.40, - 'focalpt': [17.442241, 165.807955, 80.338773], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_R.stl', - 'force': 60.05, - 'focalpt': [-12.261135, 168.629401, 81.345746], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Clidastes propython FHSM17576 +# 250k faces on the mandible surface + + +def parms(d={}): + p = {} + path = 'CLIpro/250k' + p['mandible'] = f'{path}/CLIpro_jaw_250k.stl' + p['contact_pts'] = [[-34.058887, 21.742476, 9.846808], + [33.013206, 24.755995, -0.564457]] + p['axis_pt1'] = [47.686401, 205.691238, 26.261269] + p['axis_pt2'] = [-50.710445, 204.954971, 26.360205] + p['muscles'] = [ + { + 'file': f'{path}/M_AE_L1.stl', + 'force': 100.61, + 'focalpt': [47.680521, 181.590153, 83.449286], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_L2.stl', + 'force': 100.61, + 'focalpt': [47.680521, 181.590153, 83.449286], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R1.stl', + 'force': 100.42, + 'focalpt': [-46.432835, 183.211827, 82.975638], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R2.stl', + 'force': 100.42, + 'focalpt': [-46.432835, 183.211827, 82.975638], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_L.stl', + 'force': 77.85, + 'focalpt': [43.531105, 182.179642, 83.287358], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 74.91, + 'focalpt': [-42.557619, 183.499002, 83.210456], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 60.38, + 'focalpt': [40.792943, 199.343446, 61.672899], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 60.63, + 'focalpt': [-45.202802, 197.737902, 61.873620], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 286.95, + 'focalpt': [16.389091, 189.529359, 78.967938], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 322.07, + 'focalpt': [-16.389091, 189.529359, 78.967938], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_L.stl', + 'force': 57.40, + 'focalpt': [17.442241, 165.807955, 80.338773], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_R.stl', + 'force': 60.05, + 'focalpt': [-12.261135, 168.629401, 81.345746], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/CLIpro_250k_7_1.py b/models/CLIpro/CLIpro_250k_7_1.py similarity index 96% rename from models/CLIpro_250k_7_1.py rename to models/CLIpro/CLIpro_250k_7_1.py index 0144fe9..cec986d 100644 --- a/models/CLIpro_250k_7_1.py +++ b/models/CLIpro/CLIpro_250k_7_1.py @@ -1,106 +1,106 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Clidastes propython FHSM17576 -# 250k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'CLIpro/250k' - p['mandible'] = f'{path}/CLIpro_jaw_250k.stl' - p['contact_pts'] = [[-13.921872, -90.258591, 8.862718], - [13.158182, -91.377449, 7.355043]] - p['axis_pt1'] = [47.686401, 205.691238, 26.261269] - p['axis_pt2'] = [-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' - }, - { - 'file': f'{path}/M_AE_L2.stl', - 'force': 100.61, - 'focalpt': [47.666592, 175.921521, 79.560751], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R1.stl', - 'force': 100.42, - 'focalpt': [-46.419570, 177.561510, 79.317629], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R2.stl', - 'force': 100.42, - 'focalpt': [-46.419570, 177.561510, 79.317629], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_L.stl', - 'force': 77.85, - 'focalpt': [43.567966, 176.516406, 79.835879], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 74.91, - 'focalpt': [-42.606496, 177.966337, 79.681598], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 60.38, - 'focalpt': [40.948735, 196.405144, 60.200407], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 60.63, - 'focalpt': [-45.187592, 194.885808, 60.386860], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 286.95, - 'focalpt': [16.500735, 183.994988, 75.391863], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 322.07, - 'focalpt': [-16.500735, 183.994988, 75.391863], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_L.stl', - 'force': 57.40, - 'focalpt': [17.648059, 160.594971, 74.091063], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_R.stl', - 'force': 60.05, - 'focalpt': [-12.290623, 162.896808, 75.891315], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Clidastes propython FHSM17576 +# 250k faces on the mandible surface + + +def parms(d={}): + p = {} + path = 'CLIpro/250k' + p['mandible'] = f'{path}/CLIpro_jaw_250k.stl' + p['contact_pts'] = [[-13.921872, -90.258591, 8.862718], + [13.158182, -91.377449, 7.355043]] + p['axis_pt1'] = [47.686401, 205.691238, 26.261269] + p['axis_pt2'] = [-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' + }, + { + 'file': f'{path}/M_AE_L2.stl', + 'force': 100.61, + 'focalpt': [47.666592, 175.921521, 79.560751], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R1.stl', + 'force': 100.42, + 'focalpt': [-46.419570, 177.561510, 79.317629], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R2.stl', + 'force': 100.42, + 'focalpt': [-46.419570, 177.561510, 79.317629], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_L.stl', + 'force': 77.85, + 'focalpt': [43.567966, 176.516406, 79.835879], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 74.91, + 'focalpt': [-42.606496, 177.966337, 79.681598], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 60.38, + 'focalpt': [40.948735, 196.405144, 60.200407], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 60.63, + 'focalpt': [-45.187592, 194.885808, 60.386860], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 286.95, + 'focalpt': [16.500735, 183.994988, 75.391863], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 322.07, + 'focalpt': [-16.500735, 183.994988, 75.391863], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_L.stl', + 'force': 57.40, + 'focalpt': [17.648059, 160.594971, 74.091063], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_R.stl', + 'force': 60.05, + 'focalpt': [-12.290623, 162.896808, 75.891315], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/CLIpro_250k_7_2.py b/models/CLIpro/CLIpro_250k_7_2.py similarity index 96% rename from models/CLIpro_250k_7_2.py rename to models/CLIpro/CLIpro_250k_7_2.py index 630a2ce..c9ad83b 100644 --- a/models/CLIpro_250k_7_2.py +++ b/models/CLIpro/CLIpro_250k_7_2.py @@ -1,106 +1,106 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Clidastes propython FHSM17576 -# 250k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'CLIpro/250k' - p['mandible'] = f'{path}/CLIpro_jaw_250k.stl' - p['contact_pts'] = [[-34.058887, 21.742476, 9.846808], - [33.013206, 24.755995, -0.564457]] - p['axis_pt1'] = [47.686401, 205.691238, 26.261269] - p['axis_pt2'] = [-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' - }, - { - 'file': f'{path}/M_AE_L2.stl', - 'force': 100.61, - 'focalpt': [47.666592, 175.921521, 79.560751], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R1.stl', - 'force': 100.42, - 'focalpt': [-46.419570, 177.561510, 79.317629], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R2.stl', - 'force': 100.42, - 'focalpt': [-46.419570, 177.561510, 79.317629], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_L.stl', - 'force': 77.85, - 'focalpt': [43.567966, 176.516406, 79.835879], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 74.91, - 'focalpt': [-42.606496, 177.966337, 79.681598], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 60.38, - 'focalpt': [40.948735, 196.405144, 60.200407], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 60.63, - 'focalpt': [-45.187592, 194.885808, 60.386860], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 286.95, - 'focalpt': [16.500735, 183.994988, 75.391863], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 322.07, - 'focalpt': [-16.500735, 183.994988, 75.391863], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_L.stl', - 'force': 57.40, - 'focalpt': [17.648059, 160.594971, 74.091063], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_R.stl', - 'force': 60.05, - 'focalpt': [-12.290623, 162.896808, 75.891315], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Clidastes propython FHSM17576 +# 250k faces on the mandible surface + + +def parms(d={}): + p = {} + path = 'CLIpro/250k' + p['mandible'] = f'{path}/CLIpro_jaw_250k.stl' + p['contact_pts'] = [[-34.058887, 21.742476, 9.846808], + [33.013206, 24.755995, -0.564457]] + p['axis_pt1'] = [47.686401, 205.691238, 26.261269] + p['axis_pt2'] = [-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' + }, + { + 'file': f'{path}/M_AE_L2.stl', + 'force': 100.61, + 'focalpt': [47.666592, 175.921521, 79.560751], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R1.stl', + 'force': 100.42, + 'focalpt': [-46.419570, 177.561510, 79.317629], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R2.stl', + 'force': 100.42, + 'focalpt': [-46.419570, 177.561510, 79.317629], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_L.stl', + 'force': 77.85, + 'focalpt': [43.567966, 176.516406, 79.835879], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 74.91, + 'focalpt': [-42.606496, 177.966337, 79.681598], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 60.38, + 'focalpt': [40.948735, 196.405144, 60.200407], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 60.63, + 'focalpt': [-45.187592, 194.885808, 60.386860], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 286.95, + 'focalpt': [16.500735, 183.994988, 75.391863], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 322.07, + 'focalpt': [-16.500735, 183.994988, 75.391863], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_L.stl', + 'force': 57.40, + 'focalpt': [17.648059, 160.594971, 74.091063], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_R.stl', + 'force': 60.05, + 'focalpt': [-12.290623, 162.896808, 75.891315], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/CLIpro_500k_15_1.py b/models/CLIpro/CLIpro_500k_15_1.py similarity index 96% rename from models/CLIpro_500k_15_1.py rename to models/CLIpro/CLIpro_500k_15_1.py index a311860..b21de46 100644 --- a/models/CLIpro_500k_15_1.py +++ b/models/CLIpro/CLIpro_500k_15_1.py @@ -1,106 +1,106 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Clidastes propython FHSM17576 -# 500k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'CLIpro/500k' - p['mandible'] = f'{path}/CLIpro_jaw_500k.stl' - p['contact_pts'] = [[-12.880455, -92.642342, -0.673375], - [12.990344, -91.013168, 7.432779]] - p['axis_pt1'] = [45.043976, 199.899857, 33.671288] - p['axis_pt2'] = [-50.729774, 205.098663, 26.440434] - p['muscles'] = [ - { - 'file': f'{path}/M_AE_L1.stl', - 'force': 100.61, - 'focalpt': [47.680521, 181.590153, 83.449286], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_L2.stl', - 'force': 100.61, - 'focalpt': [47.680521, 181.590153, 83.449286], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R1.stl', - 'force': 100.42, - 'focalpt': [-46.432835, 183.211827, 82.975638], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R2.stl', - 'force': 100.42, - 'focalpt': [-46.432835, 183.211827, 82.975638], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_L.stl', - 'force': 77.85, - 'focalpt': [43.531105, 182.179642, 83.287358], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 74.91, - 'focalpt': [-42.557619, 183.499002, 83.210456], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 60.38, - 'focalpt': [40.792943, 199.343446, 61.672899], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 60.63, - 'focalpt': [-45.202802, 197.737902, 61.873620], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 286.95, - 'focalpt': [16.389091, 189.529359, 78.967938], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 322.07, - 'focalpt': [-16.389091, 189.529359, 78.967938], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_L.stl', - 'force': 57.40, - 'focalpt': [17.442241, 165.807955, 80.338773], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_R.stl', - 'force': 60.05, - 'focalpt': [-12.261135, 168.629401, 81.345746], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Clidastes propython FHSM17576 +# 500k faces on the mandible surface + + +def parms(d={}): + p = {} + path = 'CLIpro/500k' + p['mandible'] = f'{path}/CLIpro_jaw_500k.stl' + p['contact_pts'] = [[-12.880455, -92.642342, -0.673375], + [12.990344, -91.013168, 7.432779]] + p['axis_pt1'] = [45.043976, 199.899857, 33.671288] + p['axis_pt2'] = [-50.729774, 205.098663, 26.440434] + p['muscles'] = [ + { + 'file': f'{path}/M_AE_L1.stl', + 'force': 100.61, + 'focalpt': [47.680521, 181.590153, 83.449286], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_L2.stl', + 'force': 100.61, + 'focalpt': [47.680521, 181.590153, 83.449286], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R1.stl', + 'force': 100.42, + 'focalpt': [-46.432835, 183.211827, 82.975638], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R2.stl', + 'force': 100.42, + 'focalpt': [-46.432835, 183.211827, 82.975638], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_L.stl', + 'force': 77.85, + 'focalpt': [43.531105, 182.179642, 83.287358], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 74.91, + 'focalpt': [-42.557619, 183.499002, 83.210456], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 60.38, + 'focalpt': [40.792943, 199.343446, 61.672899], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 60.63, + 'focalpt': [-45.202802, 197.737902, 61.873620], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 286.95, + 'focalpt': [16.389091, 189.529359, 78.967938], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 322.07, + 'focalpt': [-16.389091, 189.529359, 78.967938], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_L.stl', + 'force': 57.40, + 'focalpt': [17.442241, 165.807955, 80.338773], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_R.stl', + 'force': 60.05, + 'focalpt': [-12.261135, 168.629401, 81.345746], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/CLIpro_500k_15_2.py b/models/CLIpro/CLIpro_500k_15_2.py similarity index 96% rename from models/CLIpro_500k_15_2.py rename to models/CLIpro/CLIpro_500k_15_2.py index b19bac7..e1d7ae5 100644 --- a/models/CLIpro_500k_15_2.py +++ b/models/CLIpro/CLIpro_500k_15_2.py @@ -1,106 +1,106 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Clidastes propython FHSM17576 -# 500k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'CLIpro/500k' - p['mandible'] = f'{path}/CLIpro_jaw_500k.stl' - p['contact_pts'] = [[-33.575844, 26.282110, -0.445806], - [32.137966, 22.818340, 7.904116]] - p['axis_pt1'] = [45.043976, 199.899857, 33.671288] - p['axis_pt2'] = [-50.729774, 205.098663, 26.440434] - p['muscles'] = [ - { - 'file': f'{path}/M_AE_L1.stl', - 'force': 100.61, - 'focalpt': [47.680521, 181.590153, 83.449286], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_L2.stl', - 'force': 100.61, - 'focalpt': [47.680521, 181.590153, 83.449286], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R1.stl', - 'force': 100.42, - 'focalpt': [-46.432835, 183.211827, 82.975638], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R2.stl', - 'force': 100.42, - 'focalpt': [-46.432835, 183.211827, 82.975638], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_L.stl', - 'force': 77.85, - 'focalpt': [43.531105, 182.179642, 83.287358], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 74.91, - 'focalpt': [-42.557619, 183.499002, 83.210456], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 60.38, - 'focalpt': [40.792943, 199.343446, 61.672899], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 60.63, - 'focalpt': [-45.202802, 197.737902, 61.873620], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 286.95, - 'focalpt': [16.389091, 189.529359, 78.967938], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 322.07, - 'focalpt': [-16.389091, 189.529359, 78.967938], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_L.stl', - 'force': 57.40, - 'focalpt': [17.442241, 165.807955, 80.338773], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_R.stl', - 'force': 60.05, - 'focalpt': [-12.261135, 168.629401, 81.345746], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Clidastes propython FHSM17576 +# 500k faces on the mandible surface + + +def parms(d={}): + p = {} + path = 'CLIpro/500k' + p['mandible'] = f'{path}/CLIpro_jaw_500k.stl' + p['contact_pts'] = [[-33.575844, 26.282110, -0.445806], + [32.137966, 22.818340, 7.904116]] + p['axis_pt1'] = [45.043976, 199.899857, 33.671288] + p['axis_pt2'] = [-50.729774, 205.098663, 26.440434] + p['muscles'] = [ + { + 'file': f'{path}/M_AE_L1.stl', + 'force': 100.61, + 'focalpt': [47.680521, 181.590153, 83.449286], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_L2.stl', + 'force': 100.61, + 'focalpt': [47.680521, 181.590153, 83.449286], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R1.stl', + 'force': 100.42, + 'focalpt': [-46.432835, 183.211827, 82.975638], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R2.stl', + 'force': 100.42, + 'focalpt': [-46.432835, 183.211827, 82.975638], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_L.stl', + 'force': 77.85, + 'focalpt': [43.531105, 182.179642, 83.287358], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 74.91, + 'focalpt': [-42.557619, 183.499002, 83.210456], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 60.38, + 'focalpt': [40.792943, 199.343446, 61.672899], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 60.63, + 'focalpt': [-45.202802, 197.737902, 61.873620], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 286.95, + 'focalpt': [16.389091, 189.529359, 78.967938], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 322.07, + 'focalpt': [-16.389091, 189.529359, 78.967938], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_L.stl', + 'force': 57.40, + 'focalpt': [17.442241, 165.807955, 80.338773], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_R.stl', + 'force': 60.05, + 'focalpt': [-12.261135, 168.629401, 81.345746], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/CLIpro_500k_7_1.py b/models/CLIpro/CLIpro_500k_7_1.py similarity index 96% rename from models/CLIpro_500k_7_1.py rename to models/CLIpro/CLIpro_500k_7_1.py index 05cf429..cb26d6f 100644 --- a/models/CLIpro_500k_7_1.py +++ b/models/CLIpro/CLIpro_500k_7_1.py @@ -1,106 +1,106 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Clidastes propython FHSM17576 -# 500k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'CLIpro/500k' - p['mandible'] = f'{path}/CLIpro_jaw_500k.stl' - p['contact_pts'] = [[-12.880455, -92.642342, -0.673375], - [12.990344, -91.013168, 7.432779]] - p['axis_pt1'] = [45.043976, 199.899857, 33.671288] - p['axis_pt2'] = [-50.729774, 205.098663, 26.440434] - p['muscles'] = [ - { - 'file': f'{path}/M_AE_L1.stl', - 'force': 100.61, - 'focalpt': [47.666592, 175.921521, 79.560751], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_L2.stl', - 'force': 100.61, - 'focalpt': [47.666592, 175.921521, 79.560751], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R1.stl', - 'force': 100.42, - 'focalpt': [-46.419570, 177.561510, 79.317629], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R2.stl', - 'force': 100.42, - 'focalpt': [-46.419570, 177.561510, 79.317629], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_L.stl', - 'force': 77.85, - 'focalpt': [43.567966, 176.516406, 79.835879], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 74.91, - 'focalpt': [-42.606496, 177.966337, 79.681598], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 60.38, - 'focalpt': [40.948735, 196.405144, 60.200407], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 60.63, - 'focalpt': [-45.187592, 194.885808, 60.386860], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 286.95, - 'focalpt': [16.500735, 183.994988, 75.391863], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 322.07, - 'focalpt': [-16.500735, 183.994988, 75.391863], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_L.stl', - 'force': 57.40, - 'focalpt': [17.648059, 160.594971, 74.091063], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_R.stl', - 'force': 60.05, - 'focalpt': [-12.290623, 162.896808, 75.891315], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Clidastes propython FHSM17576 +# 500k faces on the mandible surface + + +def parms(d={}): + p = {} + path = 'CLIpro/500k' + p['mandible'] = f'{path}/CLIpro_jaw_500k.stl' + p['contact_pts'] = [[-12.880455, -92.642342, -0.673375], + [12.990344, -91.013168, 7.432779]] + p['axis_pt1'] = [45.043976, 199.899857, 33.671288] + p['axis_pt2'] = [-50.729774, 205.098663, 26.440434] + p['muscles'] = [ + { + 'file': f'{path}/M_AE_L1.stl', + 'force': 100.61, + 'focalpt': [47.666592, 175.921521, 79.560751], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_L2.stl', + 'force': 100.61, + 'focalpt': [47.666592, 175.921521, 79.560751], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R1.stl', + 'force': 100.42, + 'focalpt': [-46.419570, 177.561510, 79.317629], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R2.stl', + 'force': 100.42, + 'focalpt': [-46.419570, 177.561510, 79.317629], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_L.stl', + 'force': 77.85, + 'focalpt': [43.567966, 176.516406, 79.835879], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 74.91, + 'focalpt': [-42.606496, 177.966337, 79.681598], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 60.38, + 'focalpt': [40.948735, 196.405144, 60.200407], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 60.63, + 'focalpt': [-45.187592, 194.885808, 60.386860], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 286.95, + 'focalpt': [16.500735, 183.994988, 75.391863], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 322.07, + 'focalpt': [-16.500735, 183.994988, 75.391863], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_L.stl', + 'force': 57.40, + 'focalpt': [17.648059, 160.594971, 74.091063], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_R.stl', + 'force': 60.05, + 'focalpt': [-12.290623, 162.896808, 75.891315], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/CLIpro_500k_7_2.py b/models/CLIpro/CLIpro_500k_7_2.py similarity index 96% rename from models/CLIpro_500k_7_2.py rename to models/CLIpro/CLIpro_500k_7_2.py index ba228fb..6b1313d 100644 --- a/models/CLIpro_500k_7_2.py +++ b/models/CLIpro/CLIpro_500k_7_2.py @@ -1,106 +1,106 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Clidastes propython FHSM17576 -# 500k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'CLIpro/500k' - p['mandible'] = f'{path}/CLIpro_jaw_500k.stl' - p['contact_pts'] = [[-33.575844, 26.282110, -0.445806], - [32.137966, 22.818340, 7.904116]] - p['axis_pt1'] = [45.043976, 199.899857, 33.671288] - p['axis_pt2'] = [-50.729774, 205.098663, 26.440434] - p['muscles'] = [ - { - 'file': f'{path}/M_AE_L1.stl', - 'force': 100.61, - 'focalpt': [47.666592, 175.921521, 79.560751], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_L2.stl', - 'force': 100.61, - 'focalpt': [47.666592, 175.921521, 79.560751], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R1.stl', - 'force': 100.42, - 'focalpt': [-46.419570, 177.561510, 79.317629], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R2.stl', - 'force': 100.42, - 'focalpt': [-46.419570, 177.561510, 79.317629], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_L.stl', - 'force': 77.85, - 'focalpt': [43.567966, 176.516406, 79.835879], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 74.91, - 'focalpt': [-42.606496, 177.966337, 79.681598], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 60.38, - 'focalpt': [40.948735, 196.405144, 60.200407], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 60.63, - 'focalpt': [-45.187592, 194.885808, 60.386860], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 286.95, - 'focalpt': [16.500735, 183.994988, 75.391863], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 322.07, - 'focalpt': [-16.500735, 183.994988, 75.391863], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_L.stl', - 'force': 57.40, - 'focalpt': [17.648059, 160.594971, 74.091063], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_R.stl', - 'force': 60.05, - 'focalpt': [-12.290623, 162.896808, 75.891315], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Clidastes propython FHSM17576 +# 500k faces on the mandible surface + + +def parms(d={}): + p = {} + path = 'CLIpro/500k' + p['mandible'] = f'{path}/CLIpro_jaw_500k.stl' + p['contact_pts'] = [[-33.575844, 26.282110, -0.445806], + [32.137966, 22.818340, 7.904116]] + p['axis_pt1'] = [45.043976, 199.899857, 33.671288] + p['axis_pt2'] = [-50.729774, 205.098663, 26.440434] + p['muscles'] = [ + { + 'file': f'{path}/M_AE_L1.stl', + 'force': 100.61, + 'focalpt': [47.666592, 175.921521, 79.560751], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_L2.stl', + 'force': 100.61, + 'focalpt': [47.666592, 175.921521, 79.560751], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R1.stl', + 'force': 100.42, + 'focalpt': [-46.419570, 177.561510, 79.317629], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R2.stl', + 'force': 100.42, + 'focalpt': [-46.419570, 177.561510, 79.317629], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_L.stl', + 'force': 77.85, + 'focalpt': [43.567966, 176.516406, 79.835879], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 74.91, + 'focalpt': [-42.606496, 177.966337, 79.681598], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 60.38, + 'focalpt': [40.948735, 196.405144, 60.200407], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 60.63, + 'focalpt': [-45.187592, 194.885808, 60.386860], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 286.95, + 'focalpt': [16.500735, 183.994988, 75.391863], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 322.07, + 'focalpt': [-16.500735, 183.994988, 75.391863], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_L.stl', + 'force': 57.40, + 'focalpt': [17.648059, 160.594971, 74.091063], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_R.stl', + 'force': 60.05, + 'focalpt': [-12.290623, 162.896808, 75.891315], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/CLIpro_750k_15_1.py b/models/CLIpro/CLIpro_750k_15_1.py similarity index 96% rename from models/CLIpro_750k_15_1.py rename to models/CLIpro/CLIpro_750k_15_1.py index 86b44c0..ff29c8f 100644 --- a/models/CLIpro_750k_15_1.py +++ b/models/CLIpro/CLIpro_750k_15_1.py @@ -1,106 +1,106 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Clidastes propython FHSM17576 -# 750k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'CLIpro/750k' - p['mandible'] = f'{path}/CLIpro_jaw_750k.stl' - p['contact_pts'] = [[-14.743377, -90.163612, 9.011174], - [13.049115, -90.677956, 7.640814]] - p['axis_pt1'] = [46.317547, 203.956772, 35.086609] - p['axis_pt2'] = [-50.729774, 205.098663, 26.440434] - p['muscles'] = [ - { - 'file': f'{path}/M_AE_L1.stl', - 'force': 100.61, - 'focalpt': [47.680521, 181.590153, 83.449286], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_L2.stl', - 'force': 100.61, - 'focalpt': [47.680521, 181.590153, 83.449286], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R1.stl', - 'force': 100.42, - 'focalpt': [-46.432835, 183.211827, 82.975638], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R2.stl', - 'force': 100.42, - 'focalpt': [-46.432835, 183.211827, 82.975638], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_L.stl', - 'force': 77.85, - 'focalpt': [43.531105, 182.179642, 83.287358], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 74.91, - 'focalpt': [-42.557619, 183.499002, 83.210456], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 60.38, - 'focalpt': [40.792943, 199.343446, 61.672899], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 60.63, - 'focalpt': [-45.202802, 197.737902, 61.873620], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 286.95, - 'focalpt': [16.389091, 189.529359, 78.967938], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 322.07, - 'focalpt': [-16.389091, 189.529359, 78.967938], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_L.stl', - 'force': 57.40, - 'focalpt': [17.442241, 165.807955, 80.338773], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_R.stl', - 'force': 60.05, - 'focalpt': [-12.261135, 168.629401, 81.345746], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Clidastes propython FHSM17576 +# 750k faces on the mandible surface + + +def parms(d={}): + p = {} + path = 'CLIpro/750k' + p['mandible'] = f'{path}/CLIpro_jaw_750k.stl' + p['contact_pts'] = [[-14.743377, -90.163612, 9.011174], + [13.049115, -90.677956, 7.640814]] + p['axis_pt1'] = [46.317547, 203.956772, 35.086609] + p['axis_pt2'] = [-50.729774, 205.098663, 26.440434] + p['muscles'] = [ + { + 'file': f'{path}/M_AE_L1.stl', + 'force': 100.61, + 'focalpt': [47.680521, 181.590153, 83.449286], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_L2.stl', + 'force': 100.61, + 'focalpt': [47.680521, 181.590153, 83.449286], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R1.stl', + 'force': 100.42, + 'focalpt': [-46.432835, 183.211827, 82.975638], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R2.stl', + 'force': 100.42, + 'focalpt': [-46.432835, 183.211827, 82.975638], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_L.stl', + 'force': 77.85, + 'focalpt': [43.531105, 182.179642, 83.287358], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 74.91, + 'focalpt': [-42.557619, 183.499002, 83.210456], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 60.38, + 'focalpt': [40.792943, 199.343446, 61.672899], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 60.63, + 'focalpt': [-45.202802, 197.737902, 61.873620], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 286.95, + 'focalpt': [16.389091, 189.529359, 78.967938], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 322.07, + 'focalpt': [-16.389091, 189.529359, 78.967938], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_L.stl', + 'force': 57.40, + 'focalpt': [17.442241, 165.807955, 80.338773], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_R.stl', + 'force': 60.05, + 'focalpt': [-12.261135, 168.629401, 81.345746], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/CLIpro_750k_15_2.py b/models/CLIpro/CLIpro_750k_15_2.py similarity index 96% rename from models/CLIpro_750k_15_2.py rename to models/CLIpro/CLIpro_750k_15_2.py index 13829ef..cabb96f 100644 --- a/models/CLIpro_750k_15_2.py +++ b/models/CLIpro/CLIpro_750k_15_2.py @@ -1,106 +1,106 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Clidastes propython FHSM17576 -# 750k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'CLIpro/750k' - p['mandible'] = f'{path}/CLIpro_jaw_750k.stl' - p['contact_pts'] = [[-34.126896, 21.475969, 10.220996], - [32.139095, 22.748108, 8.446575]] - p['axis_pt1'] = [46.317547, 203.956772, 35.086609] - p['axis_pt2'] = [-50.729774, 205.098663, 26.440434] - p['muscles'] = [ - { - 'file': f'{path}/M_AE_L1.stl', - 'force': 100.61, - 'focalpt': [47.680521, 181.590153, 83.449286], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_L2.stl', - 'force': 100.61, - 'focalpt': [47.680521, 181.590153, 83.449286], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R1.stl', - 'force': 100.42, - 'focalpt': [-46.432835, 183.211827, 82.975638], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R2.stl', - 'force': 100.42, - 'focalpt': [-46.432835, 183.211827, 82.975638], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_L.stl', - 'force': 77.85, - 'focalpt': [43.531105, 182.179642, 83.287358], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 74.91, - 'focalpt': [-42.557619, 183.499002, 83.210456], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 60.38, - 'focalpt': [40.792943, 199.343446, 61.672899], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 60.63, - 'focalpt': [-45.202802, 197.737902, 61.873620], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 286.95, - 'focalpt': [16.389091, 189.529359, 78.967938], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 322.07, - 'focalpt': [-16.389091, 189.529359, 78.967938], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_L.stl', - 'force': 57.40, - 'focalpt': [17.442241, 165.807955, 80.338773], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_R.stl', - 'force': 60.05, - 'focalpt': [-12.261135, 168.629401, 81.345746], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Clidastes propython FHSM17576 +# 750k faces on the mandible surface + + +def parms(d={}): + p = {} + path = 'CLIpro/750k' + p['mandible'] = f'{path}/CLIpro_jaw_750k.stl' + p['contact_pts'] = [[-34.126896, 21.475969, 10.220996], + [32.139095, 22.748108, 8.446575]] + p['axis_pt1'] = [46.317547, 203.956772, 35.086609] + p['axis_pt2'] = [-50.729774, 205.098663, 26.440434] + p['muscles'] = [ + { + 'file': f'{path}/M_AE_L1.stl', + 'force': 100.61, + 'focalpt': [47.680521, 181.590153, 83.449286], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_L2.stl', + 'force': 100.61, + 'focalpt': [47.680521, 181.590153, 83.449286], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R1.stl', + 'force': 100.42, + 'focalpt': [-46.432835, 183.211827, 82.975638], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R2.stl', + 'force': 100.42, + 'focalpt': [-46.432835, 183.211827, 82.975638], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_L.stl', + 'force': 77.85, + 'focalpt': [43.531105, 182.179642, 83.287358], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 74.91, + 'focalpt': [-42.557619, 183.499002, 83.210456], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 60.38, + 'focalpt': [40.792943, 199.343446, 61.672899], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 60.63, + 'focalpt': [-45.202802, 197.737902, 61.873620], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 286.95, + 'focalpt': [16.389091, 189.529359, 78.967938], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 322.07, + 'focalpt': [-16.389091, 189.529359, 78.967938], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_L.stl', + 'force': 57.40, + 'focalpt': [17.442241, 165.807955, 80.338773], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_R.stl', + 'force': 60.05, + 'focalpt': [-12.261135, 168.629401, 81.345746], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/CLIpro_750k_7_1.py b/models/CLIpro/CLIpro_750k_7_1.py similarity index 96% rename from models/CLIpro_750k_7_1.py rename to models/CLIpro/CLIpro_750k_7_1.py index e5b13a2..a870262 100644 --- a/models/CLIpro_750k_7_1.py +++ b/models/CLIpro/CLIpro_750k_7_1.py @@ -1,106 +1,106 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Clidastes propython FHSM17576 -# 750k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'CLIpro/750k' - p['mandible'] = f'{path}/CLIpro_jaw_750k.stl' - p['contact_pts'] = [[-14.743377, -90.163612, 9.011174], - [13.049115, -90.677956, 7.640814]] - p['axis_pt1'] = [46.317547, 203.956772, 35.086609] - p['axis_pt2'] = [-50.729774, 205.098663, 26.440434] - p['muscles'] = [ - { - 'file': f'{path}/M_AE_L1.stl', - 'force': 100.61, - 'focalpt': [47.666592, 175.921521, 79.560751], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_L2.stl', - 'force': 100.61, - 'focalpt': [47.666592, 175.921521, 79.560751], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R1.stl', - 'force': 100.42, - 'focalpt': [-46.419570, 177.561510, 79.317629], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R2.stl', - 'force': 100.42, - 'focalpt': [-46.419570, 177.561510, 79.317629], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_L.stl', - 'force': 77.85, - 'focalpt': [43.567966, 176.516406, 79.835879], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 74.91, - 'focalpt': [-42.606496, 177.966337, 79.681598], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 60.38, - 'focalpt': [40.948735, 196.405144, 60.200407], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 60.63, - 'focalpt': [-45.187592, 194.885808, 60.386860], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 286.95, - 'focalpt': [16.500735, 183.994988, 75.391863], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 322.07, - 'focalpt': [-16.500735, 183.994988, 75.391863], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_L.stl', - 'force': 57.40, - 'focalpt': [17.648059, 160.594971, 74.091063], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_R.stl', - 'force': 60.05, - 'focalpt': [-12.290623, 162.896808, 75.891315], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Clidastes propython FHSM17576 +# 750k faces on the mandible surface + + +def parms(d={}): + p = {} + path = 'CLIpro/750k' + p['mandible'] = f'{path}/CLIpro_jaw_750k.stl' + p['contact_pts'] = [[-14.743377, -90.163612, 9.011174], + [13.049115, -90.677956, 7.640814]] + p['axis_pt1'] = [46.317547, 203.956772, 35.086609] + p['axis_pt2'] = [-50.729774, 205.098663, 26.440434] + p['muscles'] = [ + { + 'file': f'{path}/M_AE_L1.stl', + 'force': 100.61, + 'focalpt': [47.666592, 175.921521, 79.560751], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_L2.stl', + 'force': 100.61, + 'focalpt': [47.666592, 175.921521, 79.560751], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R1.stl', + 'force': 100.42, + 'focalpt': [-46.419570, 177.561510, 79.317629], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R2.stl', + 'force': 100.42, + 'focalpt': [-46.419570, 177.561510, 79.317629], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_L.stl', + 'force': 77.85, + 'focalpt': [43.567966, 176.516406, 79.835879], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 74.91, + 'focalpt': [-42.606496, 177.966337, 79.681598], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 60.38, + 'focalpt': [40.948735, 196.405144, 60.200407], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 60.63, + 'focalpt': [-45.187592, 194.885808, 60.386860], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 286.95, + 'focalpt': [16.500735, 183.994988, 75.391863], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 322.07, + 'focalpt': [-16.500735, 183.994988, 75.391863], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_L.stl', + 'force': 57.40, + 'focalpt': [17.648059, 160.594971, 74.091063], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_R.stl', + 'force': 60.05, + 'focalpt': [-12.290623, 162.896808, 75.891315], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/CLIpro_750k_7_2.py b/models/CLIpro/CLIpro_750k_7_2.py similarity index 96% rename from models/CLIpro_750k_7_2.py rename to models/CLIpro/CLIpro_750k_7_2.py index 87cbe31..d8e8d96 100644 --- a/models/CLIpro_750k_7_2.py +++ b/models/CLIpro/CLIpro_750k_7_2.py @@ -1,106 +1,106 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Clidastes propython FHSM17576 -# 750k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'CLIpro/750k' - p['mandible'] = f'{path}/CLIpro_jaw_750k.stl' - p['contact_pts'] = [[-34.126896, 21.475969, 10.220996], - [32.139095, 22.748108, 8.446575]] - p['axis_pt1'] = [46.317547, 203.956772, 35.086609] - p['axis_pt2'] = [-50.729774, 205.098663, 26.440434] - p['muscles'] = [ - { - 'file': f'{path}/M_AE_L1.stl', - 'force': 100.61, - 'focalpt': [47.666592, 175.921521, 79.560751], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_L2.stl', - 'force': 100.61, - 'focalpt': [47.666592, 175.921521, 79.560751], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R1.stl', - 'force': 100.42, - 'focalpt': [-46.419570, 177.561510, 79.317629], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R2.stl', - 'force': 100.42, - 'focalpt': [-46.419570, 177.561510, 79.317629], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_L.stl', - 'force': 77.85, - 'focalpt': [43.567966, 176.516406, 79.835879], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 74.91, - 'focalpt': [-42.606496, 177.966337, 79.681598], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 60.38, - 'focalpt': [40.948735, 196.405144, 60.200407], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 60.63, - 'focalpt': [-45.187592, 194.885808, 60.386860], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 286.95, - 'focalpt': [16.500735, 183.994988, 75.391863], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 322.07, - 'focalpt': [-16.500735, 183.994988, 75.391863], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_L.stl', - 'force': 57.40, - 'focalpt': [17.648059, 160.594971, 74.091063], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_R.stl', - 'force': 60.05, - 'focalpt': [-12.290623, 162.896808, 75.891315], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Clidastes propython FHSM17576 +# 750k faces on the mandible surface + + +def parms(d={}): + p = {} + path = 'CLIpro/750k' + p['mandible'] = f'{path}/CLIpro_jaw_750k.stl' + p['contact_pts'] = [[-34.126896, 21.475969, 10.220996], + [32.139095, 22.748108, 8.446575]] + p['axis_pt1'] = [46.317547, 203.956772, 35.086609] + p['axis_pt2'] = [-50.729774, 205.098663, 26.440434] + p['muscles'] = [ + { + 'file': f'{path}/M_AE_L1.stl', + 'force': 100.61, + 'focalpt': [47.666592, 175.921521, 79.560751], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_L2.stl', + 'force': 100.61, + 'focalpt': [47.666592, 175.921521, 79.560751], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R1.stl', + 'force': 100.42, + 'focalpt': [-46.419570, 177.561510, 79.317629], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R2.stl', + 'force': 100.42, + 'focalpt': [-46.419570, 177.561510, 79.317629], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_L.stl', + 'force': 77.85, + 'focalpt': [43.567966, 176.516406, 79.835879], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 74.91, + 'focalpt': [-42.606496, 177.966337, 79.681598], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 60.38, + 'focalpt': [40.948735, 196.405144, 60.200407], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 60.63, + 'focalpt': [-45.187592, 194.885808, 60.386860], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 286.95, + 'focalpt': [16.500735, 183.994988, 75.391863], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 322.07, + 'focalpt': [-16.500735, 183.994988, 75.391863], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_L.stl', + 'force': 57.40, + 'focalpt': [17.648059, 160.594971, 74.091063], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_R.stl', + 'force': 60.05, + 'focalpt': [-12.290623, 162.896808, 75.891315], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/CLIpro/__init__.py b/models/CLIpro/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/models/Dolico_bon_150k_15_1.py b/models/Dolico_bon/Dolico_bon_150k_15_1.py similarity index 96% rename from models/Dolico_bon_150k_15_1.py rename to models/Dolico_bon/Dolico_bon_150k_15_1.py index faee809..d7ccc01 100644 --- a/models/Dolico_bon_150k_15_1.py +++ b/models/Dolico_bon/Dolico_bon_150k_15_1.py @@ -1,69 +1,69 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhyncops_bonneri_KUVP40001 - - -def parms(d={}): - p = {} - path = 'Dolico_bon/150k' - p['mandible'] = f'{path}/Dolico_bon_150k.stl' - p['contact_pts'] = [[4.212819, -267.574554, 28.792574], - [36.007748, -269.322662, 27.255693]] - p['axis_pt1'] = [162.458069, 598.625000, -20.051981] - p['axis_pt2'] = [-145.469955, 585.402344, 11.398635] - p['muscles'] = [ - { - 'file': f'{path}/M_AME_L.stl', - 'force': 2466.07, - 'focalpt': [26.879903, 565.011337, 160.711648], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 2357.08, - 'focalpt': [-85.160237, 565.739134, 165.740358], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 512.92, - 'focalpt': [110.578, 578.7688, 58.5503], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 516.21, - 'focalpt': [-104.578, 578.7688, 58.5503], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 2174.14, - 'focalpt': [-14.698618, 471.781092, 160.885320], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 2283.12, - 'focalpt': [-71.231138, 484.326358, 152.248546], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Dolicorhyncops_bonneri_KUVP40001 + + +def parms(d={}): + p = {} + path = 'Dolico_bon/150k' + p['mandible'] = f'{path}/Dolico_bon_150k.stl' + p['contact_pts'] = [[4.212819, -267.574554, 28.792574], + [36.007748, -269.322662, 27.255693]] + p['axis_pt1'] = [162.458069, 598.625000, -20.051981] + p['axis_pt2'] = [-145.469955, 585.402344, 11.398635] + p['muscles'] = [ + { + 'file': f'{path}/M_AME_L.stl', + 'force': 2466.07, + 'focalpt': [26.879903, 565.011337, 160.711648], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 2357.08, + 'focalpt': [-85.160237, 565.739134, 165.740358], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 512.92, + 'focalpt': [110.578, 578.7688, 58.5503], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 516.21, + 'focalpt': [-104.578, 578.7688, 58.5503], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 2174.14, + 'focalpt': [-14.698618, 471.781092, 160.885320], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 2283.12, + 'focalpt': [-71.231138, 484.326358, 152.248546], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/Dolico_bon_150k_15_2.py b/models/Dolico_bon/Dolico_bon_150k_15_2.py similarity index 96% rename from models/Dolico_bon_150k_15_2.py rename to models/Dolico_bon/Dolico_bon_150k_15_2.py index 1fc821a..13a4e45 100644 --- a/models/Dolico_bon_150k_15_2.py +++ b/models/Dolico_bon/Dolico_bon_150k_15_2.py @@ -1,69 +1,69 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhyncops_bonneri_KUVP40001 - - -def parms(d={}): - p = {} - path = 'Dolico_bon/150k' - p['mandible'] = f'{path}/Dolico_bon_150k.stl' - p['contact_pts'] = [[-14.645494, 62.509026, 23.022108], - [44.984268, 67.347466, -2.159538]] - p['axis_pt1'] = [162.458069, 598.625000, -20.051981] - p['axis_pt2'] = [-145.469955, 585.402344, 11.398635] - p['muscles'] = [ - { - 'file': f'{path}/M_AME_L.stl', - 'force': 2466.07, - 'focalpt': [26.879903, 565.011337, 160.711648], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 2357.08, - 'focalpt': [-85.160237, 565.739134, 165.740358], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 512.92, - 'focalpt': [110.578, 578.7688, 58.5503], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 516.21, - 'focalpt': [-104.578, 578.7688, 58.5503], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 2174.14, - 'focalpt': [-14.698618, 471.781092, 160.885320], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 2283.12, - 'focalpt': [-71.231138, 484.326358, 152.248546], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Dolicorhyncops_bonneri_KUVP40001 + + +def parms(d={}): + p = {} + path = 'Dolico_bon/150k' + p['mandible'] = f'{path}/Dolico_bon_150k.stl' + p['contact_pts'] = [[-14.645494, 62.509026, 23.022108], + [44.984268, 67.347466, -2.159538]] + p['axis_pt1'] = [162.458069, 598.625000, -20.051981] + p['axis_pt2'] = [-145.469955, 585.402344, 11.398635] + p['muscles'] = [ + { + 'file': f'{path}/M_AME_L.stl', + 'force': 2466.07, + 'focalpt': [26.879903, 565.011337, 160.711648], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 2357.08, + 'focalpt': [-85.160237, 565.739134, 165.740358], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 512.92, + 'focalpt': [110.578, 578.7688, 58.5503], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 516.21, + 'focalpt': [-104.578, 578.7688, 58.5503], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 2174.14, + 'focalpt': [-14.698618, 471.781092, 160.885320], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 2283.12, + 'focalpt': [-71.231138, 484.326358, 152.248546], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/Dolico_bon_150k_7_1.py b/models/Dolico_bon/Dolico_bon_150k_7_1.py similarity index 96% rename from models/Dolico_bon_150k_7_1.py rename to models/Dolico_bon/Dolico_bon_150k_7_1.py index 31780e6..0a9422e 100644 --- a/models/Dolico_bon_150k_7_1.py +++ b/models/Dolico_bon/Dolico_bon_150k_7_1.py @@ -1,69 +1,69 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhyncops_bonneri_KUVP40001 - - -def parms(d={}): - p = {} - path = 'Dolico_bon/150k' - p['mandible'] = f'{path}/Dolico_bon_150k.stl' - p['contact_pts'] = [[4.212819, -267.574554, 28.792574], - [36.007748, -269.322662, 27.255693]] - p['axis_pt1'] = [162.458069, 598.625000, -20.051981] - p['axis_pt2'] = [-145.469955, 585.402344, 11.398635] - p['muscles'] = [ - { - 'file': f'{path}/M_AME_L.stl', - 'force': 2466.07, - 'focalpt': [26.875945, 548.366816, 155.933549], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 2357.08, - 'focalpt': [-85.201151, 548.298180, 161.008995], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 512.92, - 'focalpt': [110.2106, 575.2580, 56.9669], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 516.21, - 'focalpt': [-104.2106, 575.2580, 56.9669], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 2174.14, - 'focalpt': [-14.698618, 456.040329, 143.133196], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 2283.12, - 'focalpt': [-71.241720, 469.633861, 136.315799], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Dolicorhyncops_bonneri_KUVP40001 + + +def parms(d={}): + p = {} + path = 'Dolico_bon/150k' + p['mandible'] = f'{path}/Dolico_bon_150k.stl' + p['contact_pts'] = [[4.212819, -267.574554, 28.792574], + [36.007748, -269.322662, 27.255693]] + p['axis_pt1'] = [162.458069, 598.625000, -20.051981] + p['axis_pt2'] = [-145.469955, 585.402344, 11.398635] + p['muscles'] = [ + { + 'file': f'{path}/M_AME_L.stl', + 'force': 2466.07, + 'focalpt': [26.875945, 548.366816, 155.933549], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 2357.08, + 'focalpt': [-85.201151, 548.298180, 161.008995], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 512.92, + 'focalpt': [110.2106, 575.2580, 56.9669], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 516.21, + 'focalpt': [-104.2106, 575.2580, 56.9669], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 2174.14, + 'focalpt': [-14.698618, 456.040329, 143.133196], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 2283.12, + 'focalpt': [-71.241720, 469.633861, 136.315799], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/Dolico_bon_150k_7_2.py b/models/Dolico_bon/Dolico_bon_150k_7_2.py similarity index 96% rename from models/Dolico_bon_150k_7_2.py rename to models/Dolico_bon/Dolico_bon_150k_7_2.py index 71951c9..ed997cc 100644 --- a/models/Dolico_bon_150k_7_2.py +++ b/models/Dolico_bon/Dolico_bon_150k_7_2.py @@ -1,69 +1,69 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhyncops_bonneri_KUVP40001 - - -def parms(d={}): - p = {} - path = 'Dolico_bon/150k' - p['mandible'] = f'{path}/Dolico_bon_150k.stl' - p['contact_pts'] = [[-14.645494, 62.509026, 23.022108], - [44.984268, 67.347466, -2.159538]] - p['axis_pt1'] = [162.458069, 598.625000, -20.051981] - p['axis_pt2'] = [-145.469955, 585.402344, 11.398635] - p['muscles'] = [ - { - 'file': f'{path}/M_AME_L.stl', - 'force': 2466.07, - 'focalpt': [26.875945, 548.366816, 155.933549], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 2357.08, - 'focalpt': [-85.201151, 548.298180, 161.008995], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 512.92, - 'focalpt': [110.2106, 575.2580, 56.9669], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 516.21, - 'focalpt': [-104.2106, 575.2580, 56.9669], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 2174.14, - 'focalpt': [-14.698618, 456.040329, 143.133196], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 2283.12, - 'focalpt': [-71.241720, 469.633861, 136.315799], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Dolicorhyncops_bonneri_KUVP40001 + + +def parms(d={}): + p = {} + path = 'Dolico_bon/150k' + p['mandible'] = f'{path}/Dolico_bon_150k.stl' + p['contact_pts'] = [[-14.645494, 62.509026, 23.022108], + [44.984268, 67.347466, -2.159538]] + p['axis_pt1'] = [162.458069, 598.625000, -20.051981] + p['axis_pt2'] = [-145.469955, 585.402344, 11.398635] + p['muscles'] = [ + { + 'file': f'{path}/M_AME_L.stl', + 'force': 2466.07, + 'focalpt': [26.875945, 548.366816, 155.933549], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 2357.08, + 'focalpt': [-85.201151, 548.298180, 161.008995], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 512.92, + 'focalpt': [110.2106, 575.2580, 56.9669], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 516.21, + 'focalpt': [-104.2106, 575.2580, 56.9669], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 2174.14, + 'focalpt': [-14.698618, 456.040329, 143.133196], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 2283.12, + 'focalpt': [-71.241720, 469.633861, 136.315799], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/Dolico_bon_250k_15_1.py b/models/Dolico_bon/Dolico_bon_250k_15_1.py similarity index 96% rename from models/Dolico_bon_250k_15_1.py rename to models/Dolico_bon/Dolico_bon_250k_15_1.py index 0ee7b32..d944e1f 100644 --- a/models/Dolico_bon_250k_15_1.py +++ b/models/Dolico_bon/Dolico_bon_250k_15_1.py @@ -1,69 +1,69 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhyncops_bonneri_KUVP40001 - - -def parms(d={}): - p = {} - path = 'Dolico_bon/250k' - p['mandible'] = f'{path}/Dolico_bon_250k.stl' - p['contact_pts'] = [[4.212819, -267.574554, 28.792574], - [36.279472, -269.853271, 26.685869]] - p['axis_pt1'] = [168.908783, 603.534424, -17.702827] - p['axis_pt2'] = [-147.934631, 590.528931, 14.065274] - p['muscles'] = [ - { - 'file': f'{path}/M_AME_L.stl', - 'force': 2466.07, - 'focalpt': [26.879903, 565.011337, 160.711648], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 2357.08, - 'focalpt': [-85.160237, 565.739134, 165.740358], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 512.92, - 'focalpt': [110.578, 578.7688, 58.5503], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 516.21, - 'focalpt': [-104.578, 578.7688, 58.5503], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 2174.14, - 'focalpt': [-14.698618, 471.781092, 160.885320], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 2283.12, - 'focalpt': [-71.231138, 484.326358, 152.248546], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Dolicorhyncops_bonneri_KUVP40001 + + +def parms(d={}): + p = {} + path = 'Dolico_bon/250k' + p['mandible'] = f'{path}/Dolico_bon_250k.stl' + p['contact_pts'] = [[4.212819, -267.574554, 28.792574], + [36.279472, -269.853271, 26.685869]] + p['axis_pt1'] = [168.908783, 603.534424, -17.702827] + p['axis_pt2'] = [-147.934631, 590.528931, 14.065274] + p['muscles'] = [ + { + 'file': f'{path}/M_AME_L.stl', + 'force': 2466.07, + 'focalpt': [26.879903, 565.011337, 160.711648], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 2357.08, + 'focalpt': [-85.160237, 565.739134, 165.740358], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 512.92, + 'focalpt': [110.578, 578.7688, 58.5503], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 516.21, + 'focalpt': [-104.578, 578.7688, 58.5503], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 2174.14, + 'focalpt': [-14.698618, 471.781092, 160.885320], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 2283.12, + 'focalpt': [-71.231138, 484.326358, 152.248546], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/Dolico_bon_250k_15_2.py b/models/Dolico_bon/Dolico_bon_250k_15_2.py similarity index 96% rename from models/Dolico_bon_250k_15_2.py rename to models/Dolico_bon/Dolico_bon_250k_15_2.py index 04db7c5..7636851 100644 --- a/models/Dolico_bon_250k_15_2.py +++ b/models/Dolico_bon/Dolico_bon_250k_15_2.py @@ -1,69 +1,69 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhyncops_bonneri_KUVP40001 - - -def parms(d={}): - p = {} - path = 'Dolico_bon/250k' - p['mandible'] = f'{path}/Dolico_bon_250k.stl' - p['contact_pts'] = [[-10.472356, 31.800030, -3.685302], - [50.958504, 38.902874, -5.352512]] - p['axis_pt1'] = [168.908783, 603.534424, -17.702827] - p['axis_pt2'] = [-147.934631, 590.528931, 14.065274] - p['muscles'] = [ - { - 'file': f'{path}/M_AME_L.stl', - 'force': 2466.07, - 'focalpt': [26.879903, 565.011337, 160.711648], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 2357.08, - 'focalpt': [-85.160237, 565.739134, 165.740358], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 512.92, - 'focalpt': [110.578, 578.7688, 58.5503], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 516.21, - 'focalpt': [-104.578, 578.7688, 58.5503], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 2174.14, - 'focalpt': [-14.698618, 471.781092, 160.885320], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 2283.12, - 'focalpt': [-71.231138, 484.326358, 152.248546], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Dolicorhyncops_bonneri_KUVP40001 + + +def parms(d={}): + p = {} + path = 'Dolico_bon/250k' + p['mandible'] = f'{path}/Dolico_bon_250k.stl' + p['contact_pts'] = [[-10.472356, 31.800030, -3.685302], + [50.958504, 38.902874, -5.352512]] + p['axis_pt1'] = [168.908783, 603.534424, -17.702827] + p['axis_pt2'] = [-147.934631, 590.528931, 14.065274] + p['muscles'] = [ + { + 'file': f'{path}/M_AME_L.stl', + 'force': 2466.07, + 'focalpt': [26.879903, 565.011337, 160.711648], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 2357.08, + 'focalpt': [-85.160237, 565.739134, 165.740358], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 512.92, + 'focalpt': [110.578, 578.7688, 58.5503], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 516.21, + 'focalpt': [-104.578, 578.7688, 58.5503], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 2174.14, + 'focalpt': [-14.698618, 471.781092, 160.885320], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 2283.12, + 'focalpt': [-71.231138, 484.326358, 152.248546], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/Dolico_bon_250k_7_1.py b/models/Dolico_bon/Dolico_bon_250k_7_1.py similarity index 96% rename from models/Dolico_bon_250k_7_1.py rename to models/Dolico_bon/Dolico_bon_250k_7_1.py index d75a6c2..24e1675 100644 --- a/models/Dolico_bon_250k_7_1.py +++ b/models/Dolico_bon/Dolico_bon_250k_7_1.py @@ -1,69 +1,69 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhyncops_bonneri_KUVP40001 - - -def parms(d={}): - p = {} - path = 'Dolico_bon/250k' - p['mandible'] = f'{path}/Dolico_bon_250k.stl' - p['contact_pts'] = [[4.212819, -267.574554, 28.792574], - [36.279472, -269.853271, 26.685869]] - p['axis_pt1'] = [168.908783, 603.534424, -17.702827] - p['axis_pt2'] = [-147.934631, 590.528931, 14.065274] - p['muscles'] = [ - { - 'file': f'{path}/M_AME_L.stl', - 'force': 2466.07, - 'focalpt': [26.875945, 548.366816, 155.933549], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 2357.08, - 'focalpt': [-85.201151, 548.298180, 161.008995], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 512.92, - 'focalpt': [110.2106, 575.2580, 56.9669], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 516.21, - 'focalpt': [-104.2106, 575.2580, 56.9669], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 2174.14, - 'focalpt': [-14.698618, 456.040329, 143.133196], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 2283.12, - 'focalpt': [-71.241720, 469.633861, 136.315799], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Dolicorhyncops_bonneri_KUVP40001 + + +def parms(d={}): + p = {} + path = 'Dolico_bon/250k' + p['mandible'] = f'{path}/Dolico_bon_250k.stl' + p['contact_pts'] = [[4.212819, -267.574554, 28.792574], + [36.279472, -269.853271, 26.685869]] + p['axis_pt1'] = [168.908783, 603.534424, -17.702827] + p['axis_pt2'] = [-147.934631, 590.528931, 14.065274] + p['muscles'] = [ + { + 'file': f'{path}/M_AME_L.stl', + 'force': 2466.07, + 'focalpt': [26.875945, 548.366816, 155.933549], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 2357.08, + 'focalpt': [-85.201151, 548.298180, 161.008995], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 512.92, + 'focalpt': [110.2106, 575.2580, 56.9669], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 516.21, + 'focalpt': [-104.2106, 575.2580, 56.9669], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 2174.14, + 'focalpt': [-14.698618, 456.040329, 143.133196], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 2283.12, + 'focalpt': [-71.241720, 469.633861, 136.315799], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/Dolico_bon_250k_7_2.py b/models/Dolico_bon/Dolico_bon_250k_7_2.py similarity index 96% rename from models/Dolico_bon_250k_7_2.py rename to models/Dolico_bon/Dolico_bon_250k_7_2.py index b07f36c..909dc56 100644 --- a/models/Dolico_bon_250k_7_2.py +++ b/models/Dolico_bon/Dolico_bon_250k_7_2.py @@ -1,69 +1,69 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhyncops_bonneri_KUVP40001 - - -def parms(d={}): - p = {} - path = 'Dolico_bon/250k' - p['mandible'] = f'{path}/Dolico_bon_250k.stl' - p['contact_pts'] = [[-10.472356, 31.800030, -3.685302], - [50.958504, 38.902874, -5.352512]] - p['axis_pt1'] = [168.908783, 603.534424, -17.702827] - p['axis_pt2'] = [-147.934631, 590.528931, 14.065274] - p['muscles'] = [ - { - 'file': f'{path}/M_AME_L.stl', - 'force': 2466.07, - 'focalpt': [26.875945, 548.366816, 155.933549], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 2357.08, - 'focalpt': [-85.201151, 548.298180, 161.008995], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 512.92, - 'focalpt': [110.2106, 575.2580, 56.9669], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 516.21, - 'focalpt': [-104.2106, 575.2580, 56.9669], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 2174.14, - 'focalpt': [-14.698618, 456.040329, 143.133196], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 2283.12, - 'focalpt': [-71.241720, 469.633861, 136.315799], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Dolicorhyncops_bonneri_KUVP40001 + + +def parms(d={}): + p = {} + path = 'Dolico_bon/250k' + p['mandible'] = f'{path}/Dolico_bon_250k.stl' + p['contact_pts'] = [[-10.472356, 31.800030, -3.685302], + [50.958504, 38.902874, -5.352512]] + p['axis_pt1'] = [168.908783, 603.534424, -17.702827] + p['axis_pt2'] = [-147.934631, 590.528931, 14.065274] + p['muscles'] = [ + { + 'file': f'{path}/M_AME_L.stl', + 'force': 2466.07, + 'focalpt': [26.875945, 548.366816, 155.933549], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 2357.08, + 'focalpt': [-85.201151, 548.298180, 161.008995], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 512.92, + 'focalpt': [110.2106, 575.2580, 56.9669], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 516.21, + 'focalpt': [-104.2106, 575.2580, 56.9669], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 2174.14, + 'focalpt': [-14.698618, 456.040329, 143.133196], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 2283.12, + 'focalpt': [-71.241720, 469.633861, 136.315799], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/Dolico_bon_500k_15_1.py b/models/Dolico_bon/Dolico_bon_500k_15_1.py similarity index 96% rename from models/Dolico_bon_500k_15_1.py rename to models/Dolico_bon/Dolico_bon_500k_15_1.py index 4952ae9..6af6f75 100644 --- a/models/Dolico_bon_500k_15_1.py +++ b/models/Dolico_bon/Dolico_bon_500k_15_1.py @@ -1,69 +1,69 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhyncops_bonneri_KUVP40001 - - -def parms(d={}): - p = {} - path = 'Dolico_bon/500k' - p['mandible'] = f'{path}/Dolico_bon_500k.stl' - p['contact_pts'] = [[4.858893, -266.720367, 28.316463], - [36.279472, -269.853271, 26.685869]] - p['axis_pt1'] = [164.323242, 605.580627, -20.302845] - p['axis_pt2'] = [-161.191025, 604.899658, -17.039200] - p['muscles'] = [ - { - 'file': f'{path}/M_AME_L.stl', - 'force': 2466.07, - 'focalpt': [26.879903, 565.011337, 160.711648], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 2357.08, - 'focalpt': [-85.160237, 565.739134, 165.740358], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 512.92, - 'focalpt': [110.578, 578.7688, 58.5503], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 516.21, - 'focalpt': [-104.578, 578.7688, 58.5503], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 2174.14, - 'focalpt': [-14.698618, 471.781092, 160.885320], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 2283.12, - 'focalpt': [-71.231138, 484.326358, 152.248546], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Dolicorhyncops_bonneri_KUVP40001 + + +def parms(d={}): + p = {} + path = 'Dolico_bon/500k' + p['mandible'] = f'{path}/Dolico_bon_500k.stl' + p['contact_pts'] = [[4.858893, -266.720367, 28.316463], + [36.279472, -269.853271, 26.685869]] + p['axis_pt1'] = [164.323242, 605.580627, -20.302845] + p['axis_pt2'] = [-161.191025, 604.899658, -17.039200] + p['muscles'] = [ + { + 'file': f'{path}/M_AME_L.stl', + 'force': 2466.07, + 'focalpt': [26.879903, 565.011337, 160.711648], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 2357.08, + 'focalpt': [-85.160237, 565.739134, 165.740358], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 512.92, + 'focalpt': [110.578, 578.7688, 58.5503], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 516.21, + 'focalpt': [-104.578, 578.7688, 58.5503], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 2174.14, + 'focalpt': [-14.698618, 471.781092, 160.885320], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 2283.12, + 'focalpt': [-71.231138, 484.326358, 152.248546], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/Dolico_bon_500k_15_2.py b/models/Dolico_bon/Dolico_bon_500k_15_2.py similarity index 96% rename from models/Dolico_bon_500k_15_2.py rename to models/Dolico_bon/Dolico_bon_500k_15_2.py index d431f11..99cf92f 100644 --- a/models/Dolico_bon_500k_15_2.py +++ b/models/Dolico_bon/Dolico_bon_500k_15_2.py @@ -1,69 +1,69 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhyncops_bonneri_KUVP40001 - - -def parms(d={}): - p = {} - path = 'Dolico_bon/500k' - p['mandible'] = f'{path}/Dolico_bon_500k.stl' - p['contact_pts'] = [[-16.827028, 42.577381, -1.938522], - [44.807407, 48.136395, -0.112404]] - p['axis_pt1'] = [164.323242, 605.580627, -20.302845] - p['axis_pt2'] = [-161.191025, 604.899658, -17.039200] - p['muscles'] = [ - { - 'file': f'{path}/M_AME_L.stl', - 'force': 2466.07, - 'focalpt': [26.879903, 565.011337, 160.711648], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 2357.08, - 'focalpt': [-85.160237, 565.739134, 165.740358], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 512.92, - 'focalpt': [110.578, 578.7688, 58.5503], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 516.21, - 'focalpt': [-104.578, 578.7688, 58.5503], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 2174.14, - 'focalpt': [-14.698618, 471.781092, 160.885320], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 2283.12, - 'focalpt': [-71.231138, 484.326358, 152.248546], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Dolicorhyncops_bonneri_KUVP40001 + + +def parms(d={}): + p = {} + path = 'Dolico_bon/500k' + p['mandible'] = f'{path}/Dolico_bon_500k.stl' + p['contact_pts'] = [[-16.827028, 42.577381, -1.938522], + [44.807407, 48.136395, -0.112404]] + p['axis_pt1'] = [164.323242, 605.580627, -20.302845] + p['axis_pt2'] = [-161.191025, 604.899658, -17.039200] + p['muscles'] = [ + { + 'file': f'{path}/M_AME_L.stl', + 'force': 2466.07, + 'focalpt': [26.879903, 565.011337, 160.711648], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 2357.08, + 'focalpt': [-85.160237, 565.739134, 165.740358], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 512.92, + 'focalpt': [110.578, 578.7688, 58.5503], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 516.21, + 'focalpt': [-104.578, 578.7688, 58.5503], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 2174.14, + 'focalpt': [-14.698618, 471.781092, 160.885320], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 2283.12, + 'focalpt': [-71.231138, 484.326358, 152.248546], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/Dolico_bon_500k_7_1.py b/models/Dolico_bon/Dolico_bon_500k_7_1.py similarity index 96% rename from models/Dolico_bon_500k_7_1.py rename to models/Dolico_bon/Dolico_bon_500k_7_1.py index e7c7d89..2746e93 100644 --- a/models/Dolico_bon_500k_7_1.py +++ b/models/Dolico_bon/Dolico_bon_500k_7_1.py @@ -1,69 +1,69 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhyncops_bonneri_KUVP40001 - - -def parms(d={}): - p = {} - path = 'Dolico_bon/500k' - p['mandible'] = f'{path}/Dolico_bon_500k.stl' - p['contact_pts'] = [[4.858893, -266.720367, 28.316463], - [36.279472, -269.853271, 26.685869]] - p['axis_pt1'] = [164.323242, 605.580627, -20.302845] - p['axis_pt2'] = [-161.191025, 604.899658, -17.039200] - p['muscles'] = [ - { - 'file': f'{path}/M_AME_L.stl', - 'force': 2466.07, - 'focalpt': [26.875945, 548.366816, 155.933549], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 2357.08, - 'focalpt': [-85.201151, 548.298180, 161.008995], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 512.92, - 'focalpt': [110.2106, 575.2580, 56.9669], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 516.21, - 'focalpt': [-104.2106, 575.2580, 56.9669], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 2174.14, - 'focalpt': [-14.698618, 456.040329, 143.133196], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 2283.12, - 'focalpt': [-71.241720, 469.633861, 136.315799], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Dolicorhyncops_bonneri_KUVP40001 + + +def parms(d={}): + p = {} + path = 'Dolico_bon/500k' + p['mandible'] = f'{path}/Dolico_bon_500k.stl' + p['contact_pts'] = [[4.858893, -266.720367, 28.316463], + [36.279472, -269.853271, 26.685869]] + p['axis_pt1'] = [164.323242, 605.580627, -20.302845] + p['axis_pt2'] = [-161.191025, 604.899658, -17.039200] + p['muscles'] = [ + { + 'file': f'{path}/M_AME_L.stl', + 'force': 2466.07, + 'focalpt': [26.875945, 548.366816, 155.933549], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 2357.08, + 'focalpt': [-85.201151, 548.298180, 161.008995], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 512.92, + 'focalpt': [110.2106, 575.2580, 56.9669], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 516.21, + 'focalpt': [-104.2106, 575.2580, 56.9669], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 2174.14, + 'focalpt': [-14.698618, 456.040329, 143.133196], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 2283.12, + 'focalpt': [-71.241720, 469.633861, 136.315799], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/Dolico_bon_500k_7_2.py b/models/Dolico_bon/Dolico_bon_500k_7_2.py similarity index 96% rename from models/Dolico_bon_500k_7_2.py rename to models/Dolico_bon/Dolico_bon_500k_7_2.py index 151dfcc..3fbe9b0 100644 --- a/models/Dolico_bon_500k_7_2.py +++ b/models/Dolico_bon/Dolico_bon_500k_7_2.py @@ -1,69 +1,69 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhyncops_bonneri_KUVP40001 - - -def parms(d={}): - p = {} - path = 'Dolico_bon/500k' - p['mandible'] = f'{path}/Dolico_bon_500k.stl' - p['contact_pts'] = [[-16.827028, 42.577381, -1.938522], - [44.807407, 48.136395, -0.112404]] - p['axis_pt1'] = [164.323242, 605.580627, -20.302845] - p['axis_pt2'] = [-161.191025, 604.899658, -17.039200] - p['muscles'] = [ - { - 'file': f'{path}/M_AME_L.stl', - 'force': 2466.07, - 'focalpt': [26.875945, 548.366816, 155.933549], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 2357.08, - 'focalpt': [-85.201151, 548.298180, 161.008995], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 512.92, - 'focalpt': [110.2106, 575.2580, 56.9669], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 516.21, - 'focalpt': [-104.2106, 575.2580, 56.9669], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 2174.14, - 'focalpt': [-14.698618, 456.040329, 143.133196], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 2283.12, - 'focalpt': [-71.241720, 469.633861, 136.315799], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Dolicorhyncops_bonneri_KUVP40001 + + +def parms(d={}): + p = {} + path = 'Dolico_bon/500k' + p['mandible'] = f'{path}/Dolico_bon_500k.stl' + p['contact_pts'] = [[-16.827028, 42.577381, -1.938522], + [44.807407, 48.136395, -0.112404]] + p['axis_pt1'] = [164.323242, 605.580627, -20.302845] + p['axis_pt2'] = [-161.191025, 604.899658, -17.039200] + p['muscles'] = [ + { + 'file': f'{path}/M_AME_L.stl', + 'force': 2466.07, + 'focalpt': [26.875945, 548.366816, 155.933549], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 2357.08, + 'focalpt': [-85.201151, 548.298180, 161.008995], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 512.92, + 'focalpt': [110.2106, 575.2580, 56.9669], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 516.21, + 'focalpt': [-104.2106, 575.2580, 56.9669], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 2174.14, + 'focalpt': [-14.698618, 456.040329, 143.133196], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 2283.12, + 'focalpt': [-71.241720, 469.633861, 136.315799], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/Dolico_bon_750k_15_1.py b/models/Dolico_bon/Dolico_bon_750k_15_1.py similarity index 96% rename from models/Dolico_bon_750k_15_1.py rename to models/Dolico_bon/Dolico_bon_750k_15_1.py index f5a2561..8f8f4be 100644 --- a/models/Dolico_bon_750k_15_1.py +++ b/models/Dolico_bon/Dolico_bon_750k_15_1.py @@ -1,69 +1,69 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhyncops_bonneri_KUVP40001 - - -def parms(d={}): - p = {} - path = 'Dolico_bon/750k' - p['mandible'] = f'{path}/Dolico_bon_750k.stl' - p['contact_pts'] = [[5.189603, -266.977203, 28.278206], - [36.279472, -269.853271, 26.685869]] - p['axis_pt1'] = [163.730804, 595.499817, -20.042530] - p['axis_pt2'] = [-149.361832, 584.256775, 14.424056] - p['muscles'] = [ - { - 'file': f'{path}/M_AME_L.stl', - 'force': 2466.07, - 'focalpt': [26.879903, 565.011337, 160.711648], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 2357.08, - 'focalpt': [-85.160237, 565.739134, 165.740358], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 512.92, - 'focalpt': [110.578, 578.7688, 58.5503], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 516.21, - 'focalpt': [-104.578, 578.7688, 58.5503], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 2174.14, - 'focalpt': [-14.698618, 471.781092, 160.885320], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 2283.12, - 'focalpt': [-71.231138, 484.326358, 152.248546], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Dolicorhyncops_bonneri_KUVP40001 + + +def parms(d={}): + p = {} + path = 'Dolico_bon/750k' + p['mandible'] = f'{path}/Dolico_bon_750k.stl' + p['contact_pts'] = [[5.189603, -266.977203, 28.278206], + [36.279472, -269.853271, 26.685869]] + p['axis_pt1'] = [163.730804, 595.499817, -20.042530] + p['axis_pt2'] = [-149.361832, 584.256775, 14.424056] + p['muscles'] = [ + { + 'file': f'{path}/M_AME_L.stl', + 'force': 2466.07, + 'focalpt': [26.879903, 565.011337, 160.711648], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 2357.08, + 'focalpt': [-85.160237, 565.739134, 165.740358], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 512.92, + 'focalpt': [110.578, 578.7688, 58.5503], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 516.21, + 'focalpt': [-104.578, 578.7688, 58.5503], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 2174.14, + 'focalpt': [-14.698618, 471.781092, 160.885320], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 2283.12, + 'focalpt': [-71.231138, 484.326358, 152.248546], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/Dolico_bon_750k_15_2.py b/models/Dolico_bon/Dolico_bon_750k_15_2.py similarity index 96% rename from models/Dolico_bon_750k_15_2.py rename to models/Dolico_bon/Dolico_bon_750k_15_2.py index 5a266a2..5ed97a7 100644 --- a/models/Dolico_bon_750k_15_2.py +++ b/models/Dolico_bon/Dolico_bon_750k_15_2.py @@ -1,69 +1,69 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhyncops_bonneri_KUVP40001 - - -def parms(d={}): - p = {} - path = 'Dolico_bon/750k' - p['mandible'] = f'{path}/Dolico_bon_750k.stl' - p['contact_pts'] = [[-18.989965, 40.841747, -1.935307], - [34.655277, 41.826595, -7.642198]] - p['axis_pt1'] = [163.730804, 595.499817, -20.042530] - p['axis_pt2'] = [-149.361832, 584.256775, 14.424056] - p['muscles'] = [ - { - 'file': f'{path}/M_AME_L.stl', - 'force': 2466.07, - 'focalpt': [26.879903, 565.011337, 160.711648], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 2357.08, - 'focalpt': [-85.160237, 565.739134, 165.740358], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 512.92, - 'focalpt': [110.578, 578.7688, 58.5503], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 516.21, - 'focalpt': [-104.578, 578.7688, 58.5503], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 2174.14, - 'focalpt': [-14.698618, 471.781092, 160.885320], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 2283.12, - 'focalpt': [-71.231138, 484.326358, 152.248546], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Dolicorhyncops_bonneri_KUVP40001 + + +def parms(d={}): + p = {} + path = 'Dolico_bon/750k' + p['mandible'] = f'{path}/Dolico_bon_750k.stl' + p['contact_pts'] = [[-18.989965, 40.841747, -1.935307], + [34.655277, 41.826595, -7.642198]] + p['axis_pt1'] = [163.730804, 595.499817, -20.042530] + p['axis_pt2'] = [-149.361832, 584.256775, 14.424056] + p['muscles'] = [ + { + 'file': f'{path}/M_AME_L.stl', + 'force': 2466.07, + 'focalpt': [26.879903, 565.011337, 160.711648], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 2357.08, + 'focalpt': [-85.160237, 565.739134, 165.740358], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 512.92, + 'focalpt': [110.578, 578.7688, 58.5503], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 516.21, + 'focalpt': [-104.578, 578.7688, 58.5503], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 2174.14, + 'focalpt': [-14.698618, 471.781092, 160.885320], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 2283.12, + 'focalpt': [-71.231138, 484.326358, 152.248546], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/Dolico_bon_750k_7_1.py b/models/Dolico_bon/Dolico_bon_750k_7_1.py similarity index 96% rename from models/Dolico_bon_750k_7_1.py rename to models/Dolico_bon/Dolico_bon_750k_7_1.py index 9a7a7b0..575253d 100644 --- a/models/Dolico_bon_750k_7_1.py +++ b/models/Dolico_bon/Dolico_bon_750k_7_1.py @@ -1,69 +1,69 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhyncops_bonneri_KUVP40001 - - -def parms(d={}): - p = {} - path = 'Dolico_bon/750k' - p['mandible'] = f'{path}/Dolico_bon_750k.stl' - p['contact_pts'] = [[5.189603, -266.977203, 28.278206], - [36.279472, -269.853271, 26.685869]] - p['axis_pt1'] = [163.730804, 595.499817, -20.042530] - p['axis_pt2'] = [-149.361832, 584.256775, 14.424056] - p['muscles'] = [ - { - 'file': f'{path}/M_AME_L.stl', - 'force': 2466.07, - 'focalpt': [26.875945, 548.366816, 155.933549], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 2357.08, - 'focalpt': [-85.201151, 548.298180, 161.008995], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 512.92, - 'focalpt': [110.2106, 575.2580, 56.9669], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 516.21, - 'focalpt': [-104.2106, 575.2580, 56.9669], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 2174.14, - 'focalpt': [-14.698618, 456.040329, 143.133196], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 2283.12, - 'focalpt': [-71.241720, 469.633861, 136.315799], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Dolicorhyncops_bonneri_KUVP40001 + + +def parms(d={}): + p = {} + path = 'Dolico_bon/750k' + p['mandible'] = f'{path}/Dolico_bon_750k.stl' + p['contact_pts'] = [[5.189603, -266.977203, 28.278206], + [36.279472, -269.853271, 26.685869]] + p['axis_pt1'] = [163.730804, 595.499817, -20.042530] + p['axis_pt2'] = [-149.361832, 584.256775, 14.424056] + p['muscles'] = [ + { + 'file': f'{path}/M_AME_L.stl', + 'force': 2466.07, + 'focalpt': [26.875945, 548.366816, 155.933549], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 2357.08, + 'focalpt': [-85.201151, 548.298180, 161.008995], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 512.92, + 'focalpt': [110.2106, 575.2580, 56.9669], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 516.21, + 'focalpt': [-104.2106, 575.2580, 56.9669], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 2174.14, + 'focalpt': [-14.698618, 456.040329, 143.133196], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 2283.12, + 'focalpt': [-71.241720, 469.633861, 136.315799], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/Dolico_bon_750k_7_2.py b/models/Dolico_bon/Dolico_bon_750k_7_2.py similarity index 96% rename from models/Dolico_bon_750k_7_2.py rename to models/Dolico_bon/Dolico_bon_750k_7_2.py index f6d3189..d7cbd86 100644 --- a/models/Dolico_bon_750k_7_2.py +++ b/models/Dolico_bon/Dolico_bon_750k_7_2.py @@ -1,69 +1,69 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhyncops_bonneri_KUVP40001 - - -def parms(d={}): - p = {} - path = 'Dolico_bon/750k' - p['mandible'] = f'{path}/Dolico_bon_750k.stl' - p['contact_pts'] = [[-18.989965, 40.841747, -1.935307], - [34.655277, 41.826595, -7.642198]] - p['axis_pt1'] = [163.730804, 595.499817, -20.042530] - p['axis_pt2'] = [-149.361832, 584.256775, 14.424056] - p['muscles'] = [ - { - 'file': f'{path}/M_AME_L.stl', - 'force': 2466.07, - 'focalpt': [26.875945, 548.366816, 155.933549], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 2357.08, - 'focalpt': [-85.201151, 548.298180, 161.008995], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 512.92, - 'focalpt': [110.2106, 575.2580, 56.9669], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 516.21, - 'focalpt': [-104.2106, 575.2580, 56.9669], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 2174.14, - 'focalpt': [-14.698618, 456.040329, 143.133196], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 2283.12, - 'focalpt': [-71.241720, 469.633861, 136.315799], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Dolicorhyncops_bonneri_KUVP40001 + + +def parms(d={}): + p = {} + path = 'Dolico_bon/750k' + p['mandible'] = f'{path}/Dolico_bon_750k.stl' + p['contact_pts'] = [[-18.989965, 40.841747, -1.935307], + [34.655277, 41.826595, -7.642198]] + p['axis_pt1'] = [163.730804, 595.499817, -20.042530] + p['axis_pt2'] = [-149.361832, 584.256775, 14.424056] + p['muscles'] = [ + { + 'file': f'{path}/M_AME_L.stl', + 'force': 2466.07, + 'focalpt': [26.875945, 548.366816, 155.933549], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 2357.08, + 'focalpt': [-85.201151, 548.298180, 161.008995], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 512.92, + 'focalpt': [110.2106, 575.2580, 56.9669], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 516.21, + 'focalpt': [-104.2106, 575.2580, 56.9669], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 2174.14, + 'focalpt': [-14.698618, 456.040329, 143.133196], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 2283.12, + 'focalpt': [-71.241720, 469.633861, 136.315799], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/Dolico_bon/__init__.py b/models/Dolico_bon/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/models/Dolico_osb_150k_15_1.py b/models/Dolico_osb/Dolico_osb_150k_15_1.py similarity index 96% rename from models/Dolico_osb_150k_15_1.py rename to models/Dolico_osb/Dolico_osb_150k_15_1.py index 6ab99fb..77d8a0d 100644 --- a/models/Dolico_osb_150k_15_1.py +++ b/models/Dolico_osb/Dolico_osb_150k_15_1.py @@ -1,69 +1,69 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni - - -def parms(d={}): - p = {} - path = 'Dolico_osb/150k' - p['mandible'] = f'{path}/Dolico_osb_150k.stl' - p['contact_pts'] = [[70.939697, -369.730804, 305.997803], - [72.499474, -367.223450, 278.139832]] - p['axis_pt1'] = [39.231628, 126.756012, 209.439102] - p['axis_pt2'] = [40.221886, 126.551155, 385.009644] - p['muscles'] = [ - { - 'file': f'{path}/Dolico_osb_MAME_L.stl', - 'force': 772.65, - 'focalpt': [112.251098, 118.044274, 288.730662], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MAME_R.stl', - 'force': 740.39, - 'focalpt': [119.286464, 113.346268, 325.926690], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MAMP_L.stl', - 'force': 111.37, - 'focalpt': [69.7341, 101.3837, 230.3038], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MAMP_R.stl', - 'force': 111.37, - 'focalpt': [69.4647, 101.1148, 360.8630], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MPT_L.stl', - 'force': 639.16, - 'focalpt': [124.446263, 54.536180, 288.628676], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MPT_R.stl', - 'force': 659.75, - 'focalpt': [124.036830, 57.125231, 312.016025], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['x'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Dolicorhynchops osborni + + +def parms(d={}): + p = {} + path = 'Dolico_osb/150k' + p['mandible'] = f'{path}/Dolico_osb_150k.stl' + p['contact_pts'] = [[70.939697, -369.730804, 305.997803], + [72.499474, -367.223450, 278.139832]] + p['axis_pt1'] = [39.231628, 126.756012, 209.439102] + p['axis_pt2'] = [40.221886, 126.551155, 385.009644] + p['muscles'] = [ + { + 'file': f'{path}/Dolico_osb_MAME_L.stl', + 'force': 772.65, + 'focalpt': [112.251098, 118.044274, 288.730662], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MAME_R.stl', + 'force': 740.39, + 'focalpt': [119.286464, 113.346268, 325.926690], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MAMP_L.stl', + 'force': 111.37, + 'focalpt': [69.7341, 101.3837, 230.3038], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MAMP_R.stl', + 'force': 111.37, + 'focalpt': [69.4647, 101.1148, 360.8630], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MPT_L.stl', + 'force': 639.16, + 'focalpt': [124.446263, 54.536180, 288.628676], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MPT_R.stl', + 'force': 659.75, + 'focalpt': [124.036830, 57.125231, 312.016025], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['x'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/Dolico_osb_150k_15_2.py b/models/Dolico_osb/Dolico_osb_150k_15_2.py similarity index 96% rename from models/Dolico_osb_150k_15_2.py rename to models/Dolico_osb/Dolico_osb_150k_15_2.py index f570556..4378765 100644 --- a/models/Dolico_osb_150k_15_2.py +++ b/models/Dolico_osb/Dolico_osb_150k_15_2.py @@ -1,69 +1,69 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni - - -def parms(d={}): - p = {} - path = 'Dolico_osb/150k' - p['mandible'] = f'{path}/Dolico_osb_150k.stl' - p['contact_pts'] = [[52.009193, -201.873154, 307.677521], - [64.623055, -199.101791, 282.517853]] - p['axis_pt1'] = [39.231628, 126.756012, 209.439102] - p['axis_pt2'] = [40.221886, 126.551155, 385.009644] - p['muscles'] = [ - { - 'file': f'{path}/Dolico_osb_MAME_L.stl', - 'force': 772.65, - 'focalpt': [112.251098, 118.044274, 288.730662], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MAME_R.stl', - 'force': 740.39, - 'focalpt': [119.286464, 113.346268, 325.926690], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MAMP_L.stl', - 'force': 111.37, - 'focalpt': [69.7341, 101.3837, 230.3038], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MAMP_R.stl', - 'force': 111.37, - 'focalpt': [69.4647, 101.1148, 360.8630], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MPT_L.stl', - 'force': 639.16, - 'focalpt': [124.446263, 54.536180, 288.628676], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MPT_R.stl', - 'force': 659.75, - 'focalpt': [124.036830, 57.125231, 312.016025], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['x'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Dolicorhynchops osborni + + +def parms(d={}): + p = {} + path = 'Dolico_osb/150k' + p['mandible'] = f'{path}/Dolico_osb_150k.stl' + p['contact_pts'] = [[52.009193, -201.873154, 307.677521], + [64.623055, -199.101791, 282.517853]] + p['axis_pt1'] = [39.231628, 126.756012, 209.439102] + p['axis_pt2'] = [40.221886, 126.551155, 385.009644] + p['muscles'] = [ + { + 'file': f'{path}/Dolico_osb_MAME_L.stl', + 'force': 772.65, + 'focalpt': [112.251098, 118.044274, 288.730662], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MAME_R.stl', + 'force': 740.39, + 'focalpt': [119.286464, 113.346268, 325.926690], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MAMP_L.stl', + 'force': 111.37, + 'focalpt': [69.7341, 101.3837, 230.3038], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MAMP_R.stl', + 'force': 111.37, + 'focalpt': [69.4647, 101.1148, 360.8630], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MPT_L.stl', + 'force': 639.16, + 'focalpt': [124.446263, 54.536180, 288.628676], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MPT_R.stl', + 'force': 659.75, + 'focalpt': [124.036830, 57.125231, 312.016025], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['x'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/Dolico_osb_150k_7_1.py b/models/Dolico_osb/Dolico_osb_150k_7_1.py similarity index 96% rename from models/Dolico_osb_150k_7_1.py rename to models/Dolico_osb/Dolico_osb_150k_7_1.py index 954fd1c..d795576 100644 --- a/models/Dolico_osb_150k_7_1.py +++ b/models/Dolico_osb/Dolico_osb_150k_7_1.py @@ -1,69 +1,69 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni - - -def parms(d={}): - p = {} - path = 'Dolico_osb/150k' - p['mandible'] = f'{path}/Dolico_osb_150k.stl' - p['contact_pts'] = [[70.939697, -369.730804, 305.997803], - [72.499474, -367.223450, 278.139832]] - p['axis_pt1'] = [39.231628, 126.756012, 209.439102] - p['axis_pt2'] = [40.221886, 126.551155, 385.009644] - p['muscles'] = [ - { - 'file': f'{path}/Dolico_osb_MAME_L.stl', - 'force': 772.65, - 'focalpt': [111.932718, 105.736007, 284.210451], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MAME_R.stl', - 'force': 740.39, - 'focalpt': [116.924619, 103.660236, 324.555468], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MAMP_L.stl', - 'force': 111.37, - 'focalpt': [66.5834, 99.3707, 230.4621], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MAMP_R.stl', - 'force': 111.37, - 'focalpt': [66.4211, 98.4528, 3608656], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MPT_L.stl', - 'force': 639.16, - 'focalpt': [111.840919, 45.046116, 285.573176], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MPT_R.stl', - 'force': 659.75, - 'focalpt': [110.586808, 50.700302, 312.899651], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['x'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Dolicorhynchops osborni + + +def parms(d={}): + p = {} + path = 'Dolico_osb/150k' + p['mandible'] = f'{path}/Dolico_osb_150k.stl' + p['contact_pts'] = [[70.939697, -369.730804, 305.997803], + [72.499474, -367.223450, 278.139832]] + p['axis_pt1'] = [39.231628, 126.756012, 209.439102] + p['axis_pt2'] = [40.221886, 126.551155, 385.009644] + p['muscles'] = [ + { + 'file': f'{path}/Dolico_osb_MAME_L.stl', + 'force': 772.65, + 'focalpt': [111.932718, 105.736007, 284.210451], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MAME_R.stl', + 'force': 740.39, + 'focalpt': [116.924619, 103.660236, 324.555468], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MAMP_L.stl', + 'force': 111.37, + 'focalpt': [66.5834, 99.3707, 230.4621], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MAMP_R.stl', + 'force': 111.37, + 'focalpt': [66.4211, 98.4528, 3608656], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MPT_L.stl', + 'force': 639.16, + 'focalpt': [111.840919, 45.046116, 285.573176], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MPT_R.stl', + 'force': 659.75, + 'focalpt': [110.586808, 50.700302, 312.899651], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['x'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/Dolico_osb_150k_7_2.py b/models/Dolico_osb/Dolico_osb_150k_7_2.py similarity index 96% rename from models/Dolico_osb_150k_7_2.py rename to models/Dolico_osb/Dolico_osb_150k_7_2.py index 5566621..3d8cf33 100644 --- a/models/Dolico_osb_150k_7_2.py +++ b/models/Dolico_osb/Dolico_osb_150k_7_2.py @@ -1,69 +1,69 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni - - -def parms(d={}): - p = {} - path = 'Dolico_osb/150k' - p['mandible'] = f'{path}/Dolico_osb_150k.stl' - p['contact_pts'] = [[52.009193, -201.873154, 307.677521], - [64.623055, -199.101791, 282.517853]] - p['axis_pt1'] = [39.231628, 126.756012, 209.439102] - p['axis_pt2'] = [40.221886, 126.551155, 385.009644] - p['muscles'] = [ - { - 'file': f'{path}/Dolico_osb_MAME_L.stl', - 'force': 772.65, - 'focalpt': [111.932718, 105.736007, 284.210451], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MAME_R.stl', - 'force': 740.39, - 'focalpt': [116.924619, 103.660236, 324.555468], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MAMP_L.stl', - 'force': 111.37, - 'focalpt': [66.5834, 99.3707, 230.4621], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MAMP_R.stl', - 'force': 111.37, - 'focalpt': [66.4211, 98.4528, 3608656], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MPT_L.stl', - 'force': 639.16, - 'focalpt': [111.840919, 45.046116, 285.573176], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MPT_R.stl', - 'force': 659.75, - 'focalpt': [110.586808, 50.700302, 312.899651], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['x'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Dolicorhynchops osborni + + +def parms(d={}): + p = {} + path = 'Dolico_osb/150k' + p['mandible'] = f'{path}/Dolico_osb_150k.stl' + p['contact_pts'] = [[52.009193, -201.873154, 307.677521], + [64.623055, -199.101791, 282.517853]] + p['axis_pt1'] = [39.231628, 126.756012, 209.439102] + p['axis_pt2'] = [40.221886, 126.551155, 385.009644] + p['muscles'] = [ + { + 'file': f'{path}/Dolico_osb_MAME_L.stl', + 'force': 772.65, + 'focalpt': [111.932718, 105.736007, 284.210451], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MAME_R.stl', + 'force': 740.39, + 'focalpt': [116.924619, 103.660236, 324.555468], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MAMP_L.stl', + 'force': 111.37, + 'focalpt': [66.5834, 99.3707, 230.4621], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MAMP_R.stl', + 'force': 111.37, + 'focalpt': [66.4211, 98.4528, 3608656], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MPT_L.stl', + 'force': 639.16, + 'focalpt': [111.840919, 45.046116, 285.573176], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MPT_R.stl', + 'force': 659.75, + 'focalpt': [110.586808, 50.700302, 312.899651], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['x'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/Dolico_osb_250k_15_1.py b/models/Dolico_osb/Dolico_osb_250k_15_1.py similarity index 96% rename from models/Dolico_osb_250k_15_1.py rename to models/Dolico_osb/Dolico_osb_250k_15_1.py index 244d8f4..15e269f 100644 --- a/models/Dolico_osb_250k_15_1.py +++ b/models/Dolico_osb/Dolico_osb_250k_15_1.py @@ -1,69 +1,69 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni - - -def parms(d={}): - p = {} - path = 'Dolico_osb/250k' - p['mandible'] = f'{path}/Dolico_osb_250k.stl' - p['contact_pts'] = [[71.647064, -367.307281, 303.918365], - [71.428085, -366.684906, 278.119751]] - p['axis_pt1'] = [25.142067, 117.287262, 198.309219] - p['axis_pt2'] = [32.822464, 115.721962, 395.664978] - p['muscles'] = [ - { - 'file': f'{path}/Dolico_osb_MAME_L.stl', - 'force': 772.65, - 'focalpt': [112.251098, 118.044274, 288.730662], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MAME_R.stl', - 'force': 740.39, - 'focalpt': [119.286464, 113.346268, 325.926690], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MAMP_L.stl', - 'force': 111.37, - 'focalpt': [69.7341, 101.3837, 230.3038], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MAMP_R.stl', - 'force': 111.37, - 'focalpt': [69.4647, 101.1148, 360.8630], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MPT_L.stl', - 'force': 639.16, - 'focalpt': [124.446263, 54.536180, 288.628676], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MPT_R.stl', - 'force': 659.75, - 'focalpt': [124.036830, 57.125231, 312.016025], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['x'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Dolicorhynchops osborni + + +def parms(d={}): + p = {} + path = 'Dolico_osb/250k' + p['mandible'] = f'{path}/Dolico_osb_250k.stl' + p['contact_pts'] = [[71.647064, -367.307281, 303.918365], + [71.428085, -366.684906, 278.119751]] + p['axis_pt1'] = [25.142067, 117.287262, 198.309219] + p['axis_pt2'] = [32.822464, 115.721962, 395.664978] + p['muscles'] = [ + { + 'file': f'{path}/Dolico_osb_MAME_L.stl', + 'force': 772.65, + 'focalpt': [112.251098, 118.044274, 288.730662], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MAME_R.stl', + 'force': 740.39, + 'focalpt': [119.286464, 113.346268, 325.926690], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MAMP_L.stl', + 'force': 111.37, + 'focalpt': [69.7341, 101.3837, 230.3038], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MAMP_R.stl', + 'force': 111.37, + 'focalpt': [69.4647, 101.1148, 360.8630], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MPT_L.stl', + 'force': 639.16, + 'focalpt': [124.446263, 54.536180, 288.628676], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MPT_R.stl', + 'force': 659.75, + 'focalpt': [124.036830, 57.125231, 312.016025], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['x'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/Dolico_osb_250k_15_2.py b/models/Dolico_osb/Dolico_osb_250k_15_2.py similarity index 96% rename from models/Dolico_osb_250k_15_2.py rename to models/Dolico_osb/Dolico_osb_250k_15_2.py index 535798d..02fc971 100644 --- a/models/Dolico_osb_250k_15_2.py +++ b/models/Dolico_osb/Dolico_osb_250k_15_2.py @@ -1,69 +1,69 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni - - -def parms(d={}): - p = {} - path = 'Dolico_osb/250k' - p['mandible'] = f'{path}/Dolico_osb_250k.stl' - p['contact_pts'] = [[58.887959, -197.486603, 305.862701], - [64.476349, -199.363113, 282.813385]] - p['axis_pt1'] = [25.142067, 117.287262, 198.309219] - p['axis_pt2'] = [32.822464, 115.721962, 395.664978] - p['muscles'] = [ - { - 'file': f'{path}/Dolico_osb_MAME_L.stl', - 'force': 772.65, - 'focalpt': [112.251098, 118.044274, 288.730662], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MAME_R.stl', - 'force': 740.39, - 'focalpt': [119.286464, 113.346268, 325.926690], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MAMP_L.stl', - 'force': 111.37, - 'focalpt': [69.7341, 101.3837, 230.3038], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MAMP_R.stl', - 'force': 111.37, - 'focalpt': [69.4647, 101.1148, 360.8630], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MPT_L.stl', - 'force': 639.16, - 'focalpt': [124.446263, 54.536180, 288.628676], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MPT_R.stl', - 'force': 659.75, - 'focalpt': [124.036830, 57.125231, 312.016025], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['x'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Dolicorhynchops osborni + + +def parms(d={}): + p = {} + path = 'Dolico_osb/250k' + p['mandible'] = f'{path}/Dolico_osb_250k.stl' + p['contact_pts'] = [[58.887959, -197.486603, 305.862701], + [64.476349, -199.363113, 282.813385]] + p['axis_pt1'] = [25.142067, 117.287262, 198.309219] + p['axis_pt2'] = [32.822464, 115.721962, 395.664978] + p['muscles'] = [ + { + 'file': f'{path}/Dolico_osb_MAME_L.stl', + 'force': 772.65, + 'focalpt': [112.251098, 118.044274, 288.730662], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MAME_R.stl', + 'force': 740.39, + 'focalpt': [119.286464, 113.346268, 325.926690], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MAMP_L.stl', + 'force': 111.37, + 'focalpt': [69.7341, 101.3837, 230.3038], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MAMP_R.stl', + 'force': 111.37, + 'focalpt': [69.4647, 101.1148, 360.8630], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MPT_L.stl', + 'force': 639.16, + 'focalpt': [124.446263, 54.536180, 288.628676], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MPT_R.stl', + 'force': 659.75, + 'focalpt': [124.036830, 57.125231, 312.016025], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['x'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/Dolico_osb_250k_7_1.py b/models/Dolico_osb/Dolico_osb_250k_7_1.py similarity index 96% rename from models/Dolico_osb_250k_7_1.py rename to models/Dolico_osb/Dolico_osb_250k_7_1.py index a2ab040..167ecf5 100644 --- a/models/Dolico_osb_250k_7_1.py +++ b/models/Dolico_osb/Dolico_osb_250k_7_1.py @@ -1,69 +1,69 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni - - -def parms(d={}): - p = {} - path = 'Dolico_osb/250k' - p['mandible'] = f'{path}/Dolico_osb_250k.stl' - p['contact_pts'] = [[71.647064, -367.307281, 303.918365], - [71.428085, -366.684906, 278.119751]] - p['axis_pt1'] = [25.142067, 117.287262, 198.309219] - p['axis_pt2'] = [32.822464, 115.721962, 395.664978] - p['muscles'] = [ - { - 'file': f'{path}/Dolico_osb_MAME_L.stl', - 'force': 772.65, - 'focalpt': [111.932718, 105.736007, 284.210451], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MAME_R.stl', - 'force': 740.39, - 'focalpt': [116.924619, 103.660236, 324.555468], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MAMP_L.stl', - 'force': 111.37, - 'focalpt': [66.5834, 99.3707, 230.4621], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MAMP_R.stl', - 'force': 111.37, - 'focalpt': [66.4211, 98.4528, 3608656], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MPT_L.stl', - 'force': 639.16, - 'focalpt': [111.840919, 45.046116, 285.573176], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MPT_R.stl', - 'force': 659.75, - 'focalpt': [110.586808, 50.700302, 312.899651], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['x'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Dolicorhynchops osborni + + +def parms(d={}): + p = {} + path = 'Dolico_osb/250k' + p['mandible'] = f'{path}/Dolico_osb_250k.stl' + p['contact_pts'] = [[71.647064, -367.307281, 303.918365], + [71.428085, -366.684906, 278.119751]] + p['axis_pt1'] = [25.142067, 117.287262, 198.309219] + p['axis_pt2'] = [32.822464, 115.721962, 395.664978] + p['muscles'] = [ + { + 'file': f'{path}/Dolico_osb_MAME_L.stl', + 'force': 772.65, + 'focalpt': [111.932718, 105.736007, 284.210451], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MAME_R.stl', + 'force': 740.39, + 'focalpt': [116.924619, 103.660236, 324.555468], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MAMP_L.stl', + 'force': 111.37, + 'focalpt': [66.5834, 99.3707, 230.4621], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MAMP_R.stl', + 'force': 111.37, + 'focalpt': [66.4211, 98.4528, 3608656], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MPT_L.stl', + 'force': 639.16, + 'focalpt': [111.840919, 45.046116, 285.573176], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MPT_R.stl', + 'force': 659.75, + 'focalpt': [110.586808, 50.700302, 312.899651], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['x'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/Dolico_osb_250k_7_2.py b/models/Dolico_osb/Dolico_osb_250k_7_2.py similarity index 96% rename from models/Dolico_osb_250k_7_2.py rename to models/Dolico_osb/Dolico_osb_250k_7_2.py index dd74d17..914085b 100644 --- a/models/Dolico_osb_250k_7_2.py +++ b/models/Dolico_osb/Dolico_osb_250k_7_2.py @@ -1,70 +1,70 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni - - -def parms(d={}): - p = {} - path = 'Dolico_osb/250k' - p['mandible'] = f'{path}/Dolico_osb_250k.stl' - p['contact_pts'] = [[58.887959, -197.486603, 305.862701], - [64.476349, -199.363113, 282.813385]] - p['axis_pt1'] = [25.142067, 117.287262, 198.309219] - p['axis_pt2'] = [32.822464, 115.721962, 395.664978] - p['muscles'] = [ - { - 'file': f'{path}/Dolico_osb_MAME_L.stl', - 'force': 772.65, - 'focalpt': [111.932718, 105.736007, 284.210451], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MAME_R.stl', - 'force': 740.39, - 'focalpt': [116.924619, 103.660236, 324.555468], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MAMP_L.stl', - 'force': 111.37, - 'focalpt': [66.5834, 99.3707, 230.4621], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MAMP_R.stl', - 'force': 111.37, - 'focalpt': [66.4211, 98.4528, 3608656], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MPT_L.stl', - 'force': 639.16, - 'focalpt': [111.840919, 45.046116, 285.573176], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MPT_R.stl', - 'force': 659.75, - 'focalpt': [110.586808, 50.700302, 312.899651], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['x'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Dolicorhynchops osborni + + +def parms(d={}): + p = {} + path = 'Dolico_osb/250k' + p['mandible'] = f'{path}/Dolico_osb_250k.stl' + p['contact_pts'] = [[58.887959, -197.486603, 305.862701], + [64.476349, -199.363113, 282.813385]] + p['axis_pt1'] = [25.142067, 117.287262, 198.309219] + p['axis_pt2'] = [32.822464, 115.721962, 395.664978] + p['muscles'] = [ + { + 'file': f'{path}/Dolico_osb_MAME_L.stl', + 'force': 772.65, + 'focalpt': [111.932718, 105.736007, 284.210451], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MAME_R.stl', + 'force': 740.39, + 'focalpt': [116.924619, 103.660236, 324.555468], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MAMP_L.stl', + 'force': 111.37, + 'focalpt': [66.5834, 99.3707, 230.4621], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MAMP_R.stl', + 'force': 111.37, + 'focalpt': [66.4211, 98.4528, 3608656], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MPT_L.stl', + 'force': 639.16, + 'focalpt': [111.840919, 45.046116, 285.573176], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MPT_R.stl', + 'force': 659.75, + 'focalpt': [110.586808, 50.700302, 312.899651], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['x'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/Dolico_osb_500k_15_1.py b/models/Dolico_osb/Dolico_osb_500k_15_1.py similarity index 96% rename from models/Dolico_osb_500k_15_1.py rename to models/Dolico_osb/Dolico_osb_500k_15_1.py index 02cb048..64368c7 100644 --- a/models/Dolico_osb_500k_15_1.py +++ b/models/Dolico_osb/Dolico_osb_500k_15_1.py @@ -1,69 +1,69 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni - - -def parms(d={}): - p = {} - path = 'Dolico_osb/500k' - p['mandible'] = f'{path}/Dolico_osb_500k.stl' - p['contact_pts'] = [[72.492805, -367.768738, 304.363922], - [72.060631, -366.996246, 278.112061]] - p['axis_pt1'] = [27.536142, 119.829124, 198.032684] - p['axis_pt2'] = [27.802645, 116.500870, 394.464966] - p['muscles'] = [ - { - 'file': f'{path}/Dolico_osb_MAME_L.stl', - 'force': 772.65, - 'focalpt': [112.251098, 118.044274, 288.730662], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MAME_R.stl', - 'force': 740.39, - 'focalpt': [119.286464, 113.346268, 325.926690], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MAMP_L.stl', - 'force': 111.37, - 'focalpt': [69.7341, 101.3837, 230.3038], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MAMP_R.stl', - 'force': 111.37, - 'focalpt': [69.4647, 101.1148, 360.8630], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MPT_L.stl', - 'force': 639.16, - 'focalpt': [124.446263, 54.536180, 288.628676], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MPT_R.stl', - 'force': 659.75, - 'focalpt': [124.036830, 57.125231, 312.016025], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['x'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Dolicorhynchops osborni + + +def parms(d={}): + p = {} + path = 'Dolico_osb/500k' + p['mandible'] = f'{path}/Dolico_osb_500k.stl' + p['contact_pts'] = [[72.492805, -367.768738, 304.363922], + [72.060631, -366.996246, 278.112061]] + p['axis_pt1'] = [27.536142, 119.829124, 198.032684] + p['axis_pt2'] = [27.802645, 116.500870, 394.464966] + p['muscles'] = [ + { + 'file': f'{path}/Dolico_osb_MAME_L.stl', + 'force': 772.65, + 'focalpt': [112.251098, 118.044274, 288.730662], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MAME_R.stl', + 'force': 740.39, + 'focalpt': [119.286464, 113.346268, 325.926690], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MAMP_L.stl', + 'force': 111.37, + 'focalpt': [69.7341, 101.3837, 230.3038], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MAMP_R.stl', + 'force': 111.37, + 'focalpt': [69.4647, 101.1148, 360.8630], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MPT_L.stl', + 'force': 639.16, + 'focalpt': [124.446263, 54.536180, 288.628676], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MPT_R.stl', + 'force': 659.75, + 'focalpt': [124.036830, 57.125231, 312.016025], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['x'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/Dolico_osb_500k_15_2.py b/models/Dolico_osb/Dolico_osb_500k_15_2.py similarity index 96% rename from models/Dolico_osb_500k_15_2.py rename to models/Dolico_osb/Dolico_osb_500k_15_2.py index c49847e..a9038e7 100644 --- a/models/Dolico_osb_500k_15_2.py +++ b/models/Dolico_osb/Dolico_osb_500k_15_2.py @@ -1,70 +1,70 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni - - -def parms(d={}): - p = {} - path = 'Dolico_osb/500k' - p['mandible'] = f'{path}/Dolico_osb_500k.stl' - p['contact_pts'] = [[58.887959, -197.486603, 305.862701], - [58.952919, -197.350830, 280.833832]] - p['axis_pt1'] = [27.536142, 119.829124, 198.032684] - p['axis_pt2'] = [27.802645, 116.500870, 394.464966] - p['muscles'] = [ - { - 'file': f'{path}/Dolico_osb_MAME_L.stl', - 'force': 772.65, - 'focalpt': [112.251098, 118.044274, 288.730662], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MAME_R.stl', - 'force': 740.39, - 'focalpt': [119.286464, 113.346268, 325.926690], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MAMP_L.stl', - 'force': 111.37, - 'focalpt': [69.7341, 101.3837, 230.3038], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MAMP_R.stl', - 'force': 111.37, - 'focalpt': [69.4647, 101.1148, 360.8630], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MPT_L.stl', - 'force': 639.16, - 'focalpt': [124.446263, 54.536180, 288.628676], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MPT_R.stl', - 'force': 659.75, - 'focalpt': [124.036830, 57.125231, 312.016025], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['x'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Dolicorhynchops osborni + + +def parms(d={}): + p = {} + path = 'Dolico_osb/500k' + p['mandible'] = f'{path}/Dolico_osb_500k.stl' + p['contact_pts'] = [[58.887959, -197.486603, 305.862701], + [58.952919, -197.350830, 280.833832]] + p['axis_pt1'] = [27.536142, 119.829124, 198.032684] + p['axis_pt2'] = [27.802645, 116.500870, 394.464966] + p['muscles'] = [ + { + 'file': f'{path}/Dolico_osb_MAME_L.stl', + 'force': 772.65, + 'focalpt': [112.251098, 118.044274, 288.730662], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MAME_R.stl', + 'force': 740.39, + 'focalpt': [119.286464, 113.346268, 325.926690], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MAMP_L.stl', + 'force': 111.37, + 'focalpt': [69.7341, 101.3837, 230.3038], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MAMP_R.stl', + 'force': 111.37, + 'focalpt': [69.4647, 101.1148, 360.8630], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MPT_L.stl', + 'force': 639.16, + 'focalpt': [124.446263, 54.536180, 288.628676], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MPT_R.stl', + 'force': 659.75, + 'focalpt': [124.036830, 57.125231, 312.016025], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['x'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/Dolico_osb_500k_7_1.py b/models/Dolico_osb/Dolico_osb_500k_7_1.py similarity index 96% rename from models/Dolico_osb_500k_7_1.py rename to models/Dolico_osb/Dolico_osb_500k_7_1.py index 7efb772..eb6e1e5 100644 --- a/models/Dolico_osb_500k_7_1.py +++ b/models/Dolico_osb/Dolico_osb_500k_7_1.py @@ -1,69 +1,69 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni - - -def parms(d={}): - p = {} - path = 'Dolico_osb/500k' - p['mandible'] = f'{path}/Dolico_osb_500k.stl' - p['contact_pts'] = [[72.492805, -367.768738, 304.363922], - [72.060631, -366.996246, 278.112061]] - p['axis_pt1'] = [27.536142, 119.829124, 198.032684] - p['axis_pt2'] = [27.802645, 116.500870, 394.464966] - p['muscles'] = [ - { - 'file': f'{path}/Dolico_osb_MAME_L.stl', - 'force': 772.65, - 'focalpt': [111.932718, 105.736007, 284.210451], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MAME_R.stl', - 'force': 740.39, - 'focalpt': [116.924619, 103.660236, 324.555468], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MAMP_L.stl', - 'force': 111.37, - 'focalpt': [66.5834, 99.3707, 230.4621], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MAMP_R.stl', - 'force': 111.37, - 'focalpt': [66.4211, 98.4528, 3608656], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MPT_L.stl', - 'force': 639.16, - 'focalpt': [111.840919, 45.046116, 285.573176], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MPT_R.stl', - 'force': 659.75, - 'focalpt': [110.586808, 50.700302, 312.899651], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['x'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Dolicorhynchops osborni + + +def parms(d={}): + p = {} + path = 'Dolico_osb/500k' + p['mandible'] = f'{path}/Dolico_osb_500k.stl' + p['contact_pts'] = [[72.492805, -367.768738, 304.363922], + [72.060631, -366.996246, 278.112061]] + p['axis_pt1'] = [27.536142, 119.829124, 198.032684] + p['axis_pt2'] = [27.802645, 116.500870, 394.464966] + p['muscles'] = [ + { + 'file': f'{path}/Dolico_osb_MAME_L.stl', + 'force': 772.65, + 'focalpt': [111.932718, 105.736007, 284.210451], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MAME_R.stl', + 'force': 740.39, + 'focalpt': [116.924619, 103.660236, 324.555468], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MAMP_L.stl', + 'force': 111.37, + 'focalpt': [66.5834, 99.3707, 230.4621], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MAMP_R.stl', + 'force': 111.37, + 'focalpt': [66.4211, 98.4528, 3608656], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MPT_L.stl', + 'force': 639.16, + 'focalpt': [111.840919, 45.046116, 285.573176], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MPT_R.stl', + 'force': 659.75, + 'focalpt': [110.586808, 50.700302, 312.899651], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['x'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/Dolico_osb_500k_7_2.py b/models/Dolico_osb/Dolico_osb_500k_7_2.py similarity index 96% rename from models/Dolico_osb_500k_7_2.py rename to models/Dolico_osb/Dolico_osb_500k_7_2.py index e79f983..b1bcd85 100644 --- a/models/Dolico_osb_500k_7_2.py +++ b/models/Dolico_osb/Dolico_osb_500k_7_2.py @@ -1,69 +1,69 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni - - -def parms(d={}): - p = {} - path = 'Dolico_osb/500k' - p['mandible'] = f'{path}/Dolico_osb_500k.stl' - p['contact_pts'] = [[58.887959, -197.486603, 305.862701], - [58.952919, -197.350830, 280.833832]] - p['axis_pt1'] = [27.536142, 119.829124, 198.032684] - p['axis_pt2'] = [27.802645, 116.500870, 394.464966] - p['muscles'] = [ - { - 'file': f'{path}/Dolico_osb_MAME_L.stl', - 'force': 772.65, - 'focalpt': [111.932718, 105.736007, 284.210451], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MAME_R.stl', - 'force': 740.39, - 'focalpt': [116.924619, 103.660236, 324.555468], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MAMP_L.stl', - 'force': 111.37, - 'focalpt': [66.5834, 99.3707, 230.4621], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MAMP_R.stl', - 'force': 111.37, - 'focalpt': [66.4211, 98.4528, 3608656], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MPT_L.stl', - 'force': 639.16, - 'focalpt': [111.840919, 45.046116, 285.573176], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MPT_R.stl', - 'force': 659.75, - 'focalpt': [110.586808, 50.700302, 312.899651], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['x'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Dolicorhynchops osborni + + +def parms(d={}): + p = {} + path = 'Dolico_osb/500k' + p['mandible'] = f'{path}/Dolico_osb_500k.stl' + p['contact_pts'] = [[58.887959, -197.486603, 305.862701], + [58.952919, -197.350830, 280.833832]] + p['axis_pt1'] = [27.536142, 119.829124, 198.032684] + p['axis_pt2'] = [27.802645, 116.500870, 394.464966] + p['muscles'] = [ + { + 'file': f'{path}/Dolico_osb_MAME_L.stl', + 'force': 772.65, + 'focalpt': [111.932718, 105.736007, 284.210451], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MAME_R.stl', + 'force': 740.39, + 'focalpt': [116.924619, 103.660236, 324.555468], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MAMP_L.stl', + 'force': 111.37, + 'focalpt': [66.5834, 99.3707, 230.4621], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MAMP_R.stl', + 'force': 111.37, + 'focalpt': [66.4211, 98.4528, 3608656], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MPT_L.stl', + 'force': 639.16, + 'focalpt': [111.840919, 45.046116, 285.573176], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MPT_R.stl', + 'force': 659.75, + 'focalpt': [110.586808, 50.700302, 312.899651], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['x'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/Dolico_osb_750k_15_1.py b/models/Dolico_osb/Dolico_osb_750k_15_1.py similarity index 96% rename from models/Dolico_osb_750k_15_1.py rename to models/Dolico_osb/Dolico_osb_750k_15_1.py index d4f1ca8..8b631a4 100644 --- a/models/Dolico_osb_750k_15_1.py +++ b/models/Dolico_osb/Dolico_osb_750k_15_1.py @@ -1,70 +1,70 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni - - -def parms(d={}): - p = {} - path = 'Dolico_osb/750k' - p['mandible'] = f'{path}/Dolico_osb_750k.stl' - p['contact_pts'] = [[72.896973, -368.044189, 304.529999], - [72.543152, -367.867920, 278.888367]] - p['axis_pt1'] = [28.769444, 127.225159, 198.837112] - p['axis_pt2'] = [28.075665, 116.736336, 394.429504] - p['muscles'] = [ - { - 'file': f'{path}/Dolico_osb_MAME_L.stl', - 'force': 772.65, - 'focalpt': [112.251098, 118.044274, 288.730662], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MAME_R.stl', - 'force': 740.39, - 'focalpt': [119.286464, 113.346268, 325.926690], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MAMP_L.stl', - 'force': 111.37, - 'focalpt': [69.7341, 101.3837, 230.3038], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MAMP_R.stl', - 'force': 111.37, - 'focalpt': [69.4647, 101.1148, 360.8630], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MPT_L.stl', - 'force': 639.16, - 'focalpt': [124.446263, 54.536180, 288.628676], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MPT_R.stl', - 'force': 659.75, - 'focalpt': [124.036830, 57.125231, 312.016025], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['x'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Dolicorhynchops osborni + + +def parms(d={}): + p = {} + path = 'Dolico_osb/750k' + p['mandible'] = f'{path}/Dolico_osb_750k.stl' + p['contact_pts'] = [[72.896973, -368.044189, 304.529999], + [72.543152, -367.867920, 278.888367]] + p['axis_pt1'] = [28.769444, 127.225159, 198.837112] + p['axis_pt2'] = [28.075665, 116.736336, 394.429504] + p['muscles'] = [ + { + 'file': f'{path}/Dolico_osb_MAME_L.stl', + 'force': 772.65, + 'focalpt': [112.251098, 118.044274, 288.730662], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MAME_R.stl', + 'force': 740.39, + 'focalpt': [119.286464, 113.346268, 325.926690], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MAMP_L.stl', + 'force': 111.37, + 'focalpt': [69.7341, 101.3837, 230.3038], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MAMP_R.stl', + 'force': 111.37, + 'focalpt': [69.4647, 101.1148, 360.8630], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MPT_L.stl', + 'force': 639.16, + 'focalpt': [124.446263, 54.536180, 288.628676], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MPT_R.stl', + 'force': 659.75, + 'focalpt': [124.036830, 57.125231, 312.016025], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['x'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/Dolico_osb_750k_15_2.py b/models/Dolico_osb/Dolico_osb_750k_15_2.py similarity index 96% rename from models/Dolico_osb_750k_15_2.py rename to models/Dolico_osb/Dolico_osb_750k_15_2.py index 9dca890..38e46ff 100644 --- a/models/Dolico_osb_750k_15_2.py +++ b/models/Dolico_osb/Dolico_osb_750k_15_2.py @@ -1,69 +1,69 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni - - -def parms(d={}): - p = {} - path = 'Dolico_osb/750k' - p['mandible'] = f'{path}/Dolico_osb_750k.stl' - p['contact_pts'] = [[58.887959, -197.486603, 305.862701], - [58.952919, -197.350830, 280.833832]] - p['axis_pt1'] = [28.769444, 127.225159, 198.837112] - p['axis_pt2'] = [28.075665, 116.736336, 394.429504] - p['muscles'] = [ - { - 'file': f'{path}/Dolico_osb_MAME_L.stl', - 'force': 772.65, - 'focalpt': [112.251098, 118.044274, 288.730662], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MAME_R.stl', - 'force': 740.39, - 'focalpt': [119.286464, 113.346268, 325.926690], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MAMP_L.stl', - 'force': 111.37, - 'focalpt': [69.7341, 101.3837, 230.3038], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MAMP_R.stl', - 'force': 111.37, - 'focalpt': [69.4647, 101.1148, 360.8630], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MPT_L.stl', - 'force': 639.16, - 'focalpt': [124.446263, 54.536180, 288.628676], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MPT_R.stl', - 'force': 659.75, - 'focalpt': [124.036830, 57.125231, 312.016025], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['x'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Dolicorhynchops osborni + + +def parms(d={}): + p = {} + path = 'Dolico_osb/750k' + p['mandible'] = f'{path}/Dolico_osb_750k.stl' + p['contact_pts'] = [[58.887959, -197.486603, 305.862701], + [58.952919, -197.350830, 280.833832]] + p['axis_pt1'] = [28.769444, 127.225159, 198.837112] + p['axis_pt2'] = [28.075665, 116.736336, 394.429504] + p['muscles'] = [ + { + 'file': f'{path}/Dolico_osb_MAME_L.stl', + 'force': 772.65, + 'focalpt': [112.251098, 118.044274, 288.730662], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MAME_R.stl', + 'force': 740.39, + 'focalpt': [119.286464, 113.346268, 325.926690], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MAMP_L.stl', + 'force': 111.37, + 'focalpt': [69.7341, 101.3837, 230.3038], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MAMP_R.stl', + 'force': 111.37, + 'focalpt': [69.4647, 101.1148, 360.8630], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MPT_L.stl', + 'force': 639.16, + 'focalpt': [124.446263, 54.536180, 288.628676], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MPT_R.stl', + 'force': 659.75, + 'focalpt': [124.036830, 57.125231, 312.016025], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['x'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/Dolico_osb_750k_7_1.py b/models/Dolico_osb/Dolico_osb_750k_7_1.py similarity index 96% rename from models/Dolico_osb_750k_7_1.py rename to models/Dolico_osb/Dolico_osb_750k_7_1.py index a7f8628..0dca00c 100644 --- a/models/Dolico_osb_750k_7_1.py +++ b/models/Dolico_osb/Dolico_osb_750k_7_1.py @@ -1,70 +1,70 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni - - -def parms(d={}): - p = {} - path = 'Dolico_osb/750k' - p['mandible'] = f'{path}/Dolico_osb_750k.stl' - p['contact_pts'] = [[72.896973, -368.044189, 304.529999], - [72.543152, -367.867920, 278.888367]] - p['axis_pt1'] = [28.769444, 127.225159, 198.837112] - p['axis_pt2'] = [28.075665, 116.736336, 394.429504] - p['muscles'] = [ - { - 'file': f'{path}/Dolico_osb_MAME_L.stl', - 'force': 772.65, - 'focalpt': [111.932718, 105.736007, 284.210451], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MAME_R.stl', - 'force': 740.39, - 'focalpt': [116.924619, 103.660236, 324.555468], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MAMP_L.stl', - 'force': 111.37, - 'focalpt': [66.5834, 99.3707, 230.4621], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MAMP_R.stl', - 'force': 111.37, - 'focalpt': [66.4211, 98.4528, 3608656], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MPT_L.stl', - 'force': 639.16, - 'focalpt': [111.840919, 45.046116, 285.573176], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MPT_R.stl', - 'force': 659.75, - 'focalpt': [110.586808, 50.700302, 312.899651], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['x'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Dolicorhynchops osborni + + +def parms(d={}): + p = {} + path = 'Dolico_osb/750k' + p['mandible'] = f'{path}/Dolico_osb_750k.stl' + p['contact_pts'] = [[72.896973, -368.044189, 304.529999], + [72.543152, -367.867920, 278.888367]] + p['axis_pt1'] = [28.769444, 127.225159, 198.837112] + p['axis_pt2'] = [28.075665, 116.736336, 394.429504] + p['muscles'] = [ + { + 'file': f'{path}/Dolico_osb_MAME_L.stl', + 'force': 772.65, + 'focalpt': [111.932718, 105.736007, 284.210451], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MAME_R.stl', + 'force': 740.39, + 'focalpt': [116.924619, 103.660236, 324.555468], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MAMP_L.stl', + 'force': 111.37, + 'focalpt': [66.5834, 99.3707, 230.4621], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MAMP_R.stl', + 'force': 111.37, + 'focalpt': [66.4211, 98.4528, 3608656], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MPT_L.stl', + 'force': 639.16, + 'focalpt': [111.840919, 45.046116, 285.573176], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MPT_R.stl', + 'force': 659.75, + 'focalpt': [110.586808, 50.700302, 312.899651], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['x'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/Dolico_osb_750k_7_2.py b/models/Dolico_osb/Dolico_osb_750k_7_2.py similarity index 96% rename from models/Dolico_osb_750k_7_2.py rename to models/Dolico_osb/Dolico_osb_750k_7_2.py index 2c89d40..e5e6eb8 100644 --- a/models/Dolico_osb_750k_7_2.py +++ b/models/Dolico_osb/Dolico_osb_750k_7_2.py @@ -1,69 +1,69 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni - - -def parms(d={}): - p = {} - path = 'Dolico_osb/750k' - p['mandible'] = f'{path}/Dolico_osb_750k.stl' - p['contact_pts'] = [[58.887959, -197.486603, 305.862701], - [58.952919, -197.350830, 280.833832]] - p['axis_pt1'] = [28.769444, 127.225159, 198.837112] - p['axis_pt2'] = [28.075665, 116.736336, 394.429504] - p['muscles'] = [ - { - 'file': f'{path}/Dolico_osb_MAME_L.stl', - 'force': 772.65, - 'focalpt': [111.932718, 105.736007, 284.210451], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MAME_R.stl', - 'force': 740.39, - 'focalpt': [116.924619, 103.660236, 324.555468], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MAMP_L.stl', - 'force': 111.37, - 'focalpt': [66.5834, 99.3707, 230.4621], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MAMP_R.stl', - 'force': 111.37, - 'focalpt': [66.4211, 98.4528, 3608656], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MPT_L.stl', - 'force': 639.16, - 'focalpt': [111.840919, 45.046116, 285.573176], - 'method': 'T+N' - }, - { - 'file': f'{path}/Dolico_osb_MPT_R.stl', - 'force': 659.75, - 'focalpt': [110.586808, 50.700302, 312.899651], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['x'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Dolicorhynchops osborni + + +def parms(d={}): + p = {} + path = 'Dolico_osb/750k' + p['mandible'] = f'{path}/Dolico_osb_750k.stl' + p['contact_pts'] = [[58.887959, -197.486603, 305.862701], + [58.952919, -197.350830, 280.833832]] + p['axis_pt1'] = [28.769444, 127.225159, 198.837112] + p['axis_pt2'] = [28.075665, 116.736336, 394.429504] + p['muscles'] = [ + { + 'file': f'{path}/Dolico_osb_MAME_L.stl', + 'force': 772.65, + 'focalpt': [111.932718, 105.736007, 284.210451], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MAME_R.stl', + 'force': 740.39, + 'focalpt': [116.924619, 103.660236, 324.555468], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MAMP_L.stl', + 'force': 111.37, + 'focalpt': [66.5834, 99.3707, 230.4621], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MAMP_R.stl', + 'force': 111.37, + 'focalpt': [66.4211, 98.4528, 3608656], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MPT_L.stl', + 'force': 639.16, + 'focalpt': [111.840919, 45.046116, 285.573176], + 'method': 'T+N' + }, + { + 'file': f'{path}/Dolico_osb_MPT_R.stl', + 'force': 659.75, + 'focalpt': [110.586808, 50.700302, 312.899651], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['x'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/Dolico_osb/__init__.py b/models/Dolico_osb/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/models/PLTtympFranken_150k_15_1.py b/models/PLTtymFrankencarpus/PLTtympFranken_150k_15_1.py similarity index 94% rename from models/PLTtympFranken_150k_15_1.py rename to models/PLTtymFrankencarpus/PLTtympFranken_150k_15_1.py index 0137a79..5d81f91 100644 --- a/models/PLTtympFranken_150k_15_1.py +++ b/models/PLTtymFrankencarpus/PLTtympFranken_150k_15_1.py @@ -1,106 +1,105 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni FHSM VP404 -# 10k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'PLTtymFrankencarpus/150k' - p['mandible'] = f'{path}/PLTtym_150k_symph.stl' - p['contact_pts'] = [[-140.484802, 32.752762, 185.435608], - [-141.219009, -31.436172, 178.064987]] - p['axis_pt1'] = [207.172852, -79.520950, 187.358459] - p['axis_pt2'] = [205.906677, 112.895256, 190.595184] - p['muscles'] = [ - { - 'file': f'{path}/PLTtym_M_Adductor_externus_L1.stl', - 'force': 487.38, - 'focalpt': [168.632495, -77.654233, 291.917515], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_L2.stl', - 'force': 487.38, - 'focalpt': [168.632495, -77.654233, 291.917515], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_R1.stl', - 'force': 452.79, - 'focalpt': [162.990556, 84.506622, 300.400077], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_R2.stl', - 'force': 452.79, - 'focalpt': [162.990556, 84.506622, 300.400077], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_L.stl', - 'force': 362.86, - 'focalpt': [170.123995, -67.091482, 294.560006], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_R.stl', - 'force': 354.37, - 'focalpt': [159.487575, 69.680135, 301.992776], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_L.stl', - 'force': 233.63, - 'focalpt': [200.874582, -73.117085, 243.673804], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_R.stl', - 'force': 225.83, - 'focalpt': [197.328191, 87.354103, 240.557139], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_L.stl', - 'force': 1537.52, - 'focalpt': [174.077429, -35.213424, 286.207974], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_R.stl', - 'force': 1458.46, - 'focalpt': [176.936559, 43.557517, 297.140329], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_L.stl', - 'force': 272.44, - 'focalpt': [139.572813, -30.381170, 297.993282], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_R.stl', - 'force': 274.42, - 'focalpt': [146.605544, 28.061586, 308.115231], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# PLTtymFrankencarpus + + +def parms(d={}): + p = {} + path = 'PLTtymFrankencarpus/150k' + p['mandible'] = f'{path}/PLTtym_150k_symph.stl' + p['contact_pts'] = [[-140.484802, 32.752762, 185.435608], + [-141.219009, -31.436172, 178.064987]] + p['axis_pt1'] = [207.172852, -79.520950, 187.358459] + p['axis_pt2'] = [205.906677, 112.895256, 190.595184] + p['muscles'] = [ + { + 'file': f'{path}/PLTtym_M_Adductor_externus_L1.stl', + 'force': 487.38, + 'focalpt': [168.632495, -77.654233, 291.917515], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_L2.stl', + 'force': 487.38, + 'focalpt': [168.632495, -77.654233, 291.917515], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_R1.stl', + 'force': 452.79, + 'focalpt': [162.990556, 84.506622, 300.400077], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_R2.stl', + 'force': 452.79, + 'focalpt': [162.990556, 84.506622, 300.400077], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_L.stl', + 'force': 362.86, + 'focalpt': [170.123995, -67.091482, 294.560006], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_R.stl', + 'force': 354.37, + 'focalpt': [159.487575, 69.680135, 301.992776], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_L.stl', + 'force': 233.63, + 'focalpt': [200.874582, -73.117085, 243.673804], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_R.stl', + 'force': 225.83, + 'focalpt': [197.328191, 87.354103, 240.557139], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_L.stl', + 'force': 1537.52, + 'focalpt': [174.077429, -35.213424, 286.207974], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_R.stl', + 'force': 1458.46, + 'focalpt': [176.936559, 43.557517, 297.140329], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_L.stl', + 'force': 272.44, + 'focalpt': [139.572813, -30.381170, 297.993282], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_R.stl', + 'force': 274.42, + 'focalpt': [146.605544, 28.061586, 308.115231], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/PLTtympFranken_150k_15_2.py b/models/PLTtymFrankencarpus/PLTtympFranken_150k_15_2.py similarity index 94% rename from models/PLTtympFranken_150k_15_2.py rename to models/PLTtymFrankencarpus/PLTtympFranken_150k_15_2.py index b9227c0..a66b9a9 100644 --- a/models/PLTtympFranken_150k_15_2.py +++ b/models/PLTtymFrankencarpus/PLTtympFranken_150k_15_2.py @@ -1,106 +1,105 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni FHSM VP404 -# 10k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'PLTtymFrankencarpus/150k' - p['mandible'] = f'{path}/PLTtym_150k_symph.stl' - p['contact_pts'] = [[-47.591175, 59.634678, 182.979019], - [-47.909733, -48.301151, 176.236832]] - p['axis_pt1'] = [207.172852, -79.520950, 187.358459] - p['axis_pt2'] = [205.906677, 112.895256, 190.595184] - p['muscles'] = [ - { - 'file': f'{path}/PLTtym_M_Adductor_externus_L1.stl', - 'force': 487.38, - 'focalpt': [168.632495, -77.654233, 291.917515], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_L2.stl', - 'force': 487.38, - 'focalpt': [168.632495, -77.654233, 291.917515], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_R1.stl', - 'force': 452.79, - 'focalpt': [162.990556, 84.506622, 300.400077], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_R2.stl', - 'force': 452.79, - 'focalpt': [162.990556, 84.506622, 300.400077], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_L.stl', - 'force': 362.86, - 'focalpt': [170.123995, -67.091482, 294.560006], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_R.stl', - 'force': 354.37, - 'focalpt': [159.487575, 69.680135, 301.992776], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_L.stl', - 'force': 233.63, - 'focalpt': [200.874582, -73.117085, 243.673804], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_R.stl', - 'force': 225.83, - 'focalpt': [197.328191, 87.354103, 240.557139], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_L.stl', - 'force': 1537.52, - 'focalpt': [174.077429, -35.213424, 286.207974], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_R.stl', - 'force': 1458.46, - 'focalpt': [176.936559, 43.557517, 297.140329], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_L.stl', - 'force': 272.44, - 'focalpt': [139.572813, -30.381170, 297.993282], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_R.stl', - 'force': 274.42, - 'focalpt': [146.605544, 28.061586, 308.115231], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import mandiblemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# PLTtymFrankencarpus + + +def parms(d={}): + p = {} + path = 'PLTtymFrankencarpus/150k' + p['mandible'] = f'{path}/PLTtym_150k_symph.stl' + p['contact_pts'] = [[-47.591175, 59.634678, 182.979019], + [-47.909733, -48.301151, 176.236832]] + p['axis_pt1'] = [207.172852, -79.520950, 187.358459] + p['axis_pt2'] = [205.906677, 112.895256, 190.595184] + p['muscles'] = [ + { + 'file': f'{path}/PLTtym_M_Adductor_externus_L1.stl', + 'force': 487.38, + 'focalpt': [168.632495, -77.654233, 291.917515], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_L2.stl', + 'force': 487.38, + 'focalpt': [168.632495, -77.654233, 291.917515], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_R1.stl', + 'force': 452.79, + 'focalpt': [162.990556, 84.506622, 300.400077], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_R2.stl', + 'force': 452.79, + 'focalpt': [162.990556, 84.506622, 300.400077], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_L.stl', + 'force': 362.86, + 'focalpt': [170.123995, -67.091482, 294.560006], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_R.stl', + 'force': 354.37, + 'focalpt': [159.487575, 69.680135, 301.992776], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_L.stl', + 'force': 233.63, + 'focalpt': [200.874582, -73.117085, 243.673804], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_R.stl', + 'force': 225.83, + 'focalpt': [197.328191, 87.354103, 240.557139], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_L.stl', + 'force': 1537.52, + 'focalpt': [174.077429, -35.213424, 286.207974], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_R.stl', + 'force': 1458.46, + 'focalpt': [176.936559, 43.557517, 297.140329], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_L.stl', + 'force': 272.44, + 'focalpt': [139.572813, -30.381170, 297.993282], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_R.stl', + 'force': 274.42, + 'focalpt': [146.605544, 28.061586, 308.115231], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import mandiblemodel as model + return model.getMetafor(parms(p)) diff --git a/models/PLTtympFranken_150k_7_1.py b/models/PLTtymFrankencarpus/PLTtympFranken_150k_7_1.py similarity index 94% rename from models/PLTtympFranken_150k_7_1.py rename to models/PLTtymFrankencarpus/PLTtympFranken_150k_7_1.py index 1781865..afeae9b 100644 --- a/models/PLTtympFranken_150k_7_1.py +++ b/models/PLTtymFrankencarpus/PLTtympFranken_150k_7_1.py @@ -1,106 +1,105 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni FHSM VP404 -# 10k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'PLTtymFrankencarpus/150k' - p['mandible'] = f'{path}/PLTtym_150k_symph.stl' - p['contact_pts'] = [[-140.484802, 32.752762, 185.435608], - [-141.219009, -31.436172, 178.064987]] - p['axis_pt1'] = [207.172852, -79.520950, 187.358459] - p['axis_pt2'] = [205.906677, 112.895256, 190.595184] - p['muscles'] = [ - { - 'file': f'{path}/PLTtym_M_Adductor_externus_L1.stl', - 'force': 487.38, - 'focalpt': [146.982380, -77.664399, 278.479435], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_L2.stl', - 'force': 487.38, - 'focalpt': [146.982380, -77.664399, 278.479435], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_R1.stl', - 'force': 452.79, - 'focalpt': [138.878155, 84.493762, 284.866894], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_R2.stl', - 'force': 452.79, - 'focalpt': [138.878155, 84.493762, 284.866894], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_L.stl', - 'force': 362.86, - 'focalpt': [147.360255, -67.584745, 281.176887], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_R.stl', - 'force': 354.37, - 'focalpt': [136.040621, 69.415241, 285.431467], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_L.stl', - 'force': 233.63, - 'focalpt': [190.286665, -73.222918, 239.986014], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_R.stl', - 'force': 225.83, - 'focalpt': [187.649314, 87.414657, 236.135409], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_L.stl', - 'force': 1537.52, - 'focalpt': [153.241871, -37.103172, 275.752858], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_R.stl', - 'force': 1458.46, - 'focalpt': [153.541222, 41.630166, 284.082309], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_L.stl', - 'force': 272.44, - 'focalpt': [116.915364, -29.987994, 276.369899], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_R.stl', - 'force': 274.42, - 'focalpt': [116.915364, 29.987994, 276.369899], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# PLTtymFrankencarpus + + +def parms(d={}): + p = {} + path = 'PLTtymFrankencarpus/150k' + p['mandible'] = f'{path}/PLTtym_150k_symph.stl' + p['contact_pts'] = [[-140.484802, 32.752762, 185.435608], + [-141.219009, -31.436172, 178.064987]] + p['axis_pt1'] = [207.172852, -79.520950, 187.358459] + p['axis_pt2'] = [205.906677, 112.895256, 190.595184] + p['muscles'] = [ + { + 'file': f'{path}/PLTtym_M_Adductor_externus_L1.stl', + 'force': 487.38, + 'focalpt': [146.982380, -77.664399, 278.479435], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_L2.stl', + 'force': 487.38, + 'focalpt': [146.982380, -77.664399, 278.479435], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_R1.stl', + 'force': 452.79, + 'focalpt': [138.878155, 84.493762, 284.866894], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_R2.stl', + 'force': 452.79, + 'focalpt': [138.878155, 84.493762, 284.866894], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_L.stl', + 'force': 362.86, + 'focalpt': [147.360255, -67.584745, 281.176887], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_R.stl', + 'force': 354.37, + 'focalpt': [136.040621, 69.415241, 285.431467], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_L.stl', + 'force': 233.63, + 'focalpt': [190.286665, -73.222918, 239.986014], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_R.stl', + 'force': 225.83, + 'focalpt': [187.649314, 87.414657, 236.135409], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_L.stl', + 'force': 1537.52, + 'focalpt': [153.241871, -37.103172, 275.752858], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_R.stl', + 'force': 1458.46, + 'focalpt': [153.541222, 41.630166, 284.082309], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_L.stl', + 'force': 272.44, + 'focalpt': [116.915364, -29.987994, 276.369899], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_R.stl', + 'force': 274.42, + 'focalpt': [116.915364, 29.987994, 276.369899], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/PLTtympFranken_150k_7_2.py b/models/PLTtymFrankencarpus/PLTtympFranken_150k_7_2.py similarity index 94% rename from models/PLTtympFranken_150k_7_2.py rename to models/PLTtymFrankencarpus/PLTtympFranken_150k_7_2.py index 18b8cc1..4322ed4 100644 --- a/models/PLTtympFranken_150k_7_2.py +++ b/models/PLTtymFrankencarpus/PLTtympFranken_150k_7_2.py @@ -1,106 +1,105 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni FHSM VP404 -# 10k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'PLTtymFrankencarpus/150k' - p['mandible'] = f'{path}/PLTtym_150k_symph.stl' - p['contact_pts'] = [[-47.591175, 59.634678, 182.979019], - [-47.909733, -48.301151, 176.236832]] - p['axis_pt1'] = [207.172852, -79.520950, 187.358459] - p['axis_pt2'] = [205.906677, 112.895256, 190.595184] - p['muscles'] = [ - { - 'file': f'{path}/PLTtym_M_Adductor_externus_L1.stl', - 'force': 487.38, - 'focalpt': [146.982380, -77.664399, 278.479435], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_L2.stl', - 'force': 487.38, - 'focalpt': [146.982380, -77.664399, 278.479435], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_R1.stl', - 'force': 452.79, - 'focalpt': [138.878155, 84.493762, 284.866894], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_R2.stl', - 'force': 452.79, - 'focalpt': [138.878155, 84.493762, 284.866894], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_L.stl', - 'force': 362.86, - 'focalpt': [147.360255, -67.584745, 281.176887], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_R.stl', - 'force': 354.37, - 'focalpt': [136.040621, 69.415241, 285.431467], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_L.stl', - 'force': 233.63, - 'focalpt': [190.286665, -73.222918, 239.986014], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_R.stl', - 'force': 225.83, - 'focalpt': [187.649314, 87.414657, 236.135409], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_L.stl', - 'force': 1537.52, - 'focalpt': [153.241871, -37.103172, 275.752858], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_R.stl', - 'force': 1458.46, - 'focalpt': [153.541222, 41.630166, 284.082309], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_L.stl', - 'force': 272.44, - 'focalpt': [116.915364, -29.987994, 276.369899], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_R.stl', - 'force': 274.42, - 'focalpt': [116.915364, 29.987994, 276.369899], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# PLTtymFrankencarpus + + +def parms(d={}): + p = {} + path = 'PLTtymFrankencarpus/150k' + p['mandible'] = f'{path}/PLTtym_150k_symph.stl' + p['contact_pts'] = [[-47.591175, 59.634678, 182.979019], + [-47.909733, -48.301151, 176.236832]] + p['axis_pt1'] = [207.172852, -79.520950, 187.358459] + p['axis_pt2'] = [205.906677, 112.895256, 190.595184] + p['muscles'] = [ + { + 'file': f'{path}/PLTtym_M_Adductor_externus_L1.stl', + 'force': 487.38, + 'focalpt': [146.982380, -77.664399, 278.479435], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_L2.stl', + 'force': 487.38, + 'focalpt': [146.982380, -77.664399, 278.479435], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_R1.stl', + 'force': 452.79, + 'focalpt': [138.878155, 84.493762, 284.866894], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_R2.stl', + 'force': 452.79, + 'focalpt': [138.878155, 84.493762, 284.866894], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_L.stl', + 'force': 362.86, + 'focalpt': [147.360255, -67.584745, 281.176887], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_R.stl', + 'force': 354.37, + 'focalpt': [136.040621, 69.415241, 285.431467], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_L.stl', + 'force': 233.63, + 'focalpt': [190.286665, -73.222918, 239.986014], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_R.stl', + 'force': 225.83, + 'focalpt': [187.649314, 87.414657, 236.135409], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_L.stl', + 'force': 1537.52, + 'focalpt': [153.241871, -37.103172, 275.752858], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_R.stl', + 'force': 1458.46, + 'focalpt': [153.541222, 41.630166, 284.082309], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_L.stl', + 'force': 272.44, + 'focalpt': [116.915364, -29.987994, 276.369899], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_R.stl', + 'force': 274.42, + 'focalpt': [116.915364, 29.987994, 276.369899], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/PLTtympFranken_20k.py b/models/PLTtymFrankencarpus/PLTtympFranken_20k.py similarity index 97% rename from models/PLTtympFranken_20k.py rename to models/PLTtymFrankencarpus/PLTtympFranken_20k.py index 6a228c1..c815c9a 100644 --- a/models/PLTtympFranken_20k.py +++ b/models/PLTtymFrankencarpus/PLTtympFranken_20k.py @@ -1,7 +1,6 @@ #! /usr/bin/env python3 # -*- coding: utf-8 -*- -# Dolicorhynchops osborni FHSM VP404 -# 10k faces on the mandible surface +# PLTtymFrankencarpus def parms(d={}): diff --git a/models/PLTtympFranken_250k.py b/models/PLTtymFrankencarpus/PLTtympFranken_250k.py similarity index 97% rename from models/PLTtympFranken_250k.py rename to models/PLTtymFrankencarpus/PLTtympFranken_250k.py index c265f44..42dd60a 100644 --- a/models/PLTtympFranken_250k.py +++ b/models/PLTtymFrankencarpus/PLTtympFranken_250k.py @@ -1,7 +1,6 @@ #! /usr/bin/env python3 # -*- coding: utf-8 -*- -# Dolicorhynchops osborni FHSM VP404 -# 10k faces on the mandible surface +# PLTtymFrankencarpus def parms(d={}): diff --git a/models/PLTtympFranken_250k_15_1.py b/models/PLTtymFrankencarpus/PLTtympFranken_250k_15_1.py similarity index 94% rename from models/PLTtympFranken_250k_15_1.py rename to models/PLTtymFrankencarpus/PLTtympFranken_250k_15_1.py index 55cefda..225be6a 100644 --- a/models/PLTtympFranken_250k_15_1.py +++ b/models/PLTtymFrankencarpus/PLTtympFranken_250k_15_1.py @@ -1,107 +1,106 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni FHSM VP404 -# 10k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'PLTtymFrankencarpus/250k' - p['mandible'] = f'{path}/PLTtym_250k_symph.stl' - p['contact_pts'] = [[-140.616379, 34.634388, 178.193710], - [-141.087341, -31.283962, 177.457901]] - p['axis_pt1'] = [206.616394, -80.626038, 187.317291] - p['axis_pt2'] = [202.435074, 114.139923, 188.697571] - p['muscles'] = [ - { - 'file': f'{path}/PLTtym_M_Adductor_externus_L1.stl', - 'force': 487.38, - 'focalpt': [168.632495, -77.654233, 291.917515], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_L2.stl', - 'force': 487.38, - 'focalpt': [168.632495, -77.654233, 291.917515], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_R1.stl', - 'force': 452.79, - 'focalpt': [162.990556, 84.506622, 300.400077], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_R2.stl', - 'force': 452.79, - 'focalpt': [162.990556, 84.506622, 300.400077], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_L.stl', - 'force': 362.86, - 'focalpt': [170.123995, -67.091482, 294.560006], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_R.stl', - 'force': 354.37, - 'focalpt': [159.487575, 69.680135, 301.992776], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_L.stl', - 'force': 233.63, - 'focalpt': [200.874582, -73.117085, 243.673804], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_R.stl', - 'force': 225.83, - 'focalpt': [197.328191, 87.354103, 240.557139], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_L.stl', - 'force': 1537.52, - 'focalpt': [174.077429, -35.213424, 286.207974], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_R.stl', - 'force': 1458.46, - 'focalpt': [176.936559, 43.557517, 297.140329], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_L.stl', - 'force': 272.44, - 'focalpt': [139.572813, -30.381170, 297.993282], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_R.stl', - 'force': 274.42, - 'focalpt': [146.605544, 28.061586, 308.115231], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# PLTtymFrankencarpus + + +def parms(d={}): + p = {} + path = 'PLTtymFrankencarpus/250k' + p['mandible'] = f'{path}/PLTtym_250k_symph.stl' + p['contact_pts'] = [[-140.616379, 34.634388, 178.193710], + [-141.087341, -31.283962, 177.457901]] + p['axis_pt1'] = [206.616394, -80.626038, 187.317291] + p['axis_pt2'] = [202.435074, 114.139923, 188.697571] + p['muscles'] = [ + { + 'file': f'{path}/PLTtym_M_Adductor_externus_L1.stl', + 'force': 487.38, + 'focalpt': [168.632495, -77.654233, 291.917515], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_L2.stl', + 'force': 487.38, + 'focalpt': [168.632495, -77.654233, 291.917515], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_R1.stl', + 'force': 452.79, + 'focalpt': [162.990556, 84.506622, 300.400077], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_R2.stl', + 'force': 452.79, + 'focalpt': [162.990556, 84.506622, 300.400077], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_L.stl', + 'force': 362.86, + 'focalpt': [170.123995, -67.091482, 294.560006], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_R.stl', + 'force': 354.37, + 'focalpt': [159.487575, 69.680135, 301.992776], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_L.stl', + 'force': 233.63, + 'focalpt': [200.874582, -73.117085, 243.673804], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_R.stl', + 'force': 225.83, + 'focalpt': [197.328191, 87.354103, 240.557139], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_L.stl', + 'force': 1537.52, + 'focalpt': [174.077429, -35.213424, 286.207974], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_R.stl', + 'force': 1458.46, + 'focalpt': [176.936559, 43.557517, 297.140329], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_L.stl', + 'force': 272.44, + 'focalpt': [139.572813, -30.381170, 297.993282], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_R.stl', + 'force': 274.42, + 'focalpt': [146.605544, 28.061586, 308.115231], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/PLTtympFranken_250k_15_2.py b/models/PLTtymFrankencarpus/PLTtympFranken_250k_15_2.py similarity index 94% rename from models/PLTtympFranken_250k_15_2.py rename to models/PLTtymFrankencarpus/PLTtympFranken_250k_15_2.py index 589d475..e0ff55c 100644 --- a/models/PLTtympFranken_250k_15_2.py +++ b/models/PLTtymFrankencarpus/PLTtympFranken_250k_15_2.py @@ -1,107 +1,106 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni FHSM VP404 -# 10k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'PLTtymFrankencarpus/250k' - p['mandible'] = f'{path}/PLTtym_250k_symph.stl' - p['contact_pts'] = [[-47.591175, 59.634678, 182.979019], - [-47.556026, -48.933891, 180.280045]] - p['axis_pt1'] = [206.616394, -80.626038, 187.317291] - p['axis_pt2'] = [202.435074, 114.139923, 188.697571] - p['muscles'] = [ - { - 'file': f'{path}/PLTtym_M_Adductor_externus_L1.stl', - 'force': 487.38, - 'focalpt': [168.632495, -77.654233, 291.917515], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_L2.stl', - 'force': 487.38, - 'focalpt': [168.632495, -77.654233, 291.917515], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_R1.stl', - 'force': 452.79, - 'focalpt': [162.990556, 84.506622, 300.400077], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_R2.stl', - 'force': 452.79, - 'focalpt': [162.990556, 84.506622, 300.400077], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_L.stl', - 'force': 362.86, - 'focalpt': [170.123995, -67.091482, 294.560006], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_R.stl', - 'force': 354.37, - 'focalpt': [159.487575, 69.680135, 301.992776], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_L.stl', - 'force': 233.63, - 'focalpt': [200.874582, -73.117085, 243.673804], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_R.stl', - 'force': 225.83, - 'focalpt': [197.328191, 87.354103, 240.557139], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_L.stl', - 'force': 1537.52, - 'focalpt': [174.077429, -35.213424, 286.207974], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_R.stl', - 'force': 1458.46, - 'focalpt': [176.936559, 43.557517, 297.140329], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_L.stl', - 'force': 272.44, - 'focalpt': [139.572813, -30.381170, 297.993282], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_R.stl', - 'force': 274.42, - 'focalpt': [146.605544, 28.061586, 308.115231], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# PLTtymFrankencarpus + + +def parms(d={}): + p = {} + path = 'PLTtymFrankencarpus/250k' + p['mandible'] = f'{path}/PLTtym_250k_symph.stl' + p['contact_pts'] = [[-47.591175, 59.634678, 182.979019], + [-47.556026, -48.933891, 180.280045]] + p['axis_pt1'] = [206.616394, -80.626038, 187.317291] + p['axis_pt2'] = [202.435074, 114.139923, 188.697571] + p['muscles'] = [ + { + 'file': f'{path}/PLTtym_M_Adductor_externus_L1.stl', + 'force': 487.38, + 'focalpt': [168.632495, -77.654233, 291.917515], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_L2.stl', + 'force': 487.38, + 'focalpt': [168.632495, -77.654233, 291.917515], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_R1.stl', + 'force': 452.79, + 'focalpt': [162.990556, 84.506622, 300.400077], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_R2.stl', + 'force': 452.79, + 'focalpt': [162.990556, 84.506622, 300.400077], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_L.stl', + 'force': 362.86, + 'focalpt': [170.123995, -67.091482, 294.560006], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_R.stl', + 'force': 354.37, + 'focalpt': [159.487575, 69.680135, 301.992776], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_L.stl', + 'force': 233.63, + 'focalpt': [200.874582, -73.117085, 243.673804], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_R.stl', + 'force': 225.83, + 'focalpt': [197.328191, 87.354103, 240.557139], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_L.stl', + 'force': 1537.52, + 'focalpt': [174.077429, -35.213424, 286.207974], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_R.stl', + 'force': 1458.46, + 'focalpt': [176.936559, 43.557517, 297.140329], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_L.stl', + 'force': 272.44, + 'focalpt': [139.572813, -30.381170, 297.993282], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_R.stl', + 'force': 274.42, + 'focalpt': [146.605544, 28.061586, 308.115231], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/PLTtympFranken_250k_7_1.py b/models/PLTtymFrankencarpus/PLTtympFranken_250k_7_1.py similarity index 94% rename from models/PLTtympFranken_250k_7_1.py rename to models/PLTtymFrankencarpus/PLTtympFranken_250k_7_1.py index 66828c2..5984686 100644 --- a/models/PLTtympFranken_250k_7_1.py +++ b/models/PLTtymFrankencarpus/PLTtympFranken_250k_7_1.py @@ -1,107 +1,106 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni FHSM VP404 -# 10k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'PLTtymFrankencarpus/250k' - p['mandible'] = f'{path}/PLTtym_250k_symph.stl' - p['contact_pts'] = [[-140.616379, 34.634388, 178.193710], - [-141.087341, -31.283962, 177.457901]] - p['axis_pt1'] = [206.616394, -80.626038, 187.317291] - p['axis_pt2'] = [202.435074, 114.139923, 188.697571] - p['muscles'] = [ - { - 'file': f'{path}/PLTtym_M_Adductor_externus_L1.stl', - 'force': 487.38, - 'focalpt': [146.982380, -77.664399, 278.479435], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_L2.stl', - 'force': 487.38, - 'focalpt': [146.982380, -77.664399, 278.479435], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_R1.stl', - 'force': 452.79, - 'focalpt': [138.878155, 84.493762, 284.866894], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_R2.stl', - 'force': 452.79, - 'focalpt': [138.878155, 84.493762, 284.866894], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_L.stl', - 'force': 362.86, - 'focalpt': [147.360255, -67.584745, 281.176887], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_R.stl', - 'force': 354.37, - 'focalpt': [136.040621, 69.415241, 285.431467], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_L.stl', - 'force': 233.63, - 'focalpt': [190.286665, -73.222918, 239.986014], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_R.stl', - 'force': 225.83, - 'focalpt': [187.649314, 87.414657, 236.135409], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_L.stl', - 'force': 1537.52, - 'focalpt': [153.241871, -37.103172, 275.752858], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_R.stl', - 'force': 1458.46, - 'focalpt': [153.541222, 41.630166, 284.082309], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_L.stl', - 'force': 272.44, - 'focalpt': [116.915364, -29.987994, 276.369899], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_R.stl', - 'force': 274.42, - 'focalpt': [116.915364, 29.987994, 276.369899], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# PLTtymFrankencarpus + + +def parms(d={}): + p = {} + path = 'PLTtymFrankencarpus/250k' + p['mandible'] = f'{path}/PLTtym_250k_symph.stl' + p['contact_pts'] = [[-140.616379, 34.634388, 178.193710], + [-141.087341, -31.283962, 177.457901]] + p['axis_pt1'] = [206.616394, -80.626038, 187.317291] + p['axis_pt2'] = [202.435074, 114.139923, 188.697571] + p['muscles'] = [ + { + 'file': f'{path}/PLTtym_M_Adductor_externus_L1.stl', + 'force': 487.38, + 'focalpt': [146.982380, -77.664399, 278.479435], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_L2.stl', + 'force': 487.38, + 'focalpt': [146.982380, -77.664399, 278.479435], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_R1.stl', + 'force': 452.79, + 'focalpt': [138.878155, 84.493762, 284.866894], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_R2.stl', + 'force': 452.79, + 'focalpt': [138.878155, 84.493762, 284.866894], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_L.stl', + 'force': 362.86, + 'focalpt': [147.360255, -67.584745, 281.176887], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_R.stl', + 'force': 354.37, + 'focalpt': [136.040621, 69.415241, 285.431467], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_L.stl', + 'force': 233.63, + 'focalpt': [190.286665, -73.222918, 239.986014], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_R.stl', + 'force': 225.83, + 'focalpt': [187.649314, 87.414657, 236.135409], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_L.stl', + 'force': 1537.52, + 'focalpt': [153.241871, -37.103172, 275.752858], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_R.stl', + 'force': 1458.46, + 'focalpt': [153.541222, 41.630166, 284.082309], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_L.stl', + 'force': 272.44, + 'focalpt': [116.915364, -29.987994, 276.369899], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_R.stl', + 'force': 274.42, + 'focalpt': [116.915364, 29.987994, 276.369899], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/PLTtympFranken_250k_7_2.py b/models/PLTtymFrankencarpus/PLTtympFranken_250k_7_2.py similarity index 94% rename from models/PLTtympFranken_250k_7_2.py rename to models/PLTtymFrankencarpus/PLTtympFranken_250k_7_2.py index a1abc32..0008e0f 100644 --- a/models/PLTtympFranken_250k_7_2.py +++ b/models/PLTtymFrankencarpus/PLTtympFranken_250k_7_2.py @@ -1,107 +1,106 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni FHSM VP404 -# 10k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'PLTtymFrankencarpus/250k' - p['mandible'] = f'{path}/PLTtym_250k_symph.stl' - p['contact_pts'] = [[-47.591175, 59.634678, 182.979019], - [-47.556026, -48.933891, 180.280045]] - p['axis_pt1'] = [206.616394, -80.626038, 187.317291] - p['axis_pt2'] = [202.435074, 114.139923, 188.697571] - p['muscles'] = [ - { - 'file': f'{path}/PLTtym_M_Adductor_externus_L1.stl', - 'force': 487.38, - 'focalpt': [146.982380, -77.664399, 278.479435], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_L2.stl', - 'force': 487.38, - 'focalpt': [146.982380, -77.664399, 278.479435], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_R1.stl', - 'force': 452.79, - 'focalpt': [138.878155, 84.493762, 284.866894], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_R2.stl', - 'force': 452.79, - 'focalpt': [138.878155, 84.493762, 284.866894], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_L.stl', - 'force': 362.86, - 'focalpt': [147.360255, -67.584745, 281.176887], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_R.stl', - 'force': 354.37, - 'focalpt': [136.040621, 69.415241, 285.431467], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_L.stl', - 'force': 233.63, - 'focalpt': [190.286665, -73.222918, 239.986014], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_R.stl', - 'force': 225.83, - 'focalpt': [187.649314, 87.414657, 236.135409], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_L.stl', - 'force': 1537.52, - 'focalpt': [153.241871, -37.103172, 275.752858], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_R.stl', - 'force': 1458.46, - 'focalpt': [153.541222, 41.630166, 284.082309], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_L.stl', - 'force': 272.44, - 'focalpt': [116.915364, -29.987994, 276.369899], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_R.stl', - 'force': 274.42, - 'focalpt': [116.915364, 29.987994, 276.369899], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# PLTtymFrankencarpus + + +def parms(d={}): + p = {} + path = 'PLTtymFrankencarpus/250k' + p['mandible'] = f'{path}/PLTtym_250k_symph.stl' + p['contact_pts'] = [[-47.591175, 59.634678, 182.979019], + [-47.556026, -48.933891, 180.280045]] + p['axis_pt1'] = [206.616394, -80.626038, 187.317291] + p['axis_pt2'] = [202.435074, 114.139923, 188.697571] + p['muscles'] = [ + { + 'file': f'{path}/PLTtym_M_Adductor_externus_L1.stl', + 'force': 487.38, + 'focalpt': [146.982380, -77.664399, 278.479435], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_L2.stl', + 'force': 487.38, + 'focalpt': [146.982380, -77.664399, 278.479435], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_R1.stl', + 'force': 452.79, + 'focalpt': [138.878155, 84.493762, 284.866894], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_R2.stl', + 'force': 452.79, + 'focalpt': [138.878155, 84.493762, 284.866894], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_L.stl', + 'force': 362.86, + 'focalpt': [147.360255, -67.584745, 281.176887], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_R.stl', + 'force': 354.37, + 'focalpt': [136.040621, 69.415241, 285.431467], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_L.stl', + 'force': 233.63, + 'focalpt': [190.286665, -73.222918, 239.986014], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_R.stl', + 'force': 225.83, + 'focalpt': [187.649314, 87.414657, 236.135409], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_L.stl', + 'force': 1537.52, + 'focalpt': [153.241871, -37.103172, 275.752858], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_R.stl', + 'force': 1458.46, + 'focalpt': [153.541222, 41.630166, 284.082309], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_L.stl', + 'force': 272.44, + 'focalpt': [116.915364, -29.987994, 276.369899], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_R.stl', + 'force': 274.42, + 'focalpt': [116.915364, 29.987994, 276.369899], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/PLTtympFranken_500k_15_1.py b/models/PLTtymFrankencarpus/PLTtympFranken_500k_15_1.py similarity index 96% rename from models/PLTtympFranken_500k_15_1.py rename to models/PLTtymFrankencarpus/PLTtympFranken_500k_15_1.py index ee18323..36313dc 100644 --- a/models/PLTtympFranken_500k_15_1.py +++ b/models/PLTtymFrankencarpus/PLTtympFranken_500k_15_1.py @@ -1,106 +1,106 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- - - - -def parms(d={}): - p = {} - path = 'PLTtymFrankencarpus/500k' - p['mandible'] = f'{path}/PLTtym_500k_symph.stl' - p['contact_pts'] = [[-140.616379, 34.634388, 178.193710], - [-141.554642, -31.049093, 176.841354]] - p['axis_pt1'] = [209.550949, -84.342560, 175.265411] - p['axis_pt2'] = [202.335129, 113.899513, 188.742447] - p['muscles'] = [ - { - 'file': f'{path}/PLTtym_M_Adductor_externus_L1.stl', - 'force': 487.38, - 'focalpt': [168.632495, -77.654233, 291.917515], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_L2.stl', - 'force': 487.38, - 'focalpt': [168.632495, -77.654233, 291.917515], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_R1.stl', - 'force': 452.79, - 'focalpt': [162.990556, 84.506622, 300.400077], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_R2.stl', - 'force': 452.79, - 'focalpt': [162.990556, 84.506622, 300.400077], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_L.stl', - 'force': 362.86, - 'focalpt': [170.123995, -67.091482, 294.560006], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_R.stl', - 'force': 354.37, - 'focalpt': [159.487575, 69.680135, 301.992776], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_L.stl', - 'force': 233.63, - 'focalpt': [200.874582, -73.117085, 243.673804], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_R.stl', - 'force': 225.83, - 'focalpt': [197.328191, 87.354103, 240.557139], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_L.stl', - 'force': 1537.52, - 'focalpt': [174.077429, -35.213424, 286.207974], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_R.stl', - 'force': 1458.46, - 'focalpt': [176.936559, 43.557517, 297.140329], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_L.stl', - 'force': 272.44, - 'focalpt': [139.572813, -30.381170, 297.993282], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_R.stl', - 'force': 274.42, - 'focalpt': [146.605544, 28.061586, 308.115231], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# PLTtymFrankencarpus + + +def parms(d={}): + p = {} + path = 'PLTtymFrankencarpus/500k' + p['mandible'] = f'{path}/PLTtym_500k_symph.stl' + p['contact_pts'] = [[-140.616379, 34.634388, 178.193710], + [-141.554642, -31.049093, 176.841354]] + p['axis_pt1'] = [209.550949, -84.342560, 175.265411] + p['axis_pt2'] = [202.335129, 113.899513, 188.742447] + p['muscles'] = [ + { + 'file': f'{path}/PLTtym_M_Adductor_externus_L1.stl', + 'force': 487.38, + 'focalpt': [168.632495, -77.654233, 291.917515], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_L2.stl', + 'force': 487.38, + 'focalpt': [168.632495, -77.654233, 291.917515], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_R1.stl', + 'force': 452.79, + 'focalpt': [162.990556, 84.506622, 300.400077], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_R2.stl', + 'force': 452.79, + 'focalpt': [162.990556, 84.506622, 300.400077], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_L.stl', + 'force': 362.86, + 'focalpt': [170.123995, -67.091482, 294.560006], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_R.stl', + 'force': 354.37, + 'focalpt': [159.487575, 69.680135, 301.992776], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_L.stl', + 'force': 233.63, + 'focalpt': [200.874582, -73.117085, 243.673804], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_R.stl', + 'force': 225.83, + 'focalpt': [197.328191, 87.354103, 240.557139], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_L.stl', + 'force': 1537.52, + 'focalpt': [174.077429, -35.213424, 286.207974], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_R.stl', + 'force': 1458.46, + 'focalpt': [176.936559, 43.557517, 297.140329], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_L.stl', + 'force': 272.44, + 'focalpt': [139.572813, -30.381170, 297.993282], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_R.stl', + 'force': 274.42, + 'focalpt': [146.605544, 28.061586, 308.115231], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/PLTtympFranken_500k_15_2.py b/models/PLTtymFrankencarpus/PLTtympFranken_500k_15_2.py similarity index 96% rename from models/PLTtympFranken_500k_15_2.py rename to models/PLTtymFrankencarpus/PLTtympFranken_500k_15_2.py index ab6a981..74fd2bb 100644 --- a/models/PLTtympFranken_500k_15_2.py +++ b/models/PLTtymFrankencarpus/PLTtympFranken_500k_15_2.py @@ -1,106 +1,106 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- - - - -def parms(d={}): - p = {} - path = 'PLTtymFrankencarpus/500k' - p['mandible'] = f'{path}/PLTtym_500k_symph.stl' - p['contact_pts'] = [[-48.250050, 60.041912, 182.285355], - [-47.561031, -48.934483, 180.753647]] - p['axis_pt1'] = [209.550949, -84.342560, 175.265411] - p['axis_pt2'] = [202.335129, 113.899513, 188.742447] - p['muscles'] = [ - { - 'file': f'{path}/PLTtym_M_Adductor_externus_L1.stl', - 'force': 487.38, - 'focalpt': [168.632495, -77.654233, 291.917515], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_L2.stl', - 'force': 487.38, - 'focalpt': [168.632495, -77.654233, 291.917515], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_R1.stl', - 'force': 452.79, - 'focalpt': [162.990556, 84.506622, 300.400077], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_R2.stl', - 'force': 452.79, - 'focalpt': [162.990556, 84.506622, 300.400077], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_L.stl', - 'force': 362.86, - 'focalpt': [170.123995, -67.091482, 294.560006], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_R.stl', - 'force': 354.37, - 'focalpt': [159.487575, 69.680135, 301.992776], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_L.stl', - 'force': 233.63, - 'focalpt': [200.874582, -73.117085, 243.673804], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_R.stl', - 'force': 225.83, - 'focalpt': [197.328191, 87.354103, 240.557139], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_L.stl', - 'force': 1537.52, - 'focalpt': [174.077429, -35.213424, 286.207974], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_R.stl', - 'force': 1458.46, - 'focalpt': [176.936559, 43.557517, 297.140329], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_L.stl', - 'force': 272.44, - 'focalpt': [139.572813, -30.381170, 297.993282], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_R.stl', - 'force': 274.42, - 'focalpt': [146.605544, 28.061586, 308.115231], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# PLTtymFrankencarpus + + +def parms(d={}): + p = {} + path = 'PLTtymFrankencarpus/500k' + p['mandible'] = f'{path}/PLTtym_500k_symph.stl' + p['contact_pts'] = [[-48.250050, 60.041912, 182.285355], + [-47.561031, -48.934483, 180.753647]] + p['axis_pt1'] = [209.550949, -84.342560, 175.265411] + p['axis_pt2'] = [202.335129, 113.899513, 188.742447] + p['muscles'] = [ + { + 'file': f'{path}/PLTtym_M_Adductor_externus_L1.stl', + 'force': 487.38, + 'focalpt': [168.632495, -77.654233, 291.917515], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_L2.stl', + 'force': 487.38, + 'focalpt': [168.632495, -77.654233, 291.917515], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_R1.stl', + 'force': 452.79, + 'focalpt': [162.990556, 84.506622, 300.400077], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_R2.stl', + 'force': 452.79, + 'focalpt': [162.990556, 84.506622, 300.400077], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_L.stl', + 'force': 362.86, + 'focalpt': [170.123995, -67.091482, 294.560006], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_R.stl', + 'force': 354.37, + 'focalpt': [159.487575, 69.680135, 301.992776], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_L.stl', + 'force': 233.63, + 'focalpt': [200.874582, -73.117085, 243.673804], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_R.stl', + 'force': 225.83, + 'focalpt': [197.328191, 87.354103, 240.557139], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_L.stl', + 'force': 1537.52, + 'focalpt': [174.077429, -35.213424, 286.207974], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_R.stl', + 'force': 1458.46, + 'focalpt': [176.936559, 43.557517, 297.140329], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_L.stl', + 'force': 272.44, + 'focalpt': [139.572813, -30.381170, 297.993282], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_R.stl', + 'force': 274.42, + 'focalpt': [146.605544, 28.061586, 308.115231], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/PLTtympFranken_500k_7_1.py b/models/PLTtymFrankencarpus/PLTtympFranken_500k_7_1.py similarity index 96% rename from models/PLTtympFranken_500k_7_1.py rename to models/PLTtymFrankencarpus/PLTtympFranken_500k_7_1.py index 94599c1..38e8bcc 100644 --- a/models/PLTtympFranken_500k_7_1.py +++ b/models/PLTtymFrankencarpus/PLTtympFranken_500k_7_1.py @@ -1,106 +1,106 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- - - - -def parms(d={}): - p = {} - path = 'PLTtymFrankencarpus/500k' - p['mandible'] = f'{path}/PLTtym_500k_symph.stl' - p['contact_pts'] = [[-140.616379, 34.634388, 178.193710], - [-141.554642, -31.049093, 176.841354]] - p['axis_pt1'] = [209.550949, -84.342560, 175.265411] - p['axis_pt2'] = [202.335129, 113.899513, 188.742447] - p['muscles'] = [ - { - 'file': f'{path}/PLTtym_M_Adductor_externus_L1.stl', - 'force': 487.38, - 'focalpt': [146.982380, -77.664399, 278.479435], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_L2.stl', - 'force': 487.38, - 'focalpt': [146.982380, -77.664399, 278.479435], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_R1.stl', - 'force': 452.79, - 'focalpt': [138.878155, 84.493762, 284.866894], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_R2.stl', - 'force': 452.79, - 'focalpt': [138.878155, 84.493762, 284.866894], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_L.stl', - 'force': 362.86, - 'focalpt': [147.360255, -67.584745, 281.176887], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_R.stl', - 'force': 354.37, - 'focalpt': [136.040621, 69.415241, 285.431467], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_L.stl', - 'force': 233.63, - 'focalpt': [190.286665, -73.222918, 239.986014], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_R.stl', - 'force': 225.83, - 'focalpt': [187.649314, 87.414657, 236.135409], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_L.stl', - 'force': 1537.52, - 'focalpt': [153.241871, -37.103172, 275.752858], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_R.stl', - 'force': 1458.46, - 'focalpt': [153.541222, 41.630166, 284.082309], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_L.stl', - 'force': 272.44, - 'focalpt': [116.915364, -29.987994, 276.369899], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_R.stl', - 'force': 274.42, - 'focalpt': [116.915364, 29.987994, 276.369899], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# PLTtymFrankencarpus + + +def parms(d={}): + p = {} + path = 'PLTtymFrankencarpus/500k' + p['mandible'] = f'{path}/PLTtym_500k_symph.stl' + p['contact_pts'] = [[-140.616379, 34.634388, 178.193710], + [-141.554642, -31.049093, 176.841354]] + p['axis_pt1'] = [209.550949, -84.342560, 175.265411] + p['axis_pt2'] = [202.335129, 113.899513, 188.742447] + p['muscles'] = [ + { + 'file': f'{path}/PLTtym_M_Adductor_externus_L1.stl', + 'force': 487.38, + 'focalpt': [146.982380, -77.664399, 278.479435], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_L2.stl', + 'force': 487.38, + 'focalpt': [146.982380, -77.664399, 278.479435], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_R1.stl', + 'force': 452.79, + 'focalpt': [138.878155, 84.493762, 284.866894], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_R2.stl', + 'force': 452.79, + 'focalpt': [138.878155, 84.493762, 284.866894], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_L.stl', + 'force': 362.86, + 'focalpt': [147.360255, -67.584745, 281.176887], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_R.stl', + 'force': 354.37, + 'focalpt': [136.040621, 69.415241, 285.431467], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_L.stl', + 'force': 233.63, + 'focalpt': [190.286665, -73.222918, 239.986014], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_R.stl', + 'force': 225.83, + 'focalpt': [187.649314, 87.414657, 236.135409], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_L.stl', + 'force': 1537.52, + 'focalpt': [153.241871, -37.103172, 275.752858], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_R.stl', + 'force': 1458.46, + 'focalpt': [153.541222, 41.630166, 284.082309], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_L.stl', + 'force': 272.44, + 'focalpt': [116.915364, -29.987994, 276.369899], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_R.stl', + 'force': 274.42, + 'focalpt': [116.915364, 29.987994, 276.369899], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/PLTtympFranken_500k_7_2.py b/models/PLTtymFrankencarpus/PLTtympFranken_500k_7_2.py similarity index 96% rename from models/PLTtympFranken_500k_7_2.py rename to models/PLTtymFrankencarpus/PLTtympFranken_500k_7_2.py index 667cfd1..f0c33bb 100644 --- a/models/PLTtympFranken_500k_7_2.py +++ b/models/PLTtymFrankencarpus/PLTtympFranken_500k_7_2.py @@ -1,106 +1,106 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- - - - -def parms(d={}): - p = {} - path = 'PLTtymFrankencarpus/500k' - p['mandible'] = f'{path}/PLTtym_500k_symph.stl' - p['contact_pts'] = [[-48.250050, 60.041912, 182.285355], - [-47.561031, -48.934483, 180.753647]] - p['axis_pt1'] = [209.550949, -84.342560, 175.265411] - p['axis_pt2'] = [202.335129, 113.899513, 188.742447] - p['muscles'] = [ - { - 'file': f'{path}/PLTtym_M_Adductor_externus_L1.stl', - 'force': 487.38, - 'focalpt': [146.982380, -77.664399, 278.479435], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_L2.stl', - 'force': 487.38, - 'focalpt': [146.982380, -77.664399, 278.479435], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_R1.stl', - 'force': 452.79, - 'focalpt': [138.878155, 84.493762, 284.866894], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_R2.stl', - 'force': 452.79, - 'focalpt': [138.878155, 84.493762, 284.866894], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_L.stl', - 'force': 362.86, - 'focalpt': [147.360255, -67.584745, 281.176887], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_R.stl', - 'force': 354.37, - 'focalpt': [136.040621, 69.415241, 285.431467], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_L.stl', - 'force': 233.63, - 'focalpt': [190.286665, -73.222918, 239.986014], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_R.stl', - 'force': 225.83, - 'focalpt': [187.649314, 87.414657, 236.135409], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_L.stl', - 'force': 1537.52, - 'focalpt': [153.241871, -37.103172, 275.752858], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_R.stl', - 'force': 1458.46, - 'focalpt': [153.541222, 41.630166, 284.082309], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_L.stl', - 'force': 272.44, - 'focalpt': [116.915364, -29.987994, 276.369899], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_R.stl', - 'force': 274.42, - 'focalpt': [116.915364, 29.987994, 276.369899], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# PLTtymFrankencarpus + + +def parms(d={}): + p = {} + path = 'PLTtymFrankencarpus/500k' + p['mandible'] = f'{path}/PLTtym_500k_symph.stl' + p['contact_pts'] = [[-48.250050, 60.041912, 182.285355], + [-47.561031, -48.934483, 180.753647]] + p['axis_pt1'] = [209.550949, -84.342560, 175.265411] + p['axis_pt2'] = [202.335129, 113.899513, 188.742447] + p['muscles'] = [ + { + 'file': f'{path}/PLTtym_M_Adductor_externus_L1.stl', + 'force': 487.38, + 'focalpt': [146.982380, -77.664399, 278.479435], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_L2.stl', + 'force': 487.38, + 'focalpt': [146.982380, -77.664399, 278.479435], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_R1.stl', + 'force': 452.79, + 'focalpt': [138.878155, 84.493762, 284.866894], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_R2.stl', + 'force': 452.79, + 'focalpt': [138.878155, 84.493762, 284.866894], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_L.stl', + 'force': 362.86, + 'focalpt': [147.360255, -67.584745, 281.176887], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_R.stl', + 'force': 354.37, + 'focalpt': [136.040621, 69.415241, 285.431467], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_L.stl', + 'force': 233.63, + 'focalpt': [190.286665, -73.222918, 239.986014], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_R.stl', + 'force': 225.83, + 'focalpt': [187.649314, 87.414657, 236.135409], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_L.stl', + 'force': 1537.52, + 'focalpt': [153.241871, -37.103172, 275.752858], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_R.stl', + 'force': 1458.46, + 'focalpt': [153.541222, 41.630166, 284.082309], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_L.stl', + 'force': 272.44, + 'focalpt': [116.915364, -29.987994, 276.369899], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_R.stl', + 'force': 274.42, + 'focalpt': [116.915364, 29.987994, 276.369899], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/PLTtympFranken_750k.py b/models/PLTtymFrankencarpus/PLTtympFranken_750k.py similarity index 99% rename from models/PLTtympFranken_750k.py rename to models/PLTtymFrankencarpus/PLTtympFranken_750k.py index cdd4be9..8f664dc 100644 --- a/models/PLTtympFranken_750k.py +++ b/models/PLTtymFrankencarpus/PLTtympFranken_750k.py @@ -1,6 +1,6 @@ #! /usr/bin/env python3 # -*- coding: utf-8 -*- - +# PLTtymFrankencarpus def parms(d={}): diff --git a/models/PLTtympFranken_750k_15_1.py b/models/PLTtymFrankencarpus/PLTtympFranken_750k_15_1.py similarity index 96% rename from models/PLTtympFranken_750k_15_1.py rename to models/PLTtymFrankencarpus/PLTtympFranken_750k_15_1.py index 1d2a95a..3549e64 100644 --- a/models/PLTtympFranken_750k_15_1.py +++ b/models/PLTtymFrankencarpus/PLTtympFranken_750k_15_1.py @@ -1,106 +1,106 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- - - - -def parms(d={}): - p = {} - path = 'PLTtymFrankencarpus/750k' - p['mandible'] = f'{path}/PLTtym_750k_symph.stl' - p['contact_pts'] = [[-140.392929, 34.519073, 177.620209], - [-141.554642, -31.049093, 176.841354]] - p['axis_pt1'] = [207.311279, -80.298553, 187.387451] - p['axis_pt2'] = [202.485397, 112.689812, 189.151352] - p['muscles'] = [ - { - 'file': f'{path}/PLTtym_M_Adductor_externus_L1.stl', - 'force': 487.38, - 'focalpt': [168.632495, -77.654233, 291.917515], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_L2.stl', - 'force': 487.38, - 'focalpt': [168.632495, -77.654233, 291.917515], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_R1.stl', - 'force': 452.79, - 'focalpt': [162.990556, 84.506622, 300.400077], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_R2.stl', - 'force': 452.79, - 'focalpt': [162.990556, 84.506622, 300.400077], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_L.stl', - 'force': 362.86, - 'focalpt': [170.123995, -67.091482, 294.560006], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_R.stl', - 'force': 354.37, - 'focalpt': [159.487575, 69.680135, 301.992776], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_L.stl', - 'force': 233.63, - 'focalpt': [200.874582, -73.117085, 243.673804], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_R.stl', - 'force': 225.83, - 'focalpt': [197.328191, 87.354103, 240.557139], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_L.stl', - 'force': 1537.52, - 'focalpt': [174.077429, -35.213424, 286.207974], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_R.stl', - 'force': 1458.46, - 'focalpt': [176.936559, 43.557517, 297.140329], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_L.stl', - 'force': 272.44, - 'focalpt': [139.572813, -30.381170, 297.993282], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_R.stl', - 'force': 274.42, - 'focalpt': [146.605544, 28.061586, 308.115231], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# PLTtymFrankencarpus + + +def parms(d={}): + p = {} + path = 'PLTtymFrankencarpus/750k' + p['mandible'] = f'{path}/PLTtym_750k_symph.stl' + p['contact_pts'] = [[-140.392929, 34.519073, 177.620209], + [-141.554642, -31.049093, 176.841354]] + p['axis_pt1'] = [207.311279, -80.298553, 187.387451] + p['axis_pt2'] = [202.485397, 112.689812, 189.151352] + p['muscles'] = [ + { + 'file': f'{path}/PLTtym_M_Adductor_externus_L1.stl', + 'force': 487.38, + 'focalpt': [168.632495, -77.654233, 291.917515], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_L2.stl', + 'force': 487.38, + 'focalpt': [168.632495, -77.654233, 291.917515], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_R1.stl', + 'force': 452.79, + 'focalpt': [162.990556, 84.506622, 300.400077], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_R2.stl', + 'force': 452.79, + 'focalpt': [162.990556, 84.506622, 300.400077], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_L.stl', + 'force': 362.86, + 'focalpt': [170.123995, -67.091482, 294.560006], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_R.stl', + 'force': 354.37, + 'focalpt': [159.487575, 69.680135, 301.992776], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_L.stl', + 'force': 233.63, + 'focalpt': [200.874582, -73.117085, 243.673804], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_R.stl', + 'force': 225.83, + 'focalpt': [197.328191, 87.354103, 240.557139], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_L.stl', + 'force': 1537.52, + 'focalpt': [174.077429, -35.213424, 286.207974], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_R.stl', + 'force': 1458.46, + 'focalpt': [176.936559, 43.557517, 297.140329], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_L.stl', + 'force': 272.44, + 'focalpt': [139.572813, -30.381170, 297.993282], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_R.stl', + 'force': 274.42, + 'focalpt': [146.605544, 28.061586, 308.115231], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/PLTtympFranken_750k_15_2.py b/models/PLTtymFrankencarpus/PLTtympFranken_750k_15_2.py similarity index 96% rename from models/PLTtympFranken_750k_15_2.py rename to models/PLTtymFrankencarpus/PLTtympFranken_750k_15_2.py index 2287593..0aa2251 100644 --- a/models/PLTtympFranken_750k_15_2.py +++ b/models/PLTtymFrankencarpus/PLTtympFranken_750k_15_2.py @@ -1,106 +1,106 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- - - - -def parms(d={}): - p = {} - path = 'PLTtymFrankencarpus/750k' - p['mandible'] = f'{path}/PLTtym_750k_symph.stl' - p['contact_pts'] = [[-48.250050, 60.041912, 182.285355], - [-47.400860, -48.840836, 180.895721]] - p['axis_pt1'] = [207.311279, -80.298553, 187.387451] - p['axis_pt2'] = [202.485397, 112.689812, 189.151352] - p['muscles'] = [ - { - 'file': f'{path}/PLTtym_M_Adductor_externus_L1.stl', - 'force': 487.38, - 'focalpt': [168.632495, -77.654233, 291.917515], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_L2.stl', - 'force': 487.38, - 'focalpt': [168.632495, -77.654233, 291.917515], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_R1.stl', - 'force': 452.79, - 'focalpt': [162.990556, 84.506622, 300.400077], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_R2.stl', - 'force': 452.79, - 'focalpt': [162.990556, 84.506622, 300.400077], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_L.stl', - 'force': 362.86, - 'focalpt': [170.123995, -67.091482, 294.560006], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_R.stl', - 'force': 354.37, - 'focalpt': [159.487575, 69.680135, 301.992776], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_L.stl', - 'force': 233.63, - 'focalpt': [200.874582, -73.117085, 243.673804], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_R.stl', - 'force': 225.83, - 'focalpt': [197.328191, 87.354103, 240.557139], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_L.stl', - 'force': 1537.52, - 'focalpt': [174.077429, -35.213424, 286.207974], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_R.stl', - 'force': 1458.46, - 'focalpt': [176.936559, 43.557517, 297.140329], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_L.stl', - 'force': 272.44, - 'focalpt': [139.572813, -30.381170, 297.993282], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_R.stl', - 'force': 274.42, - 'focalpt': [146.605544, 28.061586, 308.115231], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# PLTtymFrankencarpus + + +def parms(d={}): + p = {} + path = 'PLTtymFrankencarpus/750k' + p['mandible'] = f'{path}/PLTtym_750k_symph.stl' + p['contact_pts'] = [[-48.250050, 60.041912, 182.285355], + [-47.400860, -48.840836, 180.895721]] + p['axis_pt1'] = [207.311279, -80.298553, 187.387451] + p['axis_pt2'] = [202.485397, 112.689812, 189.151352] + p['muscles'] = [ + { + 'file': f'{path}/PLTtym_M_Adductor_externus_L1.stl', + 'force': 487.38, + 'focalpt': [168.632495, -77.654233, 291.917515], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_L2.stl', + 'force': 487.38, + 'focalpt': [168.632495, -77.654233, 291.917515], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_R1.stl', + 'force': 452.79, + 'focalpt': [162.990556, 84.506622, 300.400077], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_R2.stl', + 'force': 452.79, + 'focalpt': [162.990556, 84.506622, 300.400077], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_L.stl', + 'force': 362.86, + 'focalpt': [170.123995, -67.091482, 294.560006], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_R.stl', + 'force': 354.37, + 'focalpt': [159.487575, 69.680135, 301.992776], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_L.stl', + 'force': 233.63, + 'focalpt': [200.874582, -73.117085, 243.673804], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_R.stl', + 'force': 225.83, + 'focalpt': [197.328191, 87.354103, 240.557139], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_L.stl', + 'force': 1537.52, + 'focalpt': [174.077429, -35.213424, 286.207974], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_R.stl', + 'force': 1458.46, + 'focalpt': [176.936559, 43.557517, 297.140329], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_L.stl', + 'force': 272.44, + 'focalpt': [139.572813, -30.381170, 297.993282], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_R.stl', + 'force': 274.42, + 'focalpt': [146.605544, 28.061586, 308.115231], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/PLTtympFranken_750k_7_1.py b/models/PLTtymFrankencarpus/PLTtympFranken_750k_7_1.py similarity index 96% rename from models/PLTtympFranken_750k_7_1.py rename to models/PLTtymFrankencarpus/PLTtympFranken_750k_7_1.py index f2ffb35..0170107 100644 --- a/models/PLTtympFranken_750k_7_1.py +++ b/models/PLTtymFrankencarpus/PLTtympFranken_750k_7_1.py @@ -1,106 +1,106 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- - - - -def parms(d={}): - p = {} - path = 'PLTtymFrankencarpus/750k' - p['mandible'] = f'{path}/PLTtym_750k_symph.stl' - p['contact_pts'] = [[-140.392929, 34.519073, 177.620209], - [-141.554642, -31.049093, 176.841354]] - p['axis_pt1'] = [207.311279, -80.298553, 187.387451] - p['axis_pt2'] = [202.485397, 112.689812, 189.151352] - p['muscles'] = [ - { - 'file': f'{path}/PLTtym_M_Adductor_externus_L1.stl', - 'force': 487.38, - 'focalpt': [146.982380, -77.664399, 278.479435], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_L2.stl', - 'force': 487.38, - 'focalpt': [146.982380, -77.664399, 278.479435], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_R1.stl', - 'force': 452.79, - 'focalpt': [138.878155, 84.493762, 284.866894], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_R2.stl', - 'force': 452.79, - 'focalpt': [138.878155, 84.493762, 284.866894], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_L.stl', - 'force': 362.86, - 'focalpt': [147.360255, -67.584745, 281.176887], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_R.stl', - 'force': 354.37, - 'focalpt': [136.040621, 69.415241, 285.431467], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_L.stl', - 'force': 233.63, - 'focalpt': [190.286665, -73.222918, 239.986014], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_R.stl', - 'force': 225.83, - 'focalpt': [187.649314, 87.414657, 236.135409], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_L.stl', - 'force': 1537.52, - 'focalpt': [153.241871, -37.103172, 275.752858], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_R.stl', - 'force': 1458.46, - 'focalpt': [153.541222, 41.630166, 284.082309], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_L.stl', - 'force': 272.44, - 'focalpt': [116.915364, -29.987994, 276.369899], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_R.stl', - 'force': 274.42, - 'focalpt': [116.915364, 29.987994, 276.369899], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# PLTtymFrankencarpus + + +def parms(d={}): + p = {} + path = 'PLTtymFrankencarpus/750k' + p['mandible'] = f'{path}/PLTtym_750k_symph.stl' + p['contact_pts'] = [[-140.392929, 34.519073, 177.620209], + [-141.554642, -31.049093, 176.841354]] + p['axis_pt1'] = [207.311279, -80.298553, 187.387451] + p['axis_pt2'] = [202.485397, 112.689812, 189.151352] + p['muscles'] = [ + { + 'file': f'{path}/PLTtym_M_Adductor_externus_L1.stl', + 'force': 487.38, + 'focalpt': [146.982380, -77.664399, 278.479435], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_L2.stl', + 'force': 487.38, + 'focalpt': [146.982380, -77.664399, 278.479435], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_R1.stl', + 'force': 452.79, + 'focalpt': [138.878155, 84.493762, 284.866894], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_R2.stl', + 'force': 452.79, + 'focalpt': [138.878155, 84.493762, 284.866894], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_L.stl', + 'force': 362.86, + 'focalpt': [147.360255, -67.584745, 281.176887], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_R.stl', + 'force': 354.37, + 'focalpt': [136.040621, 69.415241, 285.431467], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_L.stl', + 'force': 233.63, + 'focalpt': [190.286665, -73.222918, 239.986014], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_R.stl', + 'force': 225.83, + 'focalpt': [187.649314, 87.414657, 236.135409], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_L.stl', + 'force': 1537.52, + 'focalpt': [153.241871, -37.103172, 275.752858], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_R.stl', + 'force': 1458.46, + 'focalpt': [153.541222, 41.630166, 284.082309], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_L.stl', + 'force': 272.44, + 'focalpt': [116.915364, -29.987994, 276.369899], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_R.stl', + 'force': 274.42, + 'focalpt': [116.915364, 29.987994, 276.369899], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/PLTtympFranken_750k_7_2.py b/models/PLTtymFrankencarpus/PLTtympFranken_750k_7_2.py similarity index 96% rename from models/PLTtympFranken_750k_7_2.py rename to models/PLTtymFrankencarpus/PLTtympFranken_750k_7_2.py index dd58b42..9f6435f 100644 --- a/models/PLTtympFranken_750k_7_2.py +++ b/models/PLTtymFrankencarpus/PLTtympFranken_750k_7_2.py @@ -1,106 +1,106 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- - - - -def parms(d={}): - p = {} - path = 'PLTtymFrankencarpus/750k' - p['mandible'] = f'{path}/PLTtym_750k_symph.stl' - p['contact_pts'] = [[-48.250050, 60.041912, 182.285355], - [-47.400860, -48.840836, 180.895721]] - p['axis_pt1'] = [207.311279, -80.298553, 187.387451] - p['axis_pt2'] = [202.485397, 112.689812, 189.151352] - p['muscles'] = [ - { - 'file': f'{path}/PLTtym_M_Adductor_externus_L1.stl', - 'force': 487.38, - 'focalpt': [146.982380, -77.664399, 278.479435], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_L2.stl', - 'force': 487.38, - 'focalpt': [146.982380, -77.664399, 278.479435], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_R1.stl', - 'force': 452.79, - 'focalpt': [138.878155, 84.493762, 284.866894], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_R2.stl', - 'force': 452.79, - 'focalpt': [138.878155, 84.493762, 284.866894], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_L.stl', - 'force': 362.86, - 'focalpt': [147.360255, -67.584745, 281.176887], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_R.stl', - 'force': 354.37, - 'focalpt': [136.040621, 69.415241, 285.431467], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_L.stl', - 'force': 233.63, - 'focalpt': [190.286665, -73.222918, 239.986014], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_R.stl', - 'force': 225.83, - 'focalpt': [187.649314, 87.414657, 236.135409], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_L.stl', - 'force': 1537.52, - 'focalpt': [153.241871, -37.103172, 275.752858], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_R.stl', - 'force': 1458.46, - 'focalpt': [153.541222, 41.630166, 284.082309], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_L.stl', - 'force': 272.44, - 'focalpt': [116.915364, -29.987994, 276.369899], - 'method': 'T+N' - }, - { - 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_R.stl', - 'force': 274.42, - 'focalpt': [116.915364, 29.987994, 276.369899], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# PLTtymFrankencarpus + + +def parms(d={}): + p = {} + path = 'PLTtymFrankencarpus/750k' + p['mandible'] = f'{path}/PLTtym_750k_symph.stl' + p['contact_pts'] = [[-48.250050, 60.041912, 182.285355], + [-47.400860, -48.840836, 180.895721]] + p['axis_pt1'] = [207.311279, -80.298553, 187.387451] + p['axis_pt2'] = [202.485397, 112.689812, 189.151352] + p['muscles'] = [ + { + 'file': f'{path}/PLTtym_M_Adductor_externus_L1.stl', + 'force': 487.38, + 'focalpt': [146.982380, -77.664399, 278.479435], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_L2.stl', + 'force': 487.38, + 'focalpt': [146.982380, -77.664399, 278.479435], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_R1.stl', + 'force': 452.79, + 'focalpt': [138.878155, 84.493762, 284.866894], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_R2.stl', + 'force': 452.79, + 'focalpt': [138.878155, 84.493762, 284.866894], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_L.stl', + 'force': 362.86, + 'focalpt': [147.360255, -67.584745, 281.176887], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_externus_medialis_R.stl', + 'force': 354.37, + 'focalpt': [136.040621, 69.415241, 285.431467], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_L.stl', + 'force': 233.63, + 'focalpt': [190.286665, -73.222918, 239.986014], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Adductor_mandibulae_profundus_R.stl', + 'force': 225.83, + 'focalpt': [187.649314, 87.414657, 236.135409], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_L.stl', + 'force': 1537.52, + 'focalpt': [153.241871, -37.103172, 275.752858], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_profundus_R.stl', + 'force': 1458.46, + 'focalpt': [153.541222, 41.630166, 284.082309], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_L.stl', + 'force': 272.44, + 'focalpt': [116.915364, -29.987994, 276.369899], + 'method': 'T+N' + }, + { + 'file': f'{path}/PLTtym_M_Pseudotemporalis_superficialis_R.stl', + 'force': 274.42, + 'focalpt': [116.915364, 29.987994, 276.369899], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/PLTtymFrankencarpus/__init__.py b/models/PLTtymFrankencarpus/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/models/Panthera_pardus_RC_30.py b/models/Panthera_pardus/Panthera_pardus_RC_30.py similarity index 100% rename from models/Panthera_pardus_RC_30.py rename to models/Panthera_pardus/Panthera_pardus_RC_30.py diff --git a/models/Panthera_pardus/__init__.py b/models/Panthera_pardus/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/models/TYLber_150k_15_1.py b/models/TYLber/TYLber_150k_15_1.py similarity index 94% rename from models/TYLber_150k_15_1.py rename to models/TYLber/TYLber_150k_15_1.py index eeb5afa..318378f 100644 --- a/models/TYLber_150k_15_1.py +++ b/models/TYLber/TYLber_150k_15_1.py @@ -1,106 +1,105 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni FHSM VP404 -# 10k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'TYLber/150k' - p['mandible'] = f'{path}/TYLber_jaw_150k.stl' - p['contact_pts'] = [[74.470337, 531.928772, 38.113079], - [-71.465904, 531.618591, 37.830475]] - p['axis_pt1'] = [-232.980133, -518.113647, 14.254566] - p['axis_pt2'] = [258.104462, -520.396851, -14.235010] - p['muscles'] = [ - { - 'file': f'{path}/M_AE_L1.stl', - 'force': 3737.50, - 'focalpt': [-226.948122, -404.676272, 293.141858], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_L2.stl', - 'force': 3737.50, - 'focalpt': [-226.948122, -404.676272, 293.141858], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R1.stl', - 'force': 3759.12, - 'focalpt': [239.875595, -405.973439, 293.128592], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R2.stl', - 'force': 3759.12, - 'focalpt': [239.875595, -405.973439, 293.128592], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_L.stl', - 'force': 2365.71, - 'focalpt': [-187.848876, -398.299265, 300.243918], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 2365.96, - 'focalpt': [199.782001, -398.895180, 297.404123], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 1153.30, - 'focalpt': [-238.123377, -515.250915, 168.606158], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 1130.47, - 'focalpt': [250.214506, -511.788168, 169.664531], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 11453.79, - 'focalpt': [-83.203736, -487.096873, 299.673390], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 11344.36, - 'focalpt': [83.203736, -487.096873, 299.673390], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_L.stl', - 'force': 1925.31, - 'focalpt': [-28.686907, -361.550465, 316.886714], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_R.stl', - 'force': 1955.85, - 'focalpt': [5.246492, -370.196322, 312.427152], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Tylosaurus bernardi + + +def parms(d={}): + p = {} + path = 'TYLber/150k' + p['mandible'] = f'{path}/TYLber_jaw_150k.stl' + p['contact_pts'] = [[74.470337, 531.928772, 38.113079], + [-71.465904, 531.618591, 37.830475]] + p['axis_pt1'] = [-232.980133, -518.113647, 14.254566] + p['axis_pt2'] = [258.104462, -520.396851, -14.235010] + p['muscles'] = [ + { + 'file': f'{path}/M_AE_L1.stl', + 'force': 3737.50, + 'focalpt': [-226.948122, -404.676272, 293.141858], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_L2.stl', + 'force': 3737.50, + 'focalpt': [-226.948122, -404.676272, 293.141858], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R1.stl', + 'force': 3759.12, + 'focalpt': [239.875595, -405.973439, 293.128592], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R2.stl', + 'force': 3759.12, + 'focalpt': [239.875595, -405.973439, 293.128592], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_L.stl', + 'force': 2365.71, + 'focalpt': [-187.848876, -398.299265, 300.243918], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 2365.96, + 'focalpt': [199.782001, -398.895180, 297.404123], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 1153.30, + 'focalpt': [-238.123377, -515.250915, 168.606158], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 1130.47, + 'focalpt': [250.214506, -511.788168, 169.664531], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 11453.79, + 'focalpt': [-83.203736, -487.096873, 299.673390], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 11344.36, + 'focalpt': [83.203736, -487.096873, 299.673390], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_L.stl', + 'force': 1925.31, + 'focalpt': [-28.686907, -361.550465, 316.886714], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_R.stl', + 'force': 1955.85, + 'focalpt': [5.246492, -370.196322, 312.427152], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/TYLber_150k_15_2.py b/models/TYLber/TYLber_150k_15_2.py similarity index 94% rename from models/TYLber_150k_15_2.py rename to models/TYLber/TYLber_150k_15_2.py index 14bb07d..fcb3baa 100644 --- a/models/TYLber_150k_15_2.py +++ b/models/TYLber/TYLber_150k_15_2.py @@ -1,106 +1,105 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni FHSM VP404 -# 10k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'TYLber/150k' - p['mandible'] = f'{path}/TYLber_jaw_150k.stl' - p['contact_pts'] = [[159.952377, 145.793655, 10.386530], - [-147.823532, 152.052460, 16.779087]] - p['axis_pt1'] = [-232.980133, -518.113647, 14.254566] - p['axis_pt2'] = [258.104462, -520.396851, -14.235010] - p['muscles'] = [ - { - 'file': f'{path}/M_AE_L1.stl', - 'force': 3737.50, - 'focalpt': [-226.948122, -404.676272, 293.141858], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_L2.stl', - 'force': 3737.50, - 'focalpt': [-226.948122, -404.676272, 293.141858], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R1.stl', - 'force': 3759.12, - 'focalpt': [239.875595, -405.973439, 293.128592], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R2.stl', - 'force': 3759.12, - 'focalpt': [239.875595, -405.973439, 293.128592], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_L.stl', - 'force': 2365.71, - 'focalpt': [-187.848876, -398.299265, 300.243918], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 2365.96, - 'focalpt': [199.782001, -398.895180, 297.404123], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 1153.30, - 'focalpt': [-238.123377, -515.250915, 168.606158], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 1130.47, - 'focalpt': [250.214506, -511.788168, 169.664531], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 11453.79, - 'focalpt': [-83.203736, -487.096873, 299.673390], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 11344.36, - 'focalpt': [83.203736, -487.096873, 299.673390], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_L.stl', - 'force': 1925.31, - 'focalpt': [-28.686907, -361.550465, 316.886714], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_R.stl', - 'force': 1955.85, - 'focalpt': [5.246492, -370.196322, 312.427152], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Tylosaurus bernardi + + +def parms(d={}): + p = {} + path = 'TYLber/150k' + p['mandible'] = f'{path}/TYLber_jaw_150k.stl' + p['contact_pts'] = [[159.952377, 145.793655, 10.386530], + [-147.823532, 152.052460, 16.779087]] + p['axis_pt1'] = [-232.980133, -518.113647, 14.254566] + p['axis_pt2'] = [258.104462, -520.396851, -14.235010] + p['muscles'] = [ + { + 'file': f'{path}/M_AE_L1.stl', + 'force': 3737.50, + 'focalpt': [-226.948122, -404.676272, 293.141858], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_L2.stl', + 'force': 3737.50, + 'focalpt': [-226.948122, -404.676272, 293.141858], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R1.stl', + 'force': 3759.12, + 'focalpt': [239.875595, -405.973439, 293.128592], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R2.stl', + 'force': 3759.12, + 'focalpt': [239.875595, -405.973439, 293.128592], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_L.stl', + 'force': 2365.71, + 'focalpt': [-187.848876, -398.299265, 300.243918], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 2365.96, + 'focalpt': [199.782001, -398.895180, 297.404123], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 1153.30, + 'focalpt': [-238.123377, -515.250915, 168.606158], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 1130.47, + 'focalpt': [250.214506, -511.788168, 169.664531], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 11453.79, + 'focalpt': [-83.203736, -487.096873, 299.673390], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 11344.36, + 'focalpt': [83.203736, -487.096873, 299.673390], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_L.stl', + 'force': 1925.31, + 'focalpt': [-28.686907, -361.550465, 316.886714], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_R.stl', + 'force': 1955.85, + 'focalpt': [5.246492, -370.196322, 312.427152], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/TYLber_150k_7_1.py b/models/TYLber/TYLber_150k_7_1.py similarity index 94% rename from models/TYLber_150k_7_1.py rename to models/TYLber/TYLber_150k_7_1.py index c519b2a..45ba836 100644 --- a/models/TYLber_150k_7_1.py +++ b/models/TYLber/TYLber_150k_7_1.py @@ -1,106 +1,105 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni FHSM VP404 -# 10k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'TYLber/150k' - p['mandible'] = f'{path}/TYLber_jaw_150k.stl' - p['contact_pts'] = [[74.470337, 531.928772, 38.113079], - [-71.465904, 531.618591, 37.830475]] - p['axis_pt1'] = [-232.980133, -518.113647, 14.254566] - p['axis_pt2'] = [258.104462, -520.396851, -14.235010] - p['muscles'] = [ - { - 'file': f'{path}/M_AE_L1.stl', - 'force': 3737.50, - 'focalpt': [-188.187696, -369.873120, 275.914061], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_L2.stl', - 'force': 3737.50, - 'focalpt': [-188.187696, -369.873120, 275.914061], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R1.stl', - 'force': 3759.12, - 'focalpt': [239.457293, -372.692345, 270.350792], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R2.stl', - 'force': 3759.12, - 'focalpt': [239.457293, -372.692345, 270.350792], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_L.stl', - 'force': 2365.71, - 'focalpt': [-227.291904, -372.899411, 271.130366], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 2365.96, - 'focalpt': [199.701736, -364.593452, 274.337915], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 1153.30, - 'focalpt': [-239.910482, -497.053749, 161.755878], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 1130.47, - 'focalpt': [251.670671, -493.669607, 163.115757], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 11453.79, - 'focalpt': [-86.780031, -452.169701, 286.960360], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 11344.36, - 'focalpt': [65.724326, -455.237748, 285.824986], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_L.stl', - 'force': 1925.31, - 'focalpt': [-28.340770, -326.256797, 288.260067], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_R.stl', - 'force': 1955.85, - 'focalpt': [6.631490, -329.778752, 284.720894], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Tylosaurus bernardi + + +def parms(d={}): + p = {} + path = 'TYLber/150k' + p['mandible'] = f'{path}/TYLber_jaw_150k.stl' + p['contact_pts'] = [[74.470337, 531.928772, 38.113079], + [-71.465904, 531.618591, 37.830475]] + p['axis_pt1'] = [-232.980133, -518.113647, 14.254566] + p['axis_pt2'] = [258.104462, -520.396851, -14.235010] + p['muscles'] = [ + { + 'file': f'{path}/M_AE_L1.stl', + 'force': 3737.50, + 'focalpt': [-188.187696, -369.873120, 275.914061], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_L2.stl', + 'force': 3737.50, + 'focalpt': [-188.187696, -369.873120, 275.914061], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R1.stl', + 'force': 3759.12, + 'focalpt': [239.457293, -372.692345, 270.350792], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R2.stl', + 'force': 3759.12, + 'focalpt': [239.457293, -372.692345, 270.350792], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_L.stl', + 'force': 2365.71, + 'focalpt': [-227.291904, -372.899411, 271.130366], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 2365.96, + 'focalpt': [199.701736, -364.593452, 274.337915], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 1153.30, + 'focalpt': [-239.910482, -497.053749, 161.755878], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 1130.47, + 'focalpt': [251.670671, -493.669607, 163.115757], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 11453.79, + 'focalpt': [-86.780031, -452.169701, 286.960360], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 11344.36, + 'focalpt': [65.724326, -455.237748, 285.824986], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_L.stl', + 'force': 1925.31, + 'focalpt': [-28.340770, -326.256797, 288.260067], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_R.stl', + 'force': 1955.85, + 'focalpt': [6.631490, -329.778752, 284.720894], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/TYLber_150k_7_2.py b/models/TYLber/TYLber_150k_7_2.py similarity index 94% rename from models/TYLber_150k_7_2.py rename to models/TYLber/TYLber_150k_7_2.py index 2d40a52..27d6ec9 100644 --- a/models/TYLber_150k_7_2.py +++ b/models/TYLber/TYLber_150k_7_2.py @@ -1,106 +1,105 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni FHSM VP404 -# 10k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'TYLber/150k' - p['mandible'] = f'{path}/TYLber_jaw_150k.stl' - p['contact_pts'] = [[159.952377, 145.793655, 10.386530], - [-147.823532, 152.052460, 16.779087]] - p['axis_pt1'] = [-232.980133, -518.113647, 14.254566] - p['axis_pt2'] = [258.104462, -520.396851, -14.235010] - p['muscles'] = [ - { - 'file': f'{path}/M_AE_L1.stl', - 'force': 3737.50, - 'focalpt': [-188.187696, -369.873120, 275.914061], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_L2.stl', - 'force': 3737.50, - 'focalpt': [-188.187696, -369.873120, 275.914061], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R1.stl', - 'force': 3759.12, - 'focalpt': [239.457293, -372.692345, 270.350792], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R2.stl', - 'force': 3759.12, - 'focalpt': [239.457293, -372.692345, 270.350792], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_L.stl', - 'force': 2365.71, - 'focalpt': [-227.291904, -372.899411, 271.130366], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 2365.96, - 'focalpt': [199.701736, -364.593452, 274.337915], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 1153.30, - 'focalpt': [-239.910482, -497.053749, 161.755878], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 1130.47, - 'focalpt': [251.670671, -493.669607, 163.115757], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 11453.79, - 'focalpt': [-86.780031, -452.169701, 286.960360], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 11344.36, - 'focalpt': [65.724326, -455.237748, 285.824986], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_L.stl', - 'force': 1925.31, - 'focalpt': [-28.340770, -326.256797, 288.260067], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_R.stl', - 'force': 1955.85, - 'focalpt': [6.631490, -329.778752, 284.720894], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Tylosaurus bernardi + + +def parms(d={}): + p = {} + path = 'TYLber/150k' + p['mandible'] = f'{path}/TYLber_jaw_150k.stl' + p['contact_pts'] = [[159.952377, 145.793655, 10.386530], + [-147.823532, 152.052460, 16.779087]] + p['axis_pt1'] = [-232.980133, -518.113647, 14.254566] + p['axis_pt2'] = [258.104462, -520.396851, -14.235010] + p['muscles'] = [ + { + 'file': f'{path}/M_AE_L1.stl', + 'force': 3737.50, + 'focalpt': [-188.187696, -369.873120, 275.914061], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_L2.stl', + 'force': 3737.50, + 'focalpt': [-188.187696, -369.873120, 275.914061], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R1.stl', + 'force': 3759.12, + 'focalpt': [239.457293, -372.692345, 270.350792], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R2.stl', + 'force': 3759.12, + 'focalpt': [239.457293, -372.692345, 270.350792], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_L.stl', + 'force': 2365.71, + 'focalpt': [-227.291904, -372.899411, 271.130366], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 2365.96, + 'focalpt': [199.701736, -364.593452, 274.337915], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 1153.30, + 'focalpt': [-239.910482, -497.053749, 161.755878], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 1130.47, + 'focalpt': [251.670671, -493.669607, 163.115757], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 11453.79, + 'focalpt': [-86.780031, -452.169701, 286.960360], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 11344.36, + 'focalpt': [65.724326, -455.237748, 285.824986], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_L.stl', + 'force': 1925.31, + 'focalpt': [-28.340770, -326.256797, 288.260067], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_R.stl', + 'force': 1955.85, + 'focalpt': [6.631490, -329.778752, 284.720894], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/TYLber_250k_15_1.py b/models/TYLber/TYLber_250k_15_1.py similarity index 94% rename from models/TYLber_250k_15_1.py rename to models/TYLber/TYLber_250k_15_1.py index 8812bd4..aaac1bf 100644 --- a/models/TYLber_250k_15_1.py +++ b/models/TYLber/TYLber_250k_15_1.py @@ -1,106 +1,105 @@ -#! /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['contact_pts'] = [[76.895927, 530.584045, 32.612164], - [-73.001038, 536.202087, 37.195301]] - p['axis_pt1'] = [-249.095215, -528.940735, -12.830746] - p['axis_pt2'] = [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' - }, - { - 'file': f'{path}/M_AE_L2.stl', - 'force': 3737.50, - 'focalpt': [226.948122, -404.676272, 293.141858], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R1.stl', - 'force': 3759.12, - 'focalpt': [239.875595, -405.973439, 293.128592], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R2.stl', - 'force': 3759.12, - 'focalpt': [239.875595, -405.973439, 293.128592], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_L.stl', - 'force': 2365.71, - 'focalpt': [-187.848876, -398.299265, 300.243918], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 2365.96, - 'focalpt': [199.782001, -398.895180, 297.404123], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 1153.30, - 'focalpt': [-238.123377, -515.250915, 168.606158], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 1130.47, - 'focalpt': [250.214506, -511.788168, 169.664531], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 11453.79, - 'focalpt': [-83.203736, -487.096873, 299.673390], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 11344.36, - 'focalpt': [83.203736, -487.096873, 299.673390], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_L.stl', - 'force': 1925.31, - 'focalpt': [-28.686907, -361.550465, 316.886714], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_R.stl', - 'force': 1955.85, - 'focalpt': [5.246492, -370.196322, 312.427152], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Tylosaurus bernardi + + +def parms(d={}): + p = {} + path = 'TYLber/250k' + p['mandible'] = f'{path}/TYLber_jaw_250k.stl' + p['contact_pts'] = [[76.895927, 530.584045, 32.612164], + [-73.001038, 536.202087, 37.195301]] + p['axis_pt1'] = [-249.095215, -528.940735, -12.830746] + p['axis_pt2'] = [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' + }, + { + 'file': f'{path}/M_AE_L2.stl', + 'force': 3737.50, + 'focalpt': [226.948122, -404.676272, 293.141858], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R1.stl', + 'force': 3759.12, + 'focalpt': [239.875595, -405.973439, 293.128592], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R2.stl', + 'force': 3759.12, + 'focalpt': [239.875595, -405.973439, 293.128592], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_L.stl', + 'force': 2365.71, + 'focalpt': [-187.848876, -398.299265, 300.243918], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 2365.96, + 'focalpt': [199.782001, -398.895180, 297.404123], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 1153.30, + 'focalpt': [-238.123377, -515.250915, 168.606158], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 1130.47, + 'focalpt': [250.214506, -511.788168, 169.664531], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 11453.79, + 'focalpt': [-83.203736, -487.096873, 299.673390], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 11344.36, + 'focalpt': [83.203736, -487.096873, 299.673390], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_L.stl', + 'force': 1925.31, + 'focalpt': [-28.686907, -361.550465, 316.886714], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_R.stl', + 'force': 1955.85, + 'focalpt': [5.246492, -370.196322, 312.427152], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/TYLber_250k_15_2_bad.py b/models/TYLber/TYLber_250k_15_2_bad.py similarity index 97% rename from models/TYLber_250k_15_2_bad.py rename to models/TYLber/TYLber_250k_15_2_bad.py index c5a92a3..fe8961d 100644 --- a/models/TYLber_250k_15_2_bad.py +++ b/models/TYLber/TYLber_250k_15_2_bad.py @@ -1,7 +1,6 @@ #! /usr/bin/env python3 # -*- coding: utf-8 -*- -# Dolicorhynchops osborni FHSM VP404 -# 10k faces on the mandible surface +# Tylosaurus bernardi def parms(d={}): diff --git a/models/TYLber_250k_7_1.py b/models/TYLber/TYLber_250k_7_1.py similarity index 94% rename from models/TYLber_250k_7_1.py rename to models/TYLber/TYLber_250k_7_1.py index 56d638a..f175bd1 100644 --- a/models/TYLber_250k_7_1.py +++ b/models/TYLber/TYLber_250k_7_1.py @@ -1,106 +1,105 @@ -#! /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['contact_pts'] = [[76.895927, 530.584045, 32.612164], - [-73.001038, 536.202087, 37.195301]] - p['axis_pt1'] = [-249.095215, -528.940735, -12.830746] - p['axis_pt2'] = [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' - }, - { - 'file': f'{path}/M_AE_L2.stl', - 'force': 3737.50, - 'focalpt': [-188.187696, -369.873120, 275.914061], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R1.stl', - 'force': 3759.12, - 'focalpt': [239.457293, -372.692345, 270.350792], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R2.stl', - 'force': 3759.12, - 'focalpt': [239.457293, -372.692345, 270.350792], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_L.stl', - 'force': 2365.71, - 'focalpt': [-227.291904, -372.899411, 271.130366], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 2365.96, - 'focalpt': [199.701736, -364.593452, 274.337915], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 1153.30, - 'focalpt': [-239.910482, -497.053749, 161.755878], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 1130.47, - 'focalpt': [251.670671, -493.669607, 163.115757], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 11453.79, - 'focalpt': [-86.780031, -452.169701, 286.960360], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 11344.36, - 'focalpt': [65.724326, -455.237748, 285.824986], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_L.stl', - 'force': 1925.31, - 'focalpt': [-28.340770, -326.256797, 288.260067], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_R.stl', - 'force': 1955.85, - 'focalpt': [6.631490, -329.778752, 284.720894], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Tylosaurus bernardi + + +def parms(d={}): + p = {} + path = 'TYLber/250k' + p['mandible'] = f'{path}/TYLber_jaw_250k.stl' + p['contact_pts'] = [[76.895927, 530.584045, 32.612164], + [-73.001038, 536.202087, 37.195301]] + p['axis_pt1'] = [-249.095215, -528.940735, -12.830746] + p['axis_pt2'] = [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' + }, + { + 'file': f'{path}/M_AE_L2.stl', + 'force': 3737.50, + 'focalpt': [-188.187696, -369.873120, 275.914061], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R1.stl', + 'force': 3759.12, + 'focalpt': [239.457293, -372.692345, 270.350792], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R2.stl', + 'force': 3759.12, + 'focalpt': [239.457293, -372.692345, 270.350792], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_L.stl', + 'force': 2365.71, + 'focalpt': [-227.291904, -372.899411, 271.130366], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 2365.96, + 'focalpt': [199.701736, -364.593452, 274.337915], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 1153.30, + 'focalpt': [-239.910482, -497.053749, 161.755878], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 1130.47, + 'focalpt': [251.670671, -493.669607, 163.115757], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 11453.79, + 'focalpt': [-86.780031, -452.169701, 286.960360], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 11344.36, + 'focalpt': [65.724326, -455.237748, 285.824986], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_L.stl', + 'force': 1925.31, + 'focalpt': [-28.340770, -326.256797, 288.260067], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_R.stl', + 'force': 1955.85, + 'focalpt': [6.631490, -329.778752, 284.720894], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/TYLber_250k_7_2_bad.py b/models/TYLber/TYLber_250k_7_2_bad.py similarity index 97% rename from models/TYLber_250k_7_2_bad.py rename to models/TYLber/TYLber_250k_7_2_bad.py index d3b06b1..5a0257a 100644 --- a/models/TYLber_250k_7_2_bad.py +++ b/models/TYLber/TYLber_250k_7_2_bad.py @@ -1,7 +1,6 @@ #! /usr/bin/env python3 # -*- coding: utf-8 -*- -# Dolicorhynchops osborni FHSM VP404 -# 10k faces on the mandible surface +# Tylosaurus bernardi def parms(d={}): diff --git a/models/TYLber_500k_15_1.py b/models/TYLber/TYLber_500k_15_1.py similarity index 94% rename from models/TYLber_500k_15_1.py rename to models/TYLber/TYLber_500k_15_1.py index ac84d08..415a5d6 100644 --- a/models/TYLber_500k_15_1.py +++ b/models/TYLber/TYLber_500k_15_1.py @@ -1,106 +1,105 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni FHSM VP404 -# 10k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'TYLber/500k' - p['mandible'] = f'{path}/TYLber_jaw_500k.stl' - p['contact_pts'] = [[77.305153, 544.409424, 30.836790], - [-73.187263, 536.783264, 36.419006]] - p['axis_pt1'] = [-228.034103, -519.674866, 16.911722] - p['axis_pt2'] = [256.089417, -529.891724, -10.076393] - p['muscles'] = [ - { - 'file': f'{path}/M_AE_L1.stl', - 'force': 3737.50, - 'focalpt': [226.948122, -404.676272, 293.141858], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_L2.stl', - 'force': 3737.50, - 'focalpt': [226.948122, -404.676272, 293.141858], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R1.stl', - 'force': 3759.12, - 'focalpt': [239.875595, -405.973439, 293.128592], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R2.stl', - 'force': 3759.12, - 'focalpt': [239.875595, -405.973439, 293.128592], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_L.stl', - 'force': 2365.71, - 'focalpt': [-187.848876, -398.299265, 300.243918], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 2365.96, - 'focalpt': [199.782001, -398.895180, 297.404123], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 1153.30, - 'focalpt': [-238.123377, -515.250915, 168.606158], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 1130.47, - 'focalpt': [250.214506, -511.788168, 169.664531], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 11453.79, - 'focalpt': [-83.203736, -487.096873, 299.673390], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 11344.36, - 'focalpt': [83.203736, -487.096873, 299.673390], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_L.stl', - 'force': 1925.31, - 'focalpt': [-28.686907, -361.550465, 316.886714], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_R.stl', - 'force': 1955.85, - 'focalpt': [5.246492, -370.196322, 312.427152], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Tylosaurus bernardi + + +def parms(d={}): + p = {} + path = 'TYLber/500k' + p['mandible'] = f'{path}/TYLber_jaw_500k.stl' + p['contact_pts'] = [[77.305153, 544.409424, 30.836790], + [-73.187263, 536.783264, 36.419006]] + p['axis_pt1'] = [-228.034103, -519.674866, 16.911722] + p['axis_pt2'] = [256.089417, -529.891724, -10.076393] + p['muscles'] = [ + { + 'file': f'{path}/M_AE_L1.stl', + 'force': 3737.50, + 'focalpt': [226.948122, -404.676272, 293.141858], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_L2.stl', + 'force': 3737.50, + 'focalpt': [226.948122, -404.676272, 293.141858], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R1.stl', + 'force': 3759.12, + 'focalpt': [239.875595, -405.973439, 293.128592], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R2.stl', + 'force': 3759.12, + 'focalpt': [239.875595, -405.973439, 293.128592], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_L.stl', + 'force': 2365.71, + 'focalpt': [-187.848876, -398.299265, 300.243918], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 2365.96, + 'focalpt': [199.782001, -398.895180, 297.404123], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 1153.30, + 'focalpt': [-238.123377, -515.250915, 168.606158], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 1130.47, + 'focalpt': [250.214506, -511.788168, 169.664531], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 11453.79, + 'focalpt': [-83.203736, -487.096873, 299.673390], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 11344.36, + 'focalpt': [83.203736, -487.096873, 299.673390], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_L.stl', + 'force': 1925.31, + 'focalpt': [-28.686907, -361.550465, 316.886714], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_R.stl', + 'force': 1955.85, + 'focalpt': [5.246492, -370.196322, 312.427152], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/TYLber_500k_15_2.py b/models/TYLber/TYLber_500k_15_2.py similarity index 94% rename from models/TYLber_500k_15_2.py rename to models/TYLber/TYLber_500k_15_2.py index 62149af..b69d369 100644 --- a/models/TYLber_500k_15_2.py +++ b/models/TYLber/TYLber_500k_15_2.py @@ -1,106 +1,105 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni FHSM VP404 -# 10k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'TYLber/500k' - p['mandible'] = f'{path}/TYLber_jaw_500k.stl' - p['contact_pts'] = [[153.858017, 155.593140, 17.697323], - [-150.512238, 145.369690, 17.743414]] - p['axis_pt1'] = [-228.034103, -519.674866, 16.911722] - p['axis_pt2'] = [256.089417, -529.891724, -10.076393] - p['muscles'] = [ - { - 'file': f'{path}/M_AE_L1.stl', - 'force': 3737.50, - 'focalpt': [226.948122, -404.676272, 293.141858], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_L2.stl', - 'force': 3737.50, - 'focalpt': [226.948122, -404.676272, 293.141858], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R1.stl', - 'force': 3759.12, - 'focalpt': [239.875595, -405.973439, 293.128592], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R2.stl', - 'force': 3759.12, - 'focalpt': [239.875595, -405.973439, 293.128592], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_L.stl', - 'force': 2365.71, - 'focalpt': [-187.848876, -398.299265, 300.243918], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 2365.96, - 'focalpt': [199.782001, -398.895180, 297.404123], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 1153.30, - 'focalpt': [-238.123377, -515.250915, 168.606158], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 1130.47, - 'focalpt': [250.214506, -511.788168, 169.664531], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 11453.79, - 'focalpt': [-83.203736, -487.096873, 299.673390], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 11344.36, - 'focalpt': [83.203736, -487.096873, 299.673390], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_L.stl', - 'force': 1925.31, - 'focalpt': [-28.686907, -361.550465, 316.886714], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_R.stl', - 'force': 1955.85, - 'focalpt': [5.246492, -370.196322, 312.427152], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Tylosaurus bernardi + + +def parms(d={}): + p = {} + path = 'TYLber/500k' + p['mandible'] = f'{path}/TYLber_jaw_500k.stl' + p['contact_pts'] = [[153.858017, 155.593140, 17.697323], + [-150.512238, 145.369690, 17.743414]] + p['axis_pt1'] = [-228.034103, -519.674866, 16.911722] + p['axis_pt2'] = [256.089417, -529.891724, -10.076393] + p['muscles'] = [ + { + 'file': f'{path}/M_AE_L1.stl', + 'force': 3737.50, + 'focalpt': [226.948122, -404.676272, 293.141858], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_L2.stl', + 'force': 3737.50, + 'focalpt': [226.948122, -404.676272, 293.141858], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R1.stl', + 'force': 3759.12, + 'focalpt': [239.875595, -405.973439, 293.128592], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R2.stl', + 'force': 3759.12, + 'focalpt': [239.875595, -405.973439, 293.128592], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_L.stl', + 'force': 2365.71, + 'focalpt': [-187.848876, -398.299265, 300.243918], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 2365.96, + 'focalpt': [199.782001, -398.895180, 297.404123], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 1153.30, + 'focalpt': [-238.123377, -515.250915, 168.606158], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 1130.47, + 'focalpt': [250.214506, -511.788168, 169.664531], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 11453.79, + 'focalpt': [-83.203736, -487.096873, 299.673390], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 11344.36, + 'focalpt': [83.203736, -487.096873, 299.673390], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_L.stl', + 'force': 1925.31, + 'focalpt': [-28.686907, -361.550465, 316.886714], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_R.stl', + 'force': 1955.85, + 'focalpt': [5.246492, -370.196322, 312.427152], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/TYLber_500k_7_1.py b/models/TYLber/TYLber_500k_7_1.py similarity index 94% rename from models/TYLber_500k_7_1.py rename to models/TYLber/TYLber_500k_7_1.py index b4949d0..38d7836 100644 --- a/models/TYLber_500k_7_1.py +++ b/models/TYLber/TYLber_500k_7_1.py @@ -1,106 +1,105 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni FHSM VP404 -# 10k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'TYLber/500k' - p['mandible'] = f'{path}/TYLber_jaw_500k.stl' - p['contact_pts'] = [[77.305153, 544.409424, 30.836790], - [-73.187263, 536.783264, 36.419006]] - p['axis_pt1'] = [-228.034103, -519.674866, 16.911722] - p['axis_pt2'] = [256.089417, -529.891724, -10.076393] - p['muscles'] = [ - { - 'file': f'{path}/M_AE_L1.stl', - 'force': 3737.50, - 'focalpt': [-188.187696, -369.873120, 275.914061], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_L2.stl', - 'force': 3737.50, - 'focalpt': [-188.187696, -369.873120, 275.914061], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R1.stl', - 'force': 3759.12, - 'focalpt': [239.457293, -372.692345, 270.350792], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R2.stl', - 'force': 3759.12, - 'focalpt': [239.457293, -372.692345, 270.350792], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_L.stl', - 'force': 2365.71, - 'focalpt': [-227.291904, -372.899411, 271.130366], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 2365.96, - 'focalpt': [199.701736, -364.593452, 274.337915], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 1153.30, - 'focalpt': [-239.910482, -497.053749, 161.755878], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 1130.47, - 'focalpt': [251.670671, -493.669607, 163.115757], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 11453.79, - 'focalpt': [-86.780031, -452.169701, 286.960360], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 11344.36, - 'focalpt': [65.724326, -455.237748, 285.824986], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_L.stl', - 'force': 1925.31, - 'focalpt': [-28.340770, -326.256797, 288.260067], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_R.stl', - 'force': 1955.85, - 'focalpt': [6.631490, -329.778752, 284.720894], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Tylosaurus bernardi + + +def parms(d={}): + p = {} + path = 'TYLber/500k' + p['mandible'] = f'{path}/TYLber_jaw_500k.stl' + p['contact_pts'] = [[77.305153, 544.409424, 30.836790], + [-73.187263, 536.783264, 36.419006]] + p['axis_pt1'] = [-228.034103, -519.674866, 16.911722] + p['axis_pt2'] = [256.089417, -529.891724, -10.076393] + p['muscles'] = [ + { + 'file': f'{path}/M_AE_L1.stl', + 'force': 3737.50, + 'focalpt': [-188.187696, -369.873120, 275.914061], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_L2.stl', + 'force': 3737.50, + 'focalpt': [-188.187696, -369.873120, 275.914061], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R1.stl', + 'force': 3759.12, + 'focalpt': [239.457293, -372.692345, 270.350792], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R2.stl', + 'force': 3759.12, + 'focalpt': [239.457293, -372.692345, 270.350792], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_L.stl', + 'force': 2365.71, + 'focalpt': [-227.291904, -372.899411, 271.130366], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 2365.96, + 'focalpt': [199.701736, -364.593452, 274.337915], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 1153.30, + 'focalpt': [-239.910482, -497.053749, 161.755878], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 1130.47, + 'focalpt': [251.670671, -493.669607, 163.115757], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 11453.79, + 'focalpt': [-86.780031, -452.169701, 286.960360], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 11344.36, + 'focalpt': [65.724326, -455.237748, 285.824986], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_L.stl', + 'force': 1925.31, + 'focalpt': [-28.340770, -326.256797, 288.260067], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_R.stl', + 'force': 1955.85, + 'focalpt': [6.631490, -329.778752, 284.720894], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/TYLber_500k_7_2.py b/models/TYLber/TYLber_500k_7_2.py similarity index 94% rename from models/TYLber_500k_7_2.py rename to models/TYLber/TYLber_500k_7_2.py index 9b4b21a..0fdf181 100644 --- a/models/TYLber_500k_7_2.py +++ b/models/TYLber/TYLber_500k_7_2.py @@ -1,107 +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/500k' - p['mandible'] = f'{path}/TYLber_jaw_500k.stl' - p['contact_pts'] = [[153.858017, 155.593140, 17.697323], - [-150.512238, 145.369690, 17.743414]] - p['axis_pt1'] = [-228.034103, -519.674866, 16.911722] - p['axis_pt2'] = [256.089417, -529.891724, -10.076393] - p['muscles'] = [ - { - 'file': f'{path}/M_AE_L1.stl', - 'force': 3737.50, - 'focalpt': [-188.187696, -369.873120, 275.914061], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_L2.stl', - 'force': 3737.50, - 'focalpt': [-188.187696, -369.873120, 275.914061], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R1.stl', - 'force': 3759.12, - 'focalpt': [239.457293, -372.692345, 270.350792], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R2.stl', - 'force': 3759.12, - 'focalpt': [239.457293, -372.692345, 270.350792], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_L.stl', - 'force': 2365.71, - 'focalpt': [-227.291904, -372.899411, 271.130366], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 2365.96, - 'focalpt': [199.701736, -364.593452, 274.337915], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 1153.30, - 'focalpt': [-239.910482, -497.053749, 161.755878], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 1130.47, - 'focalpt': [251.670671, -493.669607, 163.115757], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 11453.79, - 'focalpt': [-86.780031, -452.169701, 286.960360], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 11344.36, - 'focalpt': [65.724326, -455.237748, 285.824986], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_L.stl', - 'force': 1925.31, - 'focalpt': [-28.340770, -326.256797, 288.260067], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_R.stl', - 'force': 1955.85, - 'focalpt': [6.631490, -329.778752, 284.720894], - 'method': 'T+N' - } - ] - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Tylosaurus bernardi + + +def parms(d={}): + p = {} + path = 'TYLber/500k' + p['mandible'] = f'{path}/TYLber_jaw_500k.stl' + p['contact_pts'] = [[153.858017, 155.593140, 17.697323], + [-150.512238, 145.369690, 17.743414]] + p['axis_pt1'] = [-228.034103, -519.674866, 16.911722] + p['axis_pt2'] = [256.089417, -529.891724, -10.076393] + p['muscles'] = [ + { + 'file': f'{path}/M_AE_L1.stl', + 'force': 3737.50, + 'focalpt': [-188.187696, -369.873120, 275.914061], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_L2.stl', + 'force': 3737.50, + 'focalpt': [-188.187696, -369.873120, 275.914061], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R1.stl', + 'force': 3759.12, + 'focalpt': [239.457293, -372.692345, 270.350792], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R2.stl', + 'force': 3759.12, + 'focalpt': [239.457293, -372.692345, 270.350792], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_L.stl', + 'force': 2365.71, + 'focalpt': [-227.291904, -372.899411, 271.130366], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 2365.96, + 'focalpt': [199.701736, -364.593452, 274.337915], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 1153.30, + 'focalpt': [-239.910482, -497.053749, 161.755878], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 1130.47, + 'focalpt': [251.670671, -493.669607, 163.115757], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 11453.79, + 'focalpt': [-86.780031, -452.169701, 286.960360], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 11344.36, + 'focalpt': [65.724326, -455.237748, 285.824986], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_L.stl', + 'force': 1925.31, + 'focalpt': [-28.340770, -326.256797, 288.260067], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_R.stl', + 'force': 1955.85, + 'focalpt': [6.631490, -329.778752, 284.720894], + 'method': 'T+N' + } + ] + + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/TYLber_750k_15_1.py b/models/TYLber/TYLber_750k_15_1.py similarity index 94% rename from models/TYLber_750k_15_1.py rename to models/TYLber/TYLber_750k_15_1.py index 9a857f4..9414091 100644 --- a/models/TYLber_750k_15_1.py +++ b/models/TYLber/TYLber_750k_15_1.py @@ -1,106 +1,105 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni FHSM VP404 -# 10k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'TYLber/750k' - p['mandible'] = f'{path}/TYLber_jaw_750k.stl' - p['contact_pts'] = [[78.026253, 541.746887, 33.878143], - [-73.820549, 540.698853, 33.361473]] - p['axis_pt1'] = [-212.512512, -567.425232, -59.523800] - p['axis_pt2'] = [257.484497, -534.512878, -6.094533] - p['muscles'] = [ - { - 'file': f'{path}/M_AE_L1.stl', - 'force': 3737.50, - 'focalpt': [-226.948122, -404.676272, 293.141858], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_L2.stl', - 'force': 3737.50, - 'focalpt': [-226.948122, -404.676272, 293.141858], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R1.stl', - 'force': 3759.12, - 'focalpt': [239.875595, -405.973439, 293.128592], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R2.stl', - 'force': 3759.12, - 'focalpt': [239.875595, -405.973439, 293.128592], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_L.stl', - 'force': 2365.71, - 'focalpt': [-187.848876, -398.299265, 300.243918], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 2365.96, - 'focalpt': [199.782001, -398.895180, 297.404123], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 1153.30, - 'focalpt': [-238.123377, -515.250915, 168.606158], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 1130.47, - 'focalpt': [250.214506, -511.788168, 169.664531], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 11453.79, - 'focalpt': [-83.203736, -487.096873, 299.673390], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 11344.36, - 'focalpt': [83.203736, -487.096873, 299.673390], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_L.stl', - 'force': 1925.31, - 'focalpt': [-28.686907, -361.550465, 316.886714], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_R.stl', - 'force': 1955.85, - 'focalpt': [5.246492, -370.196322, 312.427152], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Tylosaurus bernardi + + +def parms(d={}): + p = {} + path = 'TYLber/750k' + p['mandible'] = f'{path}/TYLber_jaw_750k.stl' + p['contact_pts'] = [[78.026253, 541.746887, 33.878143], + [-73.820549, 540.698853, 33.361473]] + p['axis_pt1'] = [-212.512512, -567.425232, -59.523800] + p['axis_pt2'] = [257.484497, -534.512878, -6.094533] + p['muscles'] = [ + { + 'file': f'{path}/M_AE_L1.stl', + 'force': 3737.50, + 'focalpt': [-226.948122, -404.676272, 293.141858], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_L2.stl', + 'force': 3737.50, + 'focalpt': [-226.948122, -404.676272, 293.141858], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R1.stl', + 'force': 3759.12, + 'focalpt': [239.875595, -405.973439, 293.128592], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R2.stl', + 'force': 3759.12, + 'focalpt': [239.875595, -405.973439, 293.128592], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_L.stl', + 'force': 2365.71, + 'focalpt': [-187.848876, -398.299265, 300.243918], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 2365.96, + 'focalpt': [199.782001, -398.895180, 297.404123], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 1153.30, + 'focalpt': [-238.123377, -515.250915, 168.606158], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 1130.47, + 'focalpt': [250.214506, -511.788168, 169.664531], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 11453.79, + 'focalpt': [-83.203736, -487.096873, 299.673390], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 11344.36, + 'focalpt': [83.203736, -487.096873, 299.673390], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_L.stl', + 'force': 1925.31, + 'focalpt': [-28.686907, -361.550465, 316.886714], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_R.stl', + 'force': 1955.85, + 'focalpt': [5.246492, -370.196322, 312.427152], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/TYLber_750k_15_2.py b/models/TYLber/TYLber_750k_15_2.py similarity index 94% rename from models/TYLber_750k_15_2.py rename to models/TYLber/TYLber_750k_15_2.py index 9fcc89d..6b47b4c 100644 --- a/models/TYLber_750k_15_2.py +++ b/models/TYLber/TYLber_750k_15_2.py @@ -1,106 +1,105 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni FHSM VP404 -# 10k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'TYLber/750k' - p['mandible'] = f'{path}/TYLber_jaw_750k.stl' - p['contact_pts'] = [[196.424347, 90.526627, -41.083321], - [-159.784760, 98.047890, 30.349947]] - p['axis_pt1'] = [-212.512512, -567.425232, -59.523800] - p['axis_pt2'] = [257.484497, -534.512878, -6.094533] - p['muscles'] = [ - { - 'file': f'{path}/M_AE_L1.stl', - 'force': 3737.50, - 'focalpt': [-226.948122, -404.676272, 293.141858], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_L2.stl', - 'force': 3737.50, - 'focalpt': [-226.948122, -404.676272, 293.141858], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R1.stl', - 'force': 3759.12, - 'focalpt': [239.875595, -405.973439, 293.128592], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R2.stl', - 'force': 3759.12, - 'focalpt': [239.875595, -405.973439, 293.128592], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_L.stl', - 'force': 2365.71, - 'focalpt': [-187.848876, -398.299265, 300.243918], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 2365.96, - 'focalpt': [199.782001, -398.895180, 297.404123], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 1153.30, - 'focalpt': [-238.123377, -515.250915, 168.606158], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 1130.47, - 'focalpt': [250.214506, -511.788168, 169.664531], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 11453.79, - 'focalpt': [-83.203736, -487.096873, 299.673390], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 11344.36, - 'focalpt': [83.203736, -487.096873, 299.673390], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_L.stl', - 'force': 1925.31, - 'focalpt': [-28.686907, -361.550465, 316.886714], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_R.stl', - 'force': 1955.85, - 'focalpt': [5.246492, -370.196322, 312.427152], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Tylosaurus bernardi + + +def parms(d={}): + p = {} + path = 'TYLber/750k' + p['mandible'] = f'{path}/TYLber_jaw_750k.stl' + p['contact_pts'] = [[196.424347, 90.526627, -41.083321], + [-159.784760, 98.047890, 30.349947]] + p['axis_pt1'] = [-212.512512, -567.425232, -59.523800] + p['axis_pt2'] = [257.484497, -534.512878, -6.094533] + p['muscles'] = [ + { + 'file': f'{path}/M_AE_L1.stl', + 'force': 3737.50, + 'focalpt': [-226.948122, -404.676272, 293.141858], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_L2.stl', + 'force': 3737.50, + 'focalpt': [-226.948122, -404.676272, 293.141858], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R1.stl', + 'force': 3759.12, + 'focalpt': [239.875595, -405.973439, 293.128592], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R2.stl', + 'force': 3759.12, + 'focalpt': [239.875595, -405.973439, 293.128592], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_L.stl', + 'force': 2365.71, + 'focalpt': [-187.848876, -398.299265, 300.243918], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 2365.96, + 'focalpt': [199.782001, -398.895180, 297.404123], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 1153.30, + 'focalpt': [-238.123377, -515.250915, 168.606158], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 1130.47, + 'focalpt': [250.214506, -511.788168, 169.664531], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 11453.79, + 'focalpt': [-83.203736, -487.096873, 299.673390], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 11344.36, + 'focalpt': [83.203736, -487.096873, 299.673390], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_L.stl', + 'force': 1925.31, + 'focalpt': [-28.686907, -361.550465, 316.886714], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_R.stl', + 'force': 1955.85, + 'focalpt': [5.246492, -370.196322, 312.427152], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/TYLber_750k_7_1.py b/models/TYLber/TYLber_750k_7_1.py similarity index 94% rename from models/TYLber_750k_7_1.py rename to models/TYLber/TYLber_750k_7_1.py index 3afbe8a..d2f162e 100644 --- a/models/TYLber_750k_7_1.py +++ b/models/TYLber/TYLber_750k_7_1.py @@ -1,106 +1,105 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni FHSM VP404 -# 10k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'TYLber/750k' - p['mandible'] = f'{path}/TYLber_jaw_750k.stl' - p['contact_pts'] = [[78.026253, 541.746887, 33.878143], - [-73.820549, 540.698853, 33.361473]] - p['axis_pt1'] = [-212.512512, -567.425232, -59.523800] - p['axis_pt2'] = [257.484497, -534.512878, -6.094533] - p['muscles'] = [ - { - 'file': f'{path}/M_AE_L1.stl', - 'force': 3737.50, - 'focalpt': [-188.187696, -369.873120, 275.914061], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_L2.stl', - 'force': 3737.50, - 'focalpt': [-188.187696, -369.873120, 275.914061], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R1.stl', - 'force': 3759.12, - 'focalpt': [239.457293, -372.692345, 270.350792], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R2.stl', - 'force': 3759.12, - 'focalpt': [239.457293, -372.692345, 270.350792], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_L.stl', - 'force': 2365.71, - 'focalpt': [-227.291904, -372.899411, 271.130366], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 2365.96, - 'focalpt': [199.701736, -364.593452, 274.337915], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 1153.30, - 'focalpt': [-239.910482, -497.053749, 161.755878], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 1130.47, - 'focalpt': [251.670671, -493.669607, 163.115757], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 11453.79, - 'focalpt': [-86.780031, -452.169701, 286.960360], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 11344.36, - 'focalpt': [65.724326, -455.237748, 285.824986], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_L.stl', - 'force': 1925.31, - 'focalpt': [-28.340770, -326.256797, 288.260067], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_R.stl', - 'force': 1955.85, - 'focalpt': [6.631490, -329.778752, 284.720894], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Tylosaurus bernardi + + +def parms(d={}): + p = {} + path = 'TYLber/750k' + p['mandible'] = f'{path}/TYLber_jaw_750k.stl' + p['contact_pts'] = [[78.026253, 541.746887, 33.878143], + [-73.820549, 540.698853, 33.361473]] + p['axis_pt1'] = [-212.512512, -567.425232, -59.523800] + p['axis_pt2'] = [257.484497, -534.512878, -6.094533] + p['muscles'] = [ + { + 'file': f'{path}/M_AE_L1.stl', + 'force': 3737.50, + 'focalpt': [-188.187696, -369.873120, 275.914061], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_L2.stl', + 'force': 3737.50, + 'focalpt': [-188.187696, -369.873120, 275.914061], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R1.stl', + 'force': 3759.12, + 'focalpt': [239.457293, -372.692345, 270.350792], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R2.stl', + 'force': 3759.12, + 'focalpt': [239.457293, -372.692345, 270.350792], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_L.stl', + 'force': 2365.71, + 'focalpt': [-227.291904, -372.899411, 271.130366], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 2365.96, + 'focalpt': [199.701736, -364.593452, 274.337915], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 1153.30, + 'focalpt': [-239.910482, -497.053749, 161.755878], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 1130.47, + 'focalpt': [251.670671, -493.669607, 163.115757], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 11453.79, + 'focalpt': [-86.780031, -452.169701, 286.960360], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 11344.36, + 'focalpt': [65.724326, -455.237748, 285.824986], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_L.stl', + 'force': 1925.31, + 'focalpt': [-28.340770, -326.256797, 288.260067], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_R.stl', + 'force': 1955.85, + 'focalpt': [6.631490, -329.778752, 284.720894], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/TYLber_750k_7_2.py b/models/TYLber/TYLber_750k_7_2.py similarity index 94% rename from models/TYLber_750k_7_2.py rename to models/TYLber/TYLber_750k_7_2.py index 92a9486..bcee311 100644 --- a/models/TYLber_750k_7_2.py +++ b/models/TYLber/TYLber_750k_7_2.py @@ -1,106 +1,105 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni FHSM VP404 -# 10k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'TYLber/750k' - p['mandible'] = f'{path}/TYLber_jaw_750k.stl' - p['contact_pts'] = [[196.424347, 90.526627, -41.083321], - [-159.784760, 98.047890, 30.349947]] - p['axis_pt1'] = [-212.512512, -567.425232, -59.523800] - p['axis_pt2'] = [257.484497, -534.512878, -6.094533] - p['muscles'] = [ - { - 'file': f'{path}/M_AE_L1.stl', - 'force': 3737.50, - 'focalpt': [-188.187696, -369.873120, 275.914061], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_L2.stl', - 'force': 3737.50, - 'focalpt': [-188.187696, -369.873120, 275.914061], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R1.stl', - 'force': 3759.12, - 'focalpt': [239.457293, -372.692345, 270.350792], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R2.stl', - 'force': 3759.12, - 'focalpt': [239.457293, -372.692345, 270.350792], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_L.stl', - 'force': 2365.71, - 'focalpt': [-227.291904, -372.899411, 271.130366], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 2365.96, - 'focalpt': [199.701736, -364.593452, 274.337915], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 1153.30, - 'focalpt': [-239.910482, -497.053749, 161.755878], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 1130.47, - 'focalpt': [251.670671, -493.669607, 163.115757], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 11453.79, - 'focalpt': [-86.780031, -452.169701, 286.960360], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 11344.36, - 'focalpt': [65.724326, -455.237748, 285.824986], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_L.stl', - 'force': 1925.31, - 'focalpt': [-28.340770, -326.256797, 288.260067], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_R.stl', - 'force': 1955.85, - 'focalpt': [6.631490, -329.778752, 284.720894], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# Tylosaurus bernardi + + +def parms(d={}): + p = {} + path = 'TYLber/750k' + p['mandible'] = f'{path}/TYLber_jaw_750k.stl' + p['contact_pts'] = [[196.424347, 90.526627, -41.083321], + [-159.784760, 98.047890, 30.349947]] + p['axis_pt1'] = [-212.512512, -567.425232, -59.523800] + p['axis_pt2'] = [257.484497, -534.512878, -6.094533] + p['muscles'] = [ + { + 'file': f'{path}/M_AE_L1.stl', + 'force': 3737.50, + 'focalpt': [-188.187696, -369.873120, 275.914061], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_L2.stl', + 'force': 3737.50, + 'focalpt': [-188.187696, -369.873120, 275.914061], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R1.stl', + 'force': 3759.12, + 'focalpt': [239.457293, -372.692345, 270.350792], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R2.stl', + 'force': 3759.12, + 'focalpt': [239.457293, -372.692345, 270.350792], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_L.stl', + 'force': 2365.71, + 'focalpt': [-227.291904, -372.899411, 271.130366], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 2365.96, + 'focalpt': [199.701736, -364.593452, 274.337915], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 1153.30, + 'focalpt': [-239.910482, -497.053749, 161.755878], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 1130.47, + 'focalpt': [251.670671, -493.669607, 163.115757], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 11453.79, + 'focalpt': [-86.780031, -452.169701, 286.960360], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 11344.36, + 'focalpt': [65.724326, -455.237748, 285.824986], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_L.stl', + 'force': 1925.31, + 'focalpt': [-28.340770, -326.256797, 288.260067], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_R.stl', + 'force': 1955.85, + 'focalpt': [6.631490, -329.778752, 284.720894], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/TYLber/__init__.py b/models/TYLber/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/models/TYLnep_150k_15_1.py b/models/TYLnep/TYLnep_150k_15_1.py similarity index 94% rename from models/TYLnep_150k_15_1.py rename to models/TYLnep/TYLnep_150k_15_1.py index a601e27..5441cfc 100644 --- a/models/TYLnep_150k_15_1.py +++ b/models/TYLnep/TYLnep_150k_15_1.py @@ -1,106 +1,105 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni FHSM VP404 -# 10k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'TYLnep/150k' - p['mandible'] = f'{path}/TYLnep_jaw_150k.stl' - p['contact_pts'] = [[-411.039917, 227.579102, 43.466621], - [-426.836792, 165.685944, 36.533264]] - p['axis_pt1'] = [380.324341, 44.402424, 89.259888] - p['axis_pt2'] = [394.083679, 396.327271, 59.939686] - p['muscles'] = [ - { - 'file': f'{path}/M_AE_L1.stl', - 'force': 2237.69, - 'focalpt': [308.473332, 28.163213, 250.951392], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_L2.stl', - 'force': 2237.69, - 'focalpt': [308.473332, 28.163213, 250.951392], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R1.stl', - 'force': 2232.01, - 'focalpt': [296.283500, 369.886693, 255.176087], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R2.stl', - 'force': 2232.01, - 'focalpt': [296.283500, 369.886693, 255.176087], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_L.stl', - 'force': 1246.44, - 'focalpt': [300.906261, 55.055205, 252.556226], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 1275.85, - 'focalpt': [286.660352, 341.107336, 255.394302], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 793.90, - 'focalpt': [399.491627, 41.706145, 179.360685], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 787.65, - 'focalpt': [390.182398, 366.797205, 182.090360], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 4664.98, - 'focalpt': [336.901305, 168.784247, 239.730708], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 4618.76, - 'focalpt': [333.341888, 239.859828, 243.445232], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_L.stl', - 'force': 379.86, - 'focalpt': [267.558659, 184.636991, 259.580424], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_R.stl', - 'force': 361.56, - 'focalpt': [265.708207, 231.528258, 258.402238], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# TYLnep_FHSM2209 + + +def parms(d={}): + p = {} + path = 'TYLnep/150k' + p['mandible'] = f'{path}/TYLnep_jaw_150k.stl' + p['contact_pts'] = [[-411.039917, 227.579102, 43.466621], + [-426.836792, 165.685944, 36.533264]] + p['axis_pt1'] = [380.324341, 44.402424, 89.259888] + p['axis_pt2'] = [394.083679, 396.327271, 59.939686] + p['muscles'] = [ + { + 'file': f'{path}/M_AE_L1.stl', + 'force': 2237.69, + 'focalpt': [308.473332, 28.163213, 250.951392], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_L2.stl', + 'force': 2237.69, + 'focalpt': [308.473332, 28.163213, 250.951392], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R1.stl', + 'force': 2232.01, + 'focalpt': [296.283500, 369.886693, 255.176087], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R2.stl', + 'force': 2232.01, + 'focalpt': [296.283500, 369.886693, 255.176087], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_L.stl', + 'force': 1246.44, + 'focalpt': [300.906261, 55.055205, 252.556226], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 1275.85, + 'focalpt': [286.660352, 341.107336, 255.394302], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 793.90, + 'focalpt': [399.491627, 41.706145, 179.360685], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 787.65, + 'focalpt': [390.182398, 366.797205, 182.090360], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 4664.98, + 'focalpt': [336.901305, 168.784247, 239.730708], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 4618.76, + 'focalpt': [333.341888, 239.859828, 243.445232], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_L.stl', + 'force': 379.86, + 'focalpt': [267.558659, 184.636991, 259.580424], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_R.stl', + 'force': 361.56, + 'focalpt': [265.708207, 231.528258, 258.402238], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/TYLnep_150k_15_2.py b/models/TYLnep/TYLnep_150k_15_2.py similarity index 94% rename from models/TYLnep_150k_15_2.py rename to models/TYLnep/TYLnep_150k_15_2.py index 19979cc..8caf1cd 100644 --- a/models/TYLnep_150k_15_2.py +++ b/models/TYLnep/TYLnep_150k_15_2.py @@ -1,106 +1,105 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni FHSM VP404 -# 10k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'TYLnep/150k' - p['mandible'] = f'{path}/TYLnep_jaw_150k.stl' - p['contact_pts'] = [[-87.998215, 318.365540, 63.300953], - [-99.972519, 80.537491, 43.511547]] - p['axis_pt1'] = [380.324341, 44.402424, 89.259888] - p['axis_pt2'] = [394.083679, 396.327271, 59.939686] - p['muscles'] = [ - { - 'file': f'{path}/M_AE_L1.stl', - 'force': 2237.69, - 'focalpt': [308.473332, 28.163213, 250.951392], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_L2.stl', - 'force': 2237.69, - 'focalpt': [308.473332, 28.163213, 250.951392], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R1.stl', - 'force': 2232.01, - 'focalpt': [296.283500, 369.886693, 255.176087], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R2.stl', - 'force': 2232.01, - 'focalpt': [296.283500, 369.886693, 255.176087], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_L.stl', - 'force': 1246.44, - 'focalpt': [300.906261, 55.055205, 252.556226], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 1275.85, - 'focalpt': [286.660352, 341.107336, 255.394302], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 793.90, - 'focalpt': [399.491627, 41.706145, 179.360685], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 787.65, - 'focalpt': [390.182398, 366.797205, 182.090360], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 4664.98, - 'focalpt': [336.901305, 168.784247, 239.730708], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 4618.76, - 'focalpt': [333.341888, 239.859828, 243.445232], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_L.stl', - 'force': 379.86, - 'focalpt': [267.558659, 184.636991, 259.580424], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_R.stl', - 'force': 361.56, - 'focalpt': [265.708207, 231.528258, 258.402238], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# TYLnep_FHSM2209 + + +def parms(d={}): + p = {} + path = 'TYLnep/150k' + p['mandible'] = f'{path}/TYLnep_jaw_150k.stl' + p['contact_pts'] = [[-87.998215, 318.365540, 63.300953], + [-99.972519, 80.537491, 43.511547]] + p['axis_pt1'] = [380.324341, 44.402424, 89.259888] + p['axis_pt2'] = [394.083679, 396.327271, 59.939686] + p['muscles'] = [ + { + 'file': f'{path}/M_AE_L1.stl', + 'force': 2237.69, + 'focalpt': [308.473332, 28.163213, 250.951392], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_L2.stl', + 'force': 2237.69, + 'focalpt': [308.473332, 28.163213, 250.951392], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R1.stl', + 'force': 2232.01, + 'focalpt': [296.283500, 369.886693, 255.176087], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R2.stl', + 'force': 2232.01, + 'focalpt': [296.283500, 369.886693, 255.176087], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_L.stl', + 'force': 1246.44, + 'focalpt': [300.906261, 55.055205, 252.556226], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 1275.85, + 'focalpt': [286.660352, 341.107336, 255.394302], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 793.90, + 'focalpt': [399.491627, 41.706145, 179.360685], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 787.65, + 'focalpt': [390.182398, 366.797205, 182.090360], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 4664.98, + 'focalpt': [336.901305, 168.784247, 239.730708], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 4618.76, + 'focalpt': [333.341888, 239.859828, 243.445232], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_L.stl', + 'force': 379.86, + 'focalpt': [267.558659, 184.636991, 259.580424], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_R.stl', + 'force': 361.56, + 'focalpt': [265.708207, 231.528258, 258.402238], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/TYLnep_150k_7_1.py b/models/TYLnep/TYLnep_150k_7_1.py similarity index 94% rename from models/TYLnep_150k_7_1.py rename to models/TYLnep/TYLnep_150k_7_1.py index d4a4ccd..984bf27 100644 --- a/models/TYLnep_150k_7_1.py +++ b/models/TYLnep/TYLnep_150k_7_1.py @@ -1,106 +1,105 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni FHSM VP404 -# 10k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'TYLnep/150k' - p['mandible'] = f'{path}/TYLnep_jaw_150k.stl' - p['contact_pts'] = [[-411.039917, 227.579102, 43.466621], - [-426.836792, 165.685944, 36.533264]] - p['axis_pt1'] = [380.324341, 44.402424, 89.259888] - p['axis_pt2'] = [394.083679, 396.327271, 59.939686] - p['muscles'] = [ - { - 'file': f'{path}/M_AE_L1.stl', - 'force': 2237.69, - 'focalpt': [281.827445, 30.054466, 237.947288], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_L2.stl', - 'force': 2237.69, - 'focalpt': [281.827445, 30.054466, 237.947288], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R1.stl', - 'force': 2232.01, - 'focalpt': [275.116002, 370.517136, 239.044508], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R2.stl', - 'force': 2232.01, - 'focalpt': [275.116002, 370.517136, 239.044508], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_L.stl', - 'force': 1246.44, - 'focalpt': [285.999040, 53.491488, 237.027858], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 1275.85, - 'focalpt': [266.377651, 341.300888, 237.817207], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 793.90, - 'focalpt': [387.732266, 42.578942, 179.172349], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 787.65, - 'focalpt': [378.121152, 367.378098, 180.106618], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 4664.98, - 'focalpt': [317.950788, 168.140999, 229.313499], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 4618.76, - 'focalpt': [313.985620, 239.674491, 231.907710], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_L.stl', - 'force': 379.86, - 'focalpt': [247.643176, 185.035264, 239.596042], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_R.stl', - 'force': 361.56, - 'focalpt': [242.730626, 232.360324, 239.837334], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# TYLnep_FHSM2209 + + +def parms(d={}): + p = {} + path = 'TYLnep/150k' + p['mandible'] = f'{path}/TYLnep_jaw_150k.stl' + p['contact_pts'] = [[-411.039917, 227.579102, 43.466621], + [-426.836792, 165.685944, 36.533264]] + p['axis_pt1'] = [380.324341, 44.402424, 89.259888] + p['axis_pt2'] = [394.083679, 396.327271, 59.939686] + p['muscles'] = [ + { + 'file': f'{path}/M_AE_L1.stl', + 'force': 2237.69, + 'focalpt': [281.827445, 30.054466, 237.947288], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_L2.stl', + 'force': 2237.69, + 'focalpt': [281.827445, 30.054466, 237.947288], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R1.stl', + 'force': 2232.01, + 'focalpt': [275.116002, 370.517136, 239.044508], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R2.stl', + 'force': 2232.01, + 'focalpt': [275.116002, 370.517136, 239.044508], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_L.stl', + 'force': 1246.44, + 'focalpt': [285.999040, 53.491488, 237.027858], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 1275.85, + 'focalpt': [266.377651, 341.300888, 237.817207], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 793.90, + 'focalpt': [387.732266, 42.578942, 179.172349], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 787.65, + 'focalpt': [378.121152, 367.378098, 180.106618], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 4664.98, + 'focalpt': [317.950788, 168.140999, 229.313499], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 4618.76, + 'focalpt': [313.985620, 239.674491, 231.907710], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_L.stl', + 'force': 379.86, + 'focalpt': [247.643176, 185.035264, 239.596042], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_R.stl', + 'force': 361.56, + 'focalpt': [242.730626, 232.360324, 239.837334], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/TYLnep_150k_7_2.py b/models/TYLnep/TYLnep_150k_7_2.py similarity index 94% rename from models/TYLnep_150k_7_2.py rename to models/TYLnep/TYLnep_150k_7_2.py index 22f0796..41d3629 100644 --- a/models/TYLnep_150k_7_2.py +++ b/models/TYLnep/TYLnep_150k_7_2.py @@ -1,106 +1,105 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni FHSM VP404 -# 10k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'TYLnep/150k' - p['mandible'] = f'{path}/TYLnep_jaw_150k.stl' - p['contact_pts'] = [[-87.998215, 318.365540, 63.300953], - [-99.972519, 80.537491, 43.511547]] - p['axis_pt1'] = [380.324341, 44.402424, 89.259888] - p['axis_pt2'] = [394.083679, 396.327271, 59.939686] - p['muscles'] = [ - { - 'file': f'{path}/M_AE_L1.stl', - 'force': 2237.69, - 'focalpt': [281.827445, 30.054466, 237.947288], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_L2.stl', - 'force': 2237.69, - 'focalpt': [281.827445, 30.054466, 237.947288], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R1.stl', - 'force': 2232.01, - 'focalpt': [275.116002, 370.517136, 239.044508], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R2.stl', - 'force': 2232.01, - 'focalpt': [275.116002, 370.517136, 239.044508], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_L.stl', - 'force': 1246.44, - 'focalpt': [285.999040, 53.491488, 237.027858], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 1275.85, - 'focalpt': [266.377651, 341.300888, 237.817207], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 793.90, - 'focalpt': [387.732266, 42.578942, 179.172349], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 787.65, - 'focalpt': [378.121152, 367.378098, 180.106618], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 4664.98, - 'focalpt': [317.950788, 168.140999, 229.313499], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 4618.76, - 'focalpt': [313.985620, 239.674491, 231.907710], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_L.stl', - 'force': 379.86, - 'focalpt': [247.643176, 185.035264, 239.596042], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_R.stl', - 'force': 361.56, - 'focalpt': [242.730626, 232.360324, 239.837334], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# TYLnep_FHSM2209 + + +def parms(d={}): + p = {} + path = 'TYLnep/150k' + p['mandible'] = f'{path}/TYLnep_jaw_150k.stl' + p['contact_pts'] = [[-87.998215, 318.365540, 63.300953], + [-99.972519, 80.537491, 43.511547]] + p['axis_pt1'] = [380.324341, 44.402424, 89.259888] + p['axis_pt2'] = [394.083679, 396.327271, 59.939686] + p['muscles'] = [ + { + 'file': f'{path}/M_AE_L1.stl', + 'force': 2237.69, + 'focalpt': [281.827445, 30.054466, 237.947288], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_L2.stl', + 'force': 2237.69, + 'focalpt': [281.827445, 30.054466, 237.947288], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R1.stl', + 'force': 2232.01, + 'focalpt': [275.116002, 370.517136, 239.044508], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R2.stl', + 'force': 2232.01, + 'focalpt': [275.116002, 370.517136, 239.044508], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_L.stl', + 'force': 1246.44, + 'focalpt': [285.999040, 53.491488, 237.027858], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 1275.85, + 'focalpt': [266.377651, 341.300888, 237.817207], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 793.90, + 'focalpt': [387.732266, 42.578942, 179.172349], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 787.65, + 'focalpt': [378.121152, 367.378098, 180.106618], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 4664.98, + 'focalpt': [317.950788, 168.140999, 229.313499], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 4618.76, + 'focalpt': [313.985620, 239.674491, 231.907710], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_L.stl', + 'force': 379.86, + 'focalpt': [247.643176, 185.035264, 239.596042], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_R.stl', + 'force': 361.56, + 'focalpt': [242.730626, 232.360324, 239.837334], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/TYLnep_250k_15_1.py b/models/TYLnep/TYLnep_250k_15_1.py similarity index 94% rename from models/TYLnep_250k_15_1.py rename to models/TYLnep/TYLnep_250k_15_1.py index 62af9b0..9bd78ae 100644 --- a/models/TYLnep_250k_15_1.py +++ b/models/TYLnep/TYLnep_250k_15_1.py @@ -1,106 +1,105 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni FHSM VP404 -# 10k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'TYLnep/250k' - p['mandible'] = f'{path}/TYLnep_jaw_250k.stl' - p['contact_pts'] = [[-420.489166, 226.380966, 16.269716], - [-426.962891, 159.505264, 35.790138]] - p['axis_pt1'] = [384.577301, 39.049088, 84.218117] - p['axis_pt2'] = [387.968872, 381.002136, 81.069290] - p['muscles'] = [ - { - 'file': f'{path}/M_AE_L1.stl', - 'force': 2237.69, - 'focalpt': [308.473332, 28.163213, 250.951392], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_L2.stl', - 'force': 2237.69, - 'focalpt': [308.473332, 28.163213, 250.951392], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R1.stl', - 'force': 2232.01, - 'focalpt': [296.283500, 369.886693, 255.176087], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R2.stl', - 'force': 2232.01, - 'focalpt': [296.283500, 369.886693, 255.176087], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_L.stl', - 'force': 1246.44, - 'focalpt': [300.906261, 55.055205, 252.556226], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 1275.85, - 'focalpt': [286.660352, 341.107336, 255.394302], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 793.90, - 'focalpt': [399.491627, 41.706145, 179.360685], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 787.65, - 'focalpt': [390.182398, 366.797205, 182.090360], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 4664.98, - 'focalpt': [336.901305, 168.784247, 239.730708], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 4618.76, - 'focalpt': [333.341888, 239.859828, 243.445232], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_L.stl', - 'force': 379.86, - 'focalpt': [267.558659, 184.636991, 259.580424], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_R.stl', - 'force': 361.56, - 'focalpt': [265.708207, 231.528258, 258.402238], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# TYLnep_FHSM2209 + + +def parms(d={}): + p = {} + path = 'TYLnep/250k' + p['mandible'] = f'{path}/TYLnep_jaw_250k.stl' + p['contact_pts'] = [[-420.489166, 226.380966, 16.269716], + [-426.962891, 159.505264, 35.790138]] + p['axis_pt1'] = [384.577301, 39.049088, 84.218117] + p['axis_pt2'] = [387.968872, 381.002136, 81.069290] + p['muscles'] = [ + { + 'file': f'{path}/M_AE_L1.stl', + 'force': 2237.69, + 'focalpt': [308.473332, 28.163213, 250.951392], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_L2.stl', + 'force': 2237.69, + 'focalpt': [308.473332, 28.163213, 250.951392], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R1.stl', + 'force': 2232.01, + 'focalpt': [296.283500, 369.886693, 255.176087], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R2.stl', + 'force': 2232.01, + 'focalpt': [296.283500, 369.886693, 255.176087], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_L.stl', + 'force': 1246.44, + 'focalpt': [300.906261, 55.055205, 252.556226], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 1275.85, + 'focalpt': [286.660352, 341.107336, 255.394302], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 793.90, + 'focalpt': [399.491627, 41.706145, 179.360685], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 787.65, + 'focalpt': [390.182398, 366.797205, 182.090360], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 4664.98, + 'focalpt': [336.901305, 168.784247, 239.730708], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 4618.76, + 'focalpt': [333.341888, 239.859828, 243.445232], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_L.stl', + 'force': 379.86, + 'focalpt': [267.558659, 184.636991, 259.580424], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_R.stl', + 'force': 361.56, + 'focalpt': [265.708207, 231.528258, 258.402238], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/TYLnep_250k_15_2.py b/models/TYLnep/TYLnep_250k_15_2.py similarity index 94% rename from models/TYLnep_250k_15_2.py rename to models/TYLnep/TYLnep_250k_15_2.py index cf9c9a3..bdea963 100644 --- a/models/TYLnep_250k_15_2.py +++ b/models/TYLnep/TYLnep_250k_15_2.py @@ -1,106 +1,105 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni FHSM VP404 -# 10k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'TYLnep/250k' - p['mandible'] = f'{path}/TYLnep_jaw_250k.stl' - p['contact_pts'] = [[-86.279778, 320.183533, 52.348541], - [-96.408920, 78.982399, 52.918877]] - p['axis_pt1'] = [384.577301, 39.049088, 84.218117] - p['axis_pt2'] = [387.968872, 381.002136, 81.069290] - p['muscles'] = [ - { - 'file': f'{path}/M_AE_L1.stl', - 'force': 2237.69, - 'focalpt': [308.473332, 28.163213, 250.951392], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_L2.stl', - 'force': 2237.69, - 'focalpt': [308.473332, 28.163213, 250.951392], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R1.stl', - 'force': 2232.01, - 'focalpt': [296.283500, 369.886693, 255.176087], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R2.stl', - 'force': 2232.01, - 'focalpt': [296.283500, 369.886693, 255.176087], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_L.stl', - 'force': 1246.44, - 'focalpt': [300.906261, 55.055205, 252.556226], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 1275.85, - 'focalpt': [286.660352, 341.107336, 255.394302], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 793.90, - 'focalpt': [399.491627, 41.706145, 179.360685], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 787.65, - 'focalpt': [390.182398, 366.797205, 182.090360], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 4664.98, - 'focalpt': [336.901305, 168.784247, 239.730708], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 4618.76, - 'focalpt': [333.341888, 239.859828, 243.445232], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_L.stl', - 'force': 379.86, - 'focalpt': [267.558659, 184.636991, 259.580424], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_R.stl', - 'force': 361.56, - 'focalpt': [265.708207, 231.528258, 258.402238], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# TYLnep_FHSM2209 + + +def parms(d={}): + p = {} + path = 'TYLnep/250k' + p['mandible'] = f'{path}/TYLnep_jaw_250k.stl' + p['contact_pts'] = [[-86.279778, 320.183533, 52.348541], + [-96.408920, 78.982399, 52.918877]] + p['axis_pt1'] = [384.577301, 39.049088, 84.218117] + p['axis_pt2'] = [387.968872, 381.002136, 81.069290] + p['muscles'] = [ + { + 'file': f'{path}/M_AE_L1.stl', + 'force': 2237.69, + 'focalpt': [308.473332, 28.163213, 250.951392], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_L2.stl', + 'force': 2237.69, + 'focalpt': [308.473332, 28.163213, 250.951392], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R1.stl', + 'force': 2232.01, + 'focalpt': [296.283500, 369.886693, 255.176087], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R2.stl', + 'force': 2232.01, + 'focalpt': [296.283500, 369.886693, 255.176087], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_L.stl', + 'force': 1246.44, + 'focalpt': [300.906261, 55.055205, 252.556226], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 1275.85, + 'focalpt': [286.660352, 341.107336, 255.394302], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 793.90, + 'focalpt': [399.491627, 41.706145, 179.360685], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 787.65, + 'focalpt': [390.182398, 366.797205, 182.090360], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 4664.98, + 'focalpt': [336.901305, 168.784247, 239.730708], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 4618.76, + 'focalpt': [333.341888, 239.859828, 243.445232], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_L.stl', + 'force': 379.86, + 'focalpt': [267.558659, 184.636991, 259.580424], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_R.stl', + 'force': 361.56, + 'focalpt': [265.708207, 231.528258, 258.402238], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/TYLnep_250k_7_1.py b/models/TYLnep/TYLnep_250k_7_1.py similarity index 94% rename from models/TYLnep_250k_7_1.py rename to models/TYLnep/TYLnep_250k_7_1.py index 5922743..d11f1bb 100644 --- a/models/TYLnep_250k_7_1.py +++ b/models/TYLnep/TYLnep_250k_7_1.py @@ -1,106 +1,105 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni FHSM VP404 -# 10k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'TYLnep/250k' - p['mandible'] = f'{path}/TYLnep_jaw_250k.stl' - p['contact_pts'] = [[-420.489166, 226.380966, 16.269716], - [-426.962891, 159.505264, 35.790138]] - p['axis_pt1'] = [384.577301, 39.049088, 84.218117] - p['axis_pt2'] = [387.968872, 381.002136, 81.069290] - p['muscles'] = [ - { - 'file': f'{path}/M_AE_L1.stl', - 'force': 2237.69, - 'focalpt': [281.827445, 30.054466, 237.947288], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_L2.stl', - 'force': 2237.69, - 'focalpt': [281.827445, 30.054466, 237.947288], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R1.stl', - 'force': 2232.01, - 'focalpt': [275.116002, 370.517136, 239.044508], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R2.stl', - 'force': 2232.01, - 'focalpt': [275.116002, 370.517136, 239.044508], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_L.stl', - 'force': 1246.44, - 'focalpt': [285.999040, 53.491488, 237.027858], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 1275.85, - 'focalpt': [266.377651, 341.300888, 237.817207], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 793.90, - 'focalpt': [387.732266, 42.578942, 179.172349], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 787.65, - 'focalpt': [378.121152, 367.378098, 180.106618], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 4664.98, - 'focalpt': [317.950788, 168.140999, 229.313499], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 4618.76, - 'focalpt': [313.985620, 239.674491, 231.907710], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_L.stl', - 'force': 379.86, - 'focalpt': [247.643176, 185.035264, 239.596042], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_R.stl', - 'force': 361.56, - 'focalpt': [242.730626, 232.360324, 239.837334], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# TYLnep_FHSM2209 + + +def parms(d={}): + p = {} + path = 'TYLnep/250k' + p['mandible'] = f'{path}/TYLnep_jaw_250k.stl' + p['contact_pts'] = [[-420.489166, 226.380966, 16.269716], + [-426.962891, 159.505264, 35.790138]] + p['axis_pt1'] = [384.577301, 39.049088, 84.218117] + p['axis_pt2'] = [387.968872, 381.002136, 81.069290] + p['muscles'] = [ + { + 'file': f'{path}/M_AE_L1.stl', + 'force': 2237.69, + 'focalpt': [281.827445, 30.054466, 237.947288], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_L2.stl', + 'force': 2237.69, + 'focalpt': [281.827445, 30.054466, 237.947288], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R1.stl', + 'force': 2232.01, + 'focalpt': [275.116002, 370.517136, 239.044508], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R2.stl', + 'force': 2232.01, + 'focalpt': [275.116002, 370.517136, 239.044508], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_L.stl', + 'force': 1246.44, + 'focalpt': [285.999040, 53.491488, 237.027858], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 1275.85, + 'focalpt': [266.377651, 341.300888, 237.817207], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 793.90, + 'focalpt': [387.732266, 42.578942, 179.172349], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 787.65, + 'focalpt': [378.121152, 367.378098, 180.106618], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 4664.98, + 'focalpt': [317.950788, 168.140999, 229.313499], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 4618.76, + 'focalpt': [313.985620, 239.674491, 231.907710], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_L.stl', + 'force': 379.86, + 'focalpt': [247.643176, 185.035264, 239.596042], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_R.stl', + 'force': 361.56, + 'focalpt': [242.730626, 232.360324, 239.837334], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/TYLnep_250k_7_2.py b/models/TYLnep/TYLnep_250k_7_2.py similarity index 94% rename from models/TYLnep_250k_7_2.py rename to models/TYLnep/TYLnep_250k_7_2.py index e959f36..24d02f1 100644 --- a/models/TYLnep_250k_7_2.py +++ b/models/TYLnep/TYLnep_250k_7_2.py @@ -1,106 +1,105 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni FHSM VP404 -# 10k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'TYLnep/250k' - p['mandible'] = f'{path}/TYLnep_jaw_250k.stl' - p['contact_pts'] = [[-86.279778, 320.183533, 52.348541], - [-96.408920, 78.982399, 52.918877]] - p['axis_pt1'] = [384.577301, 39.049088, 84.218117] - p['axis_pt2'] = [387.968872, 381.002136, 81.069290] - p['muscles'] = [ - { - 'file': f'{path}/M_AE_L1.stl', - 'force': 2237.69, - 'focalpt': [281.827445, 30.054466, 237.947288], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_L2.stl', - 'force': 2237.69, - 'focalpt': [281.827445, 30.054466, 237.947288], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R1.stl', - 'force': 2232.01, - 'focalpt': [275.116002, 370.517136, 239.044508], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R2.stl', - 'force': 2232.01, - 'focalpt': [275.116002, 370.517136, 239.044508], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_L.stl', - 'force': 1246.44, - 'focalpt': [285.999040, 53.491488, 237.027858], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 1275.85, - 'focalpt': [266.377651, 341.300888, 237.817207], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 793.90, - 'focalpt': [387.732266, 42.578942, 179.172349], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 787.65, - 'focalpt': [378.121152, 367.378098, 180.106618], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 4664.98, - 'focalpt': [317.950788, 168.140999, 229.313499], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 4618.76, - 'focalpt': [313.985620, 239.674491, 231.907710], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_L.stl', - 'force': 379.86, - 'focalpt': [247.643176, 185.035264, 239.596042], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_R.stl', - 'force': 361.56, - 'focalpt': [242.730626, 232.360324, 239.837334], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# TYLnep_FHSM2209 + + +def parms(d={}): + p = {} + path = 'TYLnep/250k' + p['mandible'] = f'{path}/TYLnep_jaw_250k.stl' + p['contact_pts'] = [[-86.279778, 320.183533, 52.348541], + [-96.408920, 78.982399, 52.918877]] + p['axis_pt1'] = [384.577301, 39.049088, 84.218117] + p['axis_pt2'] = [387.968872, 381.002136, 81.069290] + p['muscles'] = [ + { + 'file': f'{path}/M_AE_L1.stl', + 'force': 2237.69, + 'focalpt': [281.827445, 30.054466, 237.947288], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_L2.stl', + 'force': 2237.69, + 'focalpt': [281.827445, 30.054466, 237.947288], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R1.stl', + 'force': 2232.01, + 'focalpt': [275.116002, 370.517136, 239.044508], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R2.stl', + 'force': 2232.01, + 'focalpt': [275.116002, 370.517136, 239.044508], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_L.stl', + 'force': 1246.44, + 'focalpt': [285.999040, 53.491488, 237.027858], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 1275.85, + 'focalpt': [266.377651, 341.300888, 237.817207], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 793.90, + 'focalpt': [387.732266, 42.578942, 179.172349], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 787.65, + 'focalpt': [378.121152, 367.378098, 180.106618], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 4664.98, + 'focalpt': [317.950788, 168.140999, 229.313499], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 4618.76, + 'focalpt': [313.985620, 239.674491, 231.907710], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_L.stl', + 'force': 379.86, + 'focalpt': [247.643176, 185.035264, 239.596042], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_R.stl', + 'force': 361.56, + 'focalpt': [242.730626, 232.360324, 239.837334], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/TYLnep_500k_15_1.py b/models/TYLnep/TYLnep_500k_15_1.py similarity index 94% rename from models/TYLnep_500k_15_1.py rename to models/TYLnep/TYLnep_500k_15_1.py index 6f4c486..13380d9 100644 --- a/models/TYLnep_500k_15_1.py +++ b/models/TYLnep/TYLnep_500k_15_1.py @@ -1,106 +1,105 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni FHSM VP404 -# 10k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'TYLnep/500k' - p['mandible'] = f'{path}/TYLnep_jaw_500k.stl' - p['contact_pts'] = [[-417.999359, 222.242569, 31.007950], - [-428.224182, 162.031265, 36.896519]] - p['axis_pt1'] = [381.261627, 39.182289, 82.731766] - p['axis_pt2'] = [391.689667, 381.874176, 81.844215] - p['muscles'] = [ - { - 'file': f'{path}/M_AE_L1.stl', - 'force': 2237.69, - 'focalpt': [308.473332, 28.163213, 250.951392], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_L2.stl', - 'force': 2237.69, - 'focalpt': [308.473332, 28.163213, 250.951392], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R1.stl', - 'force': 2232.01, - 'focalpt': [296.283500, 369.886693, 255.176087], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R2.stl', - 'force': 2232.01, - 'focalpt': [296.283500, 369.886693, 255.176087], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_L.stl', - 'force': 1246.44, - 'focalpt': [300.906261, 55.055205, 252.556226], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 1275.85, - 'focalpt': [286.660352, 341.107336, 255.394302], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 793.90, - 'focalpt': [399.491627, 41.706145, 179.360685], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 787.65, - 'focalpt': [390.182398, 366.797205, 182.090360], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 4664.98, - 'focalpt': [336.901305, 168.784247, 239.730708], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 4618.76, - 'focalpt': [333.341888, 239.859828, 243.445232], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_L.stl', - 'force': 379.86, - 'focalpt': [267.558659, 184.636991, 259.580424], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_R.stl', - 'force': 361.56, - 'focalpt': [265.708207, 231.528258, 258.402238], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# TYLnep_FHSM2209 + + +def parms(d={}): + p = {} + path = 'TYLnep/500k' + p['mandible'] = f'{path}/TYLnep_jaw_500k.stl' + p['contact_pts'] = [[-417.999359, 222.242569, 31.007950], + [-428.224182, 162.031265, 36.896519]] + p['axis_pt1'] = [381.261627, 39.182289, 82.731766] + p['axis_pt2'] = [391.689667, 381.874176, 81.844215] + p['muscles'] = [ + { + 'file': f'{path}/M_AE_L1.stl', + 'force': 2237.69, + 'focalpt': [308.473332, 28.163213, 250.951392], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_L2.stl', + 'force': 2237.69, + 'focalpt': [308.473332, 28.163213, 250.951392], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R1.stl', + 'force': 2232.01, + 'focalpt': [296.283500, 369.886693, 255.176087], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R2.stl', + 'force': 2232.01, + 'focalpt': [296.283500, 369.886693, 255.176087], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_L.stl', + 'force': 1246.44, + 'focalpt': [300.906261, 55.055205, 252.556226], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 1275.85, + 'focalpt': [286.660352, 341.107336, 255.394302], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 793.90, + 'focalpt': [399.491627, 41.706145, 179.360685], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 787.65, + 'focalpt': [390.182398, 366.797205, 182.090360], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 4664.98, + 'focalpt': [336.901305, 168.784247, 239.730708], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 4618.76, + 'focalpt': [333.341888, 239.859828, 243.445232], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_L.stl', + 'force': 379.86, + 'focalpt': [267.558659, 184.636991, 259.580424], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_R.stl', + 'force': 361.56, + 'focalpt': [265.708207, 231.528258, 258.402238], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/TYLnep_500k_15_2.py b/models/TYLnep/TYLnep_500k_15_2.py similarity index 94% rename from models/TYLnep_500k_15_2.py rename to models/TYLnep/TYLnep_500k_15_2.py index 01a65a5..6f4e0d7 100644 --- a/models/TYLnep_500k_15_2.py +++ b/models/TYLnep/TYLnep_500k_15_2.py @@ -1,106 +1,105 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni FHSM VP404 -# 10k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'TYLnep/500k' - p['mandible'] = f'{path}/TYLnep_jaw_500k.stl' - p['contact_pts'] = [[-88.511429, 320.280304, 40.494282], - [-95.066902, 77.562195, 41.572414]] - p['axis_pt1'] = [381.261627, 39.182289, 82.731766] - p['axis_pt2'] = [391.689667, 381.874176, 81.844215] - p['muscles'] = [ - { - 'file': f'{path}/M_AE_L1.stl', - 'force': 2237.69, - 'focalpt': [308.473332, 28.163213, 250.951392], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_L2.stl', - 'force': 2237.69, - 'focalpt': [308.473332, 28.163213, 250.951392], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R1.stl', - 'force': 2232.01, - 'focalpt': [296.283500, 369.886693, 255.176087], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R2.stl', - 'force': 2232.01, - 'focalpt': [296.283500, 369.886693, 255.176087], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_L.stl', - 'force': 1246.44, - 'focalpt': [300.906261, 55.055205, 252.556226], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 1275.85, - 'focalpt': [286.660352, 341.107336, 255.394302], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 793.90, - 'focalpt': [399.491627, 41.706145, 179.360685], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 787.65, - 'focalpt': [390.182398, 366.797205, 182.090360], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 4664.98, - 'focalpt': [336.901305, 168.784247, 239.730708], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 4618.76, - 'focalpt': [333.341888, 239.859828, 243.445232], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_L.stl', - 'force': 379.86, - 'focalpt': [267.558659, 184.636991, 259.580424], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_R.stl', - 'force': 361.56, - 'focalpt': [265.708207, 231.528258, 258.402238], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# TYLnep_FHSM2209 + + +def parms(d={}): + p = {} + path = 'TYLnep/500k' + p['mandible'] = f'{path}/TYLnep_jaw_500k.stl' + p['contact_pts'] = [[-88.511429, 320.280304, 40.494282], + [-95.066902, 77.562195, 41.572414]] + p['axis_pt1'] = [381.261627, 39.182289, 82.731766] + p['axis_pt2'] = [391.689667, 381.874176, 81.844215] + p['muscles'] = [ + { + 'file': f'{path}/M_AE_L1.stl', + 'force': 2237.69, + 'focalpt': [308.473332, 28.163213, 250.951392], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_L2.stl', + 'force': 2237.69, + 'focalpt': [308.473332, 28.163213, 250.951392], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R1.stl', + 'force': 2232.01, + 'focalpt': [296.283500, 369.886693, 255.176087], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R2.stl', + 'force': 2232.01, + 'focalpt': [296.283500, 369.886693, 255.176087], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_L.stl', + 'force': 1246.44, + 'focalpt': [300.906261, 55.055205, 252.556226], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 1275.85, + 'focalpt': [286.660352, 341.107336, 255.394302], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 793.90, + 'focalpt': [399.491627, 41.706145, 179.360685], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 787.65, + 'focalpt': [390.182398, 366.797205, 182.090360], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 4664.98, + 'focalpt': [336.901305, 168.784247, 239.730708], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 4618.76, + 'focalpt': [333.341888, 239.859828, 243.445232], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_L.stl', + 'force': 379.86, + 'focalpt': [267.558659, 184.636991, 259.580424], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_R.stl', + 'force': 361.56, + 'focalpt': [265.708207, 231.528258, 258.402238], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/TYLnep_500k_7_1.py b/models/TYLnep/TYLnep_500k_7_1.py similarity index 94% rename from models/TYLnep_500k_7_1.py rename to models/TYLnep/TYLnep_500k_7_1.py index 17cf4df..cb182b5 100644 --- a/models/TYLnep_500k_7_1.py +++ b/models/TYLnep/TYLnep_500k_7_1.py @@ -1,106 +1,105 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni FHSM VP404 -# 10k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'TYLnep/500k' - p['mandible'] = f'{path}/TYLnep_jaw_500k.stl' - p['contact_pts'] = [[-417.999359, 222.242569, 31.007950], - [-428.224182, 162.031265, 36.896519]] - p['axis_pt1'] = [381.261627, 39.182289, 82.731766] - p['axis_pt2'] = [391.689667, 381.874176, 81.844215] - p['muscles'] = [ - { - 'file': f'{path}/M_AE_L1.stl', - 'force': 2237.69, - 'focalpt': [281.827445, 30.054466, 237.947288], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_L2.stl', - 'force': 2237.69, - 'focalpt': [281.827445, 30.054466, 237.947288], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R1.stl', - 'force': 2232.01, - 'focalpt': [275.116002, 370.517136, 239.044508], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R2.stl', - 'force': 2232.01, - 'focalpt': [275.116002, 370.517136, 239.044508], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_L.stl', - 'force': 1246.44, - 'focalpt': [285.999040, 53.491488, 237.027858], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 1275.85, - 'focalpt': [266.377651, 341.300888, 237.817207], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 793.90, - 'focalpt': [387.732266, 42.578942, 179.172349], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 787.65, - 'focalpt': [378.121152, 367.378098, 180.106618], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 4664.98, - 'focalpt': [317.950788, 168.140999, 229.313499], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 4618.76, - 'focalpt': [313.985620, 239.674491, 231.907710], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_L.stl', - 'force': 379.86, - 'focalpt': [247.643176, 185.035264, 239.596042], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_R.stl', - 'force': 361.56, - 'focalpt': [242.730626, 232.360324, 239.837334], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# TYLnep_FHSM2209 + + +def parms(d={}): + p = {} + path = 'TYLnep/500k' + p['mandible'] = f'{path}/TYLnep_jaw_500k.stl' + p['contact_pts'] = [[-417.999359, 222.242569, 31.007950], + [-428.224182, 162.031265, 36.896519]] + p['axis_pt1'] = [381.261627, 39.182289, 82.731766] + p['axis_pt2'] = [391.689667, 381.874176, 81.844215] + p['muscles'] = [ + { + 'file': f'{path}/M_AE_L1.stl', + 'force': 2237.69, + 'focalpt': [281.827445, 30.054466, 237.947288], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_L2.stl', + 'force': 2237.69, + 'focalpt': [281.827445, 30.054466, 237.947288], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R1.stl', + 'force': 2232.01, + 'focalpt': [275.116002, 370.517136, 239.044508], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R2.stl', + 'force': 2232.01, + 'focalpt': [275.116002, 370.517136, 239.044508], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_L.stl', + 'force': 1246.44, + 'focalpt': [285.999040, 53.491488, 237.027858], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 1275.85, + 'focalpt': [266.377651, 341.300888, 237.817207], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 793.90, + 'focalpt': [387.732266, 42.578942, 179.172349], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 787.65, + 'focalpt': [378.121152, 367.378098, 180.106618], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 4664.98, + 'focalpt': [317.950788, 168.140999, 229.313499], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 4618.76, + 'focalpt': [313.985620, 239.674491, 231.907710], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_L.stl', + 'force': 379.86, + 'focalpt': [247.643176, 185.035264, 239.596042], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_R.stl', + 'force': 361.56, + 'focalpt': [242.730626, 232.360324, 239.837334], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/TYLnep_500k_7_2.py b/models/TYLnep/TYLnep_500k_7_2.py similarity index 94% rename from models/TYLnep_500k_7_2.py rename to models/TYLnep/TYLnep_500k_7_2.py index 749a310..7d2db4c 100644 --- a/models/TYLnep_500k_7_2.py +++ b/models/TYLnep/TYLnep_500k_7_2.py @@ -1,106 +1,105 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni FHSM VP404 -# 10k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'TYLnep/500k' - p['mandible'] = f'{path}/TYLnep_jaw_500k.stl' - p['contact_pts'] = [[-88.511429, 320.280304, 40.494282], - [-95.066902, 77.562195, 41.572414]] - p['axis_pt1'] = [381.261627, 39.182289, 82.731766] - p['axis_pt2'] = [391.689667, 381.874176, 81.844215] - p['muscles'] = [ - { - 'file': f'{path}/M_AE_L1.stl', - 'force': 2237.69, - 'focalpt': [281.827445, 30.054466, 237.947288], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_L2.stl', - 'force': 2237.69, - 'focalpt': [281.827445, 30.054466, 237.947288], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R1.stl', - 'force': 2232.01, - 'focalpt': [275.116002, 370.517136, 239.044508], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R2.stl', - 'force': 2232.01, - 'focalpt': [275.116002, 370.517136, 239.044508], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_L.stl', - 'force': 1246.44, - 'focalpt': [285.999040, 53.491488, 237.027858], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 1275.85, - 'focalpt': [266.377651, 341.300888, 237.817207], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 793.90, - 'focalpt': [387.732266, 42.578942, 179.172349], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 787.65, - 'focalpt': [378.121152, 367.378098, 180.106618], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 4664.98, - 'focalpt': [317.950788, 168.140999, 229.313499], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 4618.76, - 'focalpt': [313.985620, 239.674491, 231.907710], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_L.stl', - 'force': 379.86, - 'focalpt': [247.643176, 185.035264, 239.596042], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_R.stl', - 'force': 361.56, - 'focalpt': [242.730626, 232.360324, 239.837334], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# TYLnep_FHSM2209 + + +def parms(d={}): + p = {} + path = 'TYLnep/500k' + p['mandible'] = f'{path}/TYLnep_jaw_500k.stl' + p['contact_pts'] = [[-88.511429, 320.280304, 40.494282], + [-95.066902, 77.562195, 41.572414]] + p['axis_pt1'] = [381.261627, 39.182289, 82.731766] + p['axis_pt2'] = [391.689667, 381.874176, 81.844215] + p['muscles'] = [ + { + 'file': f'{path}/M_AE_L1.stl', + 'force': 2237.69, + 'focalpt': [281.827445, 30.054466, 237.947288], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_L2.stl', + 'force': 2237.69, + 'focalpt': [281.827445, 30.054466, 237.947288], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R1.stl', + 'force': 2232.01, + 'focalpt': [275.116002, 370.517136, 239.044508], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R2.stl', + 'force': 2232.01, + 'focalpt': [275.116002, 370.517136, 239.044508], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_L.stl', + 'force': 1246.44, + 'focalpt': [285.999040, 53.491488, 237.027858], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 1275.85, + 'focalpt': [266.377651, 341.300888, 237.817207], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 793.90, + 'focalpt': [387.732266, 42.578942, 179.172349], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 787.65, + 'focalpt': [378.121152, 367.378098, 180.106618], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 4664.98, + 'focalpt': [317.950788, 168.140999, 229.313499], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 4618.76, + 'focalpt': [313.985620, 239.674491, 231.907710], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_L.stl', + 'force': 379.86, + 'focalpt': [247.643176, 185.035264, 239.596042], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_R.stl', + 'force': 361.56, + 'focalpt': [242.730626, 232.360324, 239.837334], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/TYLnep_750k_15_1.py b/models/TYLnep/TYLnep_750k_15_1.py similarity index 94% rename from models/TYLnep_750k_15_1.py rename to models/TYLnep/TYLnep_750k_15_1.py index b0bb111..87e27f5 100644 --- a/models/TYLnep_750k_15_1.py +++ b/models/TYLnep/TYLnep_750k_15_1.py @@ -1,106 +1,105 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni FHSM VP404 -# 10k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'TYLnep/750k' - p['mandible'] = f'{path}/TYLnep_jaw_750k.stl' - p['contact_pts'] = [[-440.282074, 226.035706, 8.676176], - [-453.118317, 156.467865, 11.607960]] - p['axis_pt1'] = [392.782898, 35.557762, 84.161575] - p['axis_pt2'] = [391.689667, 381.874176, 81.844215] - p['muscles'] = [ - { - 'file': f'{path}/M_AE_L1.stl', - 'force': 2237.69, - 'focalpt': [308.473332, 28.163213, 250.951392], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_L2.stl', - 'force': 2237.69, - 'focalpt': [308.473332, 28.163213, 250.951392], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R1.stl', - 'force': 2232.01, - 'focalpt': [296.283500, 369.886693, 255.176087], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R2.stl', - 'force': 2232.01, - 'focalpt': [296.283500, 369.886693, 255.176087], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_L.stl', - 'force': 1246.44, - 'focalpt': [300.906261, 55.055205, 252.556226], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 1275.85, - 'focalpt': [286.660352, 341.107336, 255.394302], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 793.90, - 'focalpt': [399.491627, 41.706145, 179.360685], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 787.65, - 'focalpt': [390.182398, 366.797205, 182.090360], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 4664.98, - 'focalpt': [336.901305, 168.784247, 239.730708], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 4618.76, - 'focalpt': [333.341888, 239.859828, 243.445232], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_L.stl', - 'force': 379.86, - 'focalpt': [267.558659, 184.636991, 259.580424], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_R.stl', - 'force': 361.56, - 'focalpt': [265.708207, 231.528258, 258.402238], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# TYLnep_FHSM2209 + + +def parms(d={}): + p = {} + path = 'TYLnep/750k' + p['mandible'] = f'{path}/TYLnep_jaw_750k.stl' + p['contact_pts'] = [[-440.282074, 226.035706, 8.676176], + [-453.118317, 156.467865, 11.607960]] + p['axis_pt1'] = [392.782898, 35.557762, 84.161575] + p['axis_pt2'] = [391.689667, 381.874176, 81.844215] + p['muscles'] = [ + { + 'file': f'{path}/M_AE_L1.stl', + 'force': 2237.69, + 'focalpt': [308.473332, 28.163213, 250.951392], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_L2.stl', + 'force': 2237.69, + 'focalpt': [308.473332, 28.163213, 250.951392], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R1.stl', + 'force': 2232.01, + 'focalpt': [296.283500, 369.886693, 255.176087], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R2.stl', + 'force': 2232.01, + 'focalpt': [296.283500, 369.886693, 255.176087], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_L.stl', + 'force': 1246.44, + 'focalpt': [300.906261, 55.055205, 252.556226], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 1275.85, + 'focalpt': [286.660352, 341.107336, 255.394302], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 793.90, + 'focalpt': [399.491627, 41.706145, 179.360685], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 787.65, + 'focalpt': [390.182398, 366.797205, 182.090360], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 4664.98, + 'focalpt': [336.901305, 168.784247, 239.730708], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 4618.76, + 'focalpt': [333.341888, 239.859828, 243.445232], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_L.stl', + 'force': 379.86, + 'focalpt': [267.558659, 184.636991, 259.580424], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_R.stl', + 'force': 361.56, + 'focalpt': [265.708207, 231.528258, 258.402238], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/TYLnep_750k_15_2.py b/models/TYLnep/TYLnep_750k_15_2.py similarity index 94% rename from models/TYLnep_750k_15_2.py rename to models/TYLnep/TYLnep_750k_15_2.py index c6aae73..d0c0aac 100644 --- a/models/TYLnep_750k_15_2.py +++ b/models/TYLnep/TYLnep_750k_15_2.py @@ -1,106 +1,105 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni FHSM VP404 -# 10k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'TYLnep/750k' - p['mandible'] = f'{path}/TYLnep_jaw_750k.stl' - p['contact_pts'] = [[-91.923141, 317.501709, 54.304459], - [-96.786438, 79.207016, 55.289452]] - p['axis_pt1'] = [392.782898, 35.557762, 84.161575] - p['axis_pt2'] = [391.689667, 381.874176, 81.844215] - p['muscles'] = [ - { - 'file': f'{path}/M_AE_L1.stl', - 'force': 2237.69, - 'focalpt': [308.473332, 28.163213, 250.951392], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_L2.stl', - 'force': 2237.69, - 'focalpt': [308.473332, 28.163213, 250.951392], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R1.stl', - 'force': 2232.01, - 'focalpt': [296.283500, 369.886693, 255.176087], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R2.stl', - 'force': 2232.01, - 'focalpt': [296.283500, 369.886693, 255.176087], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_L.stl', - 'force': 1246.44, - 'focalpt': [300.906261, 55.055205, 252.556226], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 1275.85, - 'focalpt': [286.660352, 341.107336, 255.394302], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 793.90, - 'focalpt': [399.491627, 41.706145, 179.360685], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 787.65, - 'focalpt': [390.182398, 366.797205, 182.090360], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 4664.98, - 'focalpt': [336.901305, 168.784247, 239.730708], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 4618.76, - 'focalpt': [333.341888, 239.859828, 243.445232], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_L.stl', - 'force': 379.86, - 'focalpt': [267.558659, 184.636991, 259.580424], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_R.stl', - 'force': 361.56, - 'focalpt': [265.708207, 231.528258, 258.402238], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# TYLnep_FHSM2209 + + +def parms(d={}): + p = {} + path = 'TYLnep/750k' + p['mandible'] = f'{path}/TYLnep_jaw_750k.stl' + p['contact_pts'] = [[-91.923141, 317.501709, 54.304459], + [-96.786438, 79.207016, 55.289452]] + p['axis_pt1'] = [392.782898, 35.557762, 84.161575] + p['axis_pt2'] = [391.689667, 381.874176, 81.844215] + p['muscles'] = [ + { + 'file': f'{path}/M_AE_L1.stl', + 'force': 2237.69, + 'focalpt': [308.473332, 28.163213, 250.951392], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_L2.stl', + 'force': 2237.69, + 'focalpt': [308.473332, 28.163213, 250.951392], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R1.stl', + 'force': 2232.01, + 'focalpt': [296.283500, 369.886693, 255.176087], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R2.stl', + 'force': 2232.01, + 'focalpt': [296.283500, 369.886693, 255.176087], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_L.stl', + 'force': 1246.44, + 'focalpt': [300.906261, 55.055205, 252.556226], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 1275.85, + 'focalpt': [286.660352, 341.107336, 255.394302], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 793.90, + 'focalpt': [399.491627, 41.706145, 179.360685], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 787.65, + 'focalpt': [390.182398, 366.797205, 182.090360], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 4664.98, + 'focalpt': [336.901305, 168.784247, 239.730708], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 4618.76, + 'focalpt': [333.341888, 239.859828, 243.445232], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_L.stl', + 'force': 379.86, + 'focalpt': [267.558659, 184.636991, 259.580424], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_R.stl', + 'force': 361.56, + 'focalpt': [265.708207, 231.528258, 258.402238], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/TYLnep_750k_7_1.py b/models/TYLnep/TYLnep_750k_7_1.py similarity index 94% rename from models/TYLnep_750k_7_1.py rename to models/TYLnep/TYLnep_750k_7_1.py index f2366c2..f6f88fc 100644 --- a/models/TYLnep_750k_7_1.py +++ b/models/TYLnep/TYLnep_750k_7_1.py @@ -1,106 +1,105 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni FHSM VP404 -# 10k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'TYLnep/750k' - p['mandible'] = f'{path}/TYLnep_jaw_750k.stl' - p['contact_pts'] = [[-440.282074, 226.035706, 8.676176], - [-453.118317, 156.467865, 11.607960]] - p['axis_pt1'] = [392.782898, 35.557762, 84.161575] - p['axis_pt2'] = [391.689667, 381.874176, 81.844215] - p['muscles'] = [ - { - 'file': f'{path}/M_AE_L1.stl', - 'force': 2237.69, - 'focalpt': [281.827445, 30.054466, 237.947288], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_L2.stl', - 'force': 2237.69, - 'focalpt': [281.827445, 30.054466, 237.947288], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R1.stl', - 'force': 2232.01, - 'focalpt': [275.116002, 370.517136, 239.044508], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R2.stl', - 'force': 2232.01, - 'focalpt': [275.116002, 370.517136, 239.044508], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_L.stl', - 'force': 1246.44, - 'focalpt': [285.999040, 53.491488, 237.027858], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 1275.85, - 'focalpt': [266.377651, 341.300888, 237.817207], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 793.90, - 'focalpt': [387.732266, 42.578942, 179.172349], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 787.65, - 'focalpt': [378.121152, 367.378098, 180.106618], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 4664.98, - 'focalpt': [317.950788, 168.140999, 229.313499], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 4618.76, - 'focalpt': [313.985620, 239.674491, 231.907710], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_L.stl', - 'force': 379.86, - 'focalpt': [247.643176, 185.035264, 239.596042], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_R.stl', - 'force': 361.56, - 'focalpt': [242.730626, 232.360324, 239.837334], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# TYLnep_FHSM2209 + + +def parms(d={}): + p = {} + path = 'TYLnep/750k' + p['mandible'] = f'{path}/TYLnep_jaw_750k.stl' + p['contact_pts'] = [[-440.282074, 226.035706, 8.676176], + [-453.118317, 156.467865, 11.607960]] + p['axis_pt1'] = [392.782898, 35.557762, 84.161575] + p['axis_pt2'] = [391.689667, 381.874176, 81.844215] + p['muscles'] = [ + { + 'file': f'{path}/M_AE_L1.stl', + 'force': 2237.69, + 'focalpt': [281.827445, 30.054466, 237.947288], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_L2.stl', + 'force': 2237.69, + 'focalpt': [281.827445, 30.054466, 237.947288], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R1.stl', + 'force': 2232.01, + 'focalpt': [275.116002, 370.517136, 239.044508], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R2.stl', + 'force': 2232.01, + 'focalpt': [275.116002, 370.517136, 239.044508], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_L.stl', + 'force': 1246.44, + 'focalpt': [285.999040, 53.491488, 237.027858], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 1275.85, + 'focalpt': [266.377651, 341.300888, 237.817207], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 793.90, + 'focalpt': [387.732266, 42.578942, 179.172349], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 787.65, + 'focalpt': [378.121152, 367.378098, 180.106618], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 4664.98, + 'focalpt': [317.950788, 168.140999, 229.313499], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 4618.76, + 'focalpt': [313.985620, 239.674491, 231.907710], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_L.stl', + 'force': 379.86, + 'focalpt': [247.643176, 185.035264, 239.596042], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_R.stl', + 'force': 361.56, + 'focalpt': [242.730626, 232.360324, 239.837334], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/TYLnep_750k_7_2.py b/models/TYLnep/TYLnep_750k_7_2.py similarity index 94% rename from models/TYLnep_750k_7_2.py rename to models/TYLnep/TYLnep_750k_7_2.py index 94459f7..3614d05 100644 --- a/models/TYLnep_750k_7_2.py +++ b/models/TYLnep/TYLnep_750k_7_2.py @@ -1,106 +1,105 @@ -#! /usr/bin/env python3 -# -*- coding: utf-8 -*- -# Dolicorhynchops osborni FHSM VP404 -# 10k faces on the mandible surface - - -def parms(d={}): - p = {} - path = 'TYLnep/750k' - p['mandible'] = f'{path}/TYLnep_jaw_750k.stl' - p['contact_pts'] = [[-91.923141, 317.501709, 54.304459], - [-96.786438, 79.207016, 55.289452]] - p['axis_pt1'] = [392.782898, 35.557762, 84.161575] - p['axis_pt2'] = [391.689667, 381.874176, 81.844215] - p['muscles'] = [ - { - 'file': f'{path}/M_AE_L1.stl', - 'force': 2237.69, - 'focalpt': [281.827445, 30.054466, 237.947288], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_L2.stl', - 'force': 2237.69, - 'focalpt': [281.827445, 30.054466, 237.947288], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R1.stl', - 'force': 2232.01, - 'focalpt': [275.116002, 370.517136, 239.044508], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AE_R2.stl', - 'force': 2232.01, - 'focalpt': [275.116002, 370.517136, 239.044508], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_L.stl', - 'force': 1246.44, - 'focalpt': [285.999040, 53.491488, 237.027858], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AME_R.stl', - 'force': 1275.85, - 'focalpt': [266.377651, 341.300888, 237.817207], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_L.stl', - 'force': 793.90, - 'focalpt': [387.732266, 42.578942, 179.172349], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_AMP_R.stl', - 'force': 787.65, - 'focalpt': [378.121152, 367.378098, 180.106618], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_L.stl', - 'force': 4664.98, - 'focalpt': [317.950788, 168.140999, 229.313499], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTP_R.stl', - 'force': 4618.76, - 'focalpt': [313.985620, 239.674491, 231.907710], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_L.stl', - 'force': 379.86, - 'focalpt': [247.643176, 185.035264, 239.596042], - 'method': 'T+N' - }, - { - 'file': f'{path}/M_PTS_R.stl', - 'force': 361.56, - 'focalpt': [242.730626, 232.360324, 239.837334], - 'method': 'T+N' - } - ] - p['fixations'] = { - 'contact_pts': ['z'], - 'axis_pt1': ['x', 'z','y'], - 'axis_pt2': ['x', 'z','y'] - } - - # material properties - p['density'] = 1.662e-9 # [T/mm³] - p['Young'] = 15000. # [MPa] - p['Poisson'] = 0.3 # [-] - - p.update(d) - return p - - -def getMetafor(p={}): - import bonemodel as model - return model.getMetafor(parms(p)) +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +# TYLnep_FHSM2209 + + +def parms(d={}): + p = {} + path = 'TYLnep/750k' + p['mandible'] = f'{path}/TYLnep_jaw_750k.stl' + p['contact_pts'] = [[-91.923141, 317.501709, 54.304459], + [-96.786438, 79.207016, 55.289452]] + p['axis_pt1'] = [392.782898, 35.557762, 84.161575] + p['axis_pt2'] = [391.689667, 381.874176, 81.844215] + p['muscles'] = [ + { + 'file': f'{path}/M_AE_L1.stl', + 'force': 2237.69, + 'focalpt': [281.827445, 30.054466, 237.947288], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_L2.stl', + 'force': 2237.69, + 'focalpt': [281.827445, 30.054466, 237.947288], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R1.stl', + 'force': 2232.01, + 'focalpt': [275.116002, 370.517136, 239.044508], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AE_R2.stl', + 'force': 2232.01, + 'focalpt': [275.116002, 370.517136, 239.044508], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_L.stl', + 'force': 1246.44, + 'focalpt': [285.999040, 53.491488, 237.027858], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AME_R.stl', + 'force': 1275.85, + 'focalpt': [266.377651, 341.300888, 237.817207], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_L.stl', + 'force': 793.90, + 'focalpt': [387.732266, 42.578942, 179.172349], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_AMP_R.stl', + 'force': 787.65, + 'focalpt': [378.121152, 367.378098, 180.106618], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_L.stl', + 'force': 4664.98, + 'focalpt': [317.950788, 168.140999, 229.313499], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTP_R.stl', + 'force': 4618.76, + 'focalpt': [313.985620, 239.674491, 231.907710], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_L.stl', + 'force': 379.86, + 'focalpt': [247.643176, 185.035264, 239.596042], + 'method': 'T+N' + }, + { + 'file': f'{path}/M_PTS_R.stl', + 'force': 361.56, + 'focalpt': [242.730626, 232.360324, 239.837334], + 'method': 'T+N' + } + ] + p['fixations'] = { + 'contact_pts': ['z'], + 'axis_pt1': ['x', 'z','y'], + 'axis_pt2': ['x', 'z','y'] + } + + # material properties + p['density'] = 1.662e-9 # [T/mm³] + p['Young'] = 15000. # [MPa] + p['Poisson'] = 0.3 # [-] + + p.update(d) + return p + + +def getMetafor(p={}): + import bonemodel as model + return model.getMetafor(parms(p)) diff --git a/models/TYLnep/__init__.py b/models/TYLnep/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/models/__init__.py b/models/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/models/bonemodel.py b/models/bonemodel.py index 8222c07..5f97909 100644 --- a/models/bonemodel.py +++ b/models/bonemodel.py @@ -88,7 +88,7 @@ def getMetafor(p={}): geometry.setDim3D() # load main mandible mesh (volume or surface - it will be meshed in 3D) - import_mesh(domain, p['mandible']) + import_mesh(domain, p['mandible'], p['use_gmshOld']) # define groups @@ -242,7 +242,7 @@ def getMetafor(p={}): # utility functions involing Metafor objects -def import_mesh(domain, filename): +def import_mesh(domain, filename, use_gmshOld=True): """import the volume mesh input file type can be: - .msh: the mesh is simply loaded @@ -286,7 +286,7 @@ def import_mesh(domain, filename): raise Exception(f'Unknown extension: {ext}, please use .ply, .stl, .msh or .geo') print(f'importing {mandible_gmsh}') - if p['use_gmshOld']: + if use_gmshOld: from toolbox.gmshOld import GmshImport else: from toolbox.gmsh import GmshImport # FIXME: does not work! diff --git a/models/dolicorhynchops/__init__.py b/models/dolicorhynchops/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/models/dolicorhynchops_10k.py b/models/dolicorhynchops/dolicorhynchops_10k.py similarity index 100% rename from models/dolicorhynchops_10k.py rename to models/dolicorhynchops/dolicorhynchops_10k.py diff --git a/models/dolicorhynchops_10k_contact.py b/models/dolicorhynchops/dolicorhynchops_10k_contact.py similarity index 98% rename from models/dolicorhynchops_10k_contact.py rename to models/dolicorhynchops/dolicorhynchops_10k_contact.py index a9dcd32..9235419 100644 --- a/models/dolicorhynchops_10k_contact.py +++ b/models/dolicorhynchops/dolicorhynchops_10k_contact.py @@ -2,6 +2,7 @@ # -*- coding: utf-8 -*- # Dolicorhynchops osborni FHSM VP404 # 10k faces on the mandible surface +# contact with a cylinder def parms(d={}): diff --git a/models/dolicorhynchops_149k.py b/models/dolicorhynchops/dolicorhynchops_149k.py similarity index 100% rename from models/dolicorhynchops_149k.py rename to models/dolicorhynchops/dolicorhynchops_149k.py -- GitLab