From 77aebb00a786b0339f5cd2d5f7f062707d85889d Mon Sep 17 00:00:00 2001
From: Romain Boman <r.boman@uliege.be>
Date: Sun, 9 Jan 2022 18:10:13 +0100
Subject: [PATCH] add pathera pardus model

---
 .../Panthera_pardus_AMNH_113745_mandible.stl  |  3 +
 .../Panthera_pardus/150k/m. masseter left.stl |  3 +
 .../150k/m. masseter right.stl                |  3 +
 .../150k/m. pterygoideus left.stl             |  3 +
 .../150k/m. pterygoideus right.stl            |  3 +
 .../150k/m. temporalis left.stl               |  3 +
 .../150k/m. temporalis right.stl              |  3 +
 models/Panthera_pardus_RC_30.py               | 70 +++++++++++++++++++
 8 files changed, 91 insertions(+)
 create mode 100644 models/Panthera_pardus/150k/Panthera_pardus_AMNH_113745_mandible.stl
 create mode 100644 models/Panthera_pardus/150k/m. masseter left.stl
 create mode 100644 models/Panthera_pardus/150k/m. masseter right.stl
 create mode 100644 models/Panthera_pardus/150k/m. pterygoideus left.stl
 create mode 100644 models/Panthera_pardus/150k/m. pterygoideus right.stl
 create mode 100644 models/Panthera_pardus/150k/m. temporalis left.stl
 create mode 100644 models/Panthera_pardus/150k/m. temporalis right.stl
 create mode 100644 models/Panthera_pardus_RC_30.py

diff --git a/models/Panthera_pardus/150k/Panthera_pardus_AMNH_113745_mandible.stl b/models/Panthera_pardus/150k/Panthera_pardus_AMNH_113745_mandible.stl
new file mode 100644
index 0000000..b34f115
--- /dev/null
+++ b/models/Panthera_pardus/150k/Panthera_pardus_AMNH_113745_mandible.stl
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8a208640d6be1947929dd41d8b41ae097e7394c089c1b0be26e1459716c5d1f9
+size 9990284
diff --git a/models/Panthera_pardus/150k/m. masseter left.stl b/models/Panthera_pardus/150k/m. masseter left.stl
new file mode 100644
index 0000000..80906df
--- /dev/null
+++ b/models/Panthera_pardus/150k/m. masseter left.stl	
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:5e20d1c19825e99396e6ba9f9e30854e7c09c1f5f3b3763998b65c71d2d87ee7
+size 226784
diff --git a/models/Panthera_pardus/150k/m. masseter right.stl b/models/Panthera_pardus/150k/m. masseter right.stl
new file mode 100644
index 0000000..fc98cb2
--- /dev/null
+++ b/models/Panthera_pardus/150k/m. masseter right.stl	
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:4529096f9b65bfd50d4a29bff059792423ba158e6cfafc9f63e724ea01ca1b0b
+size 191634
diff --git a/models/Panthera_pardus/150k/m. pterygoideus left.stl b/models/Panthera_pardus/150k/m. pterygoideus left.stl
new file mode 100644
index 0000000..6506213
--- /dev/null
+++ b/models/Panthera_pardus/150k/m. pterygoideus left.stl	
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:2ffda9e6486729fb945cc68748110b4957d485cd91b8793acf9ebffd9301a2ea
+size 42034
diff --git a/models/Panthera_pardus/150k/m. pterygoideus right.stl b/models/Panthera_pardus/150k/m. pterygoideus right.stl
new file mode 100644
index 0000000..4ddbebf
--- /dev/null
+++ b/models/Panthera_pardus/150k/m. pterygoideus right.stl	
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:08ad0dfc6a9059b95ac7e6fbd74219a03aff6697df2e64ee76baf5e22d977997
+size 40784
diff --git a/models/Panthera_pardus/150k/m. temporalis left.stl b/models/Panthera_pardus/150k/m. temporalis left.stl
new file mode 100644
index 0000000..867700c
--- /dev/null
+++ b/models/Panthera_pardus/150k/m. temporalis left.stl	
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:2172aae6bbb7c9aa13c13248e0354e694ae812e943b567bf86343ba5cce3ee8a
+size 417384
diff --git a/models/Panthera_pardus/150k/m. temporalis right.stl b/models/Panthera_pardus/150k/m. temporalis right.stl
new file mode 100644
index 0000000..76979e3
--- /dev/null
+++ b/models/Panthera_pardus/150k/m. temporalis right.stl	
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c11de44b0cac8a020452da772d167021f2a4b40891d8b296ba5bfb536a15e76d
+size 419034
diff --git a/models/Panthera_pardus_RC_30.py b/models/Panthera_pardus_RC_30.py
new file mode 100644
index 0000000..dac1a57
--- /dev/null
+++ b/models/Panthera_pardus_RC_30.py
@@ -0,0 +1,70 @@
+#! /usr/bin/env python3
+# -*- coding: utf-8 -*-
+# Dolicorhynchops osborni FHSM VP404
+#   10k faces on the mandible surface
+
+
+def parms(d={}):
+    p = {}
+    path = 'Panthera_pardus/150k'
+    p['mandible'] = f'{path}/Panthera_pardus_AMNH_113745_mandible.stl'
+    p['teeth'] = [16.4418, 17.3567, -53.2842]
+    p['LTMJ'] = [-37.433147, -7.689619, 48.622185]
+    p['RTMJ'] = [37.795021,	-7.337307, 49.882557]
+    
+    p['muscles'] = [
+        {
+            'file': f'{path}/m. masseter left.stl', 
+            'force': 150.9284,
+            'focalpt': [-49.8903, 18.6, 30.6564],
+            'method': 'T+N'                              # 'U', 'T', 'T+N'
+        },
+        {
+            'file': f'{path}/m. masseter right.stl',
+            'force': 230.87,
+            'focalpt': [52.1813, 12.4872, 34.5441],
+            'method': 'T+N'                              # 'U', 'T', 'T+N'
+        },
+        {
+            'file': f'{path}/m. pterygoideus left.stl',
+            'force': 25.7054,
+            'focalpt': [-10.1567, -2.1217, 34.2502],
+            'method': 'T+N'                              # 'U', 'T', 'T+N'
+        },
+        {
+            'file': f'{path}/m. pterygoideus right.stl',
+            'force': 35.3892,
+            'focalpt': [11.0602, -3.4042, 33.662],
+            'method': 'T+N'                              # 'U', 'T', 'T+N'
+        },
+        {
+            'file': f'{path}/m. temporalis left.stl',
+            'force': 221.773,
+            'focalpt': [-20.3207, 11.5864, 82.6092],
+            'method': 'T+N'                              # 'U', 'T', 'T+N'
+        },
+        {
+            'file': f'{path}/m. temporalis right.stl',
+            'force': 366.678,
+            'focalpt': [22.9732, 8.3983, 82.0678],
+            'method': 'T+N'                              # 'U', 'T', 'T+N'
+        }
+    ]
+    p['fixations'] = {
+        'teeth': ['x', 'z','y'],
+        'LTMJ': ['z','y'],
+        'RTMJ': ['z','y']
+    }
+
+    # material properties
+    p['density'] = 1.662e-9  # [T/mm³] - bone: 1.850 kg/l
+    p['Young'] = 18000.     # [MPa] elastic modulus - bone: 17-20 GPa
+    p['Poisson'] = 0.3       # [-] Poisson's ratio
+
+    p.update(d)
+    return p
+
+
+def getMetafor(p={}):
+    import mandiblemodel as model
+    return model.getMetafor(parms(p))
-- 
GitLab