Merge pull request #13529 from davesrocketshop/hardness_units_pr
Materials: Update Material Models
This commit is contained in:
@@ -34,16 +34,44 @@ const QString ModelUUIDs::ModelUUID_Legacy_Father =
|
||||
const QString ModelUUIDs::ModelUUID_Legacy_MaterialStandard =
|
||||
QString::fromStdString("1e2c0088-904a-4537-925f-64064c07d700");
|
||||
|
||||
const QString ModelUUIDs::ModelUUID_Mechanical_ArrudaBoyce =
|
||||
QString::fromStdString("e10d00de-c7de-4e59-bcdd-058c2ea19ec6");
|
||||
const QString ModelUUIDs::ModelUUID_Mechanical_Density =
|
||||
QString::fromStdString("454661e5-265b-4320-8e6f-fcf6223ac3af");
|
||||
const QString ModelUUIDs::ModelUUID_Mechanical_Hardness =
|
||||
QString::fromStdString("3d1a6141-d032-4d82-8bb5-a8f339fff8ad");
|
||||
const QString ModelUUIDs::ModelUUID_Mechanical_IsotropicLinearElastic =
|
||||
QString::fromStdString("f6f9e48c-b116-4e82-ad7f-3659a9219c50");
|
||||
const QString ModelUUIDs::ModelUUID_Mechanical_LinearElastic =
|
||||
QString::fromStdString("7b561d1d-fb9b-44f6-9da9-56a4f74d7536");
|
||||
const QString ModelUUIDs::ModelUUID_Mechanical_MooneyRivlin =
|
||||
QString::fromStdString("beeed169-7770-4da0-ab67-c9172cf7d23d");
|
||||
const QString ModelUUIDs::ModelUUID_Mechanical_NeoHooke =
|
||||
QString::fromStdString("569ebc58-ef29-434a-83be-555a0980d505");
|
||||
const QString ModelUUIDs::ModelUUID_Mechanical_OgdenN1 =
|
||||
QString::fromStdString("a2634a2c-412f-468d-9bec-74ae5d87a9c0");
|
||||
const QString ModelUUIDs::ModelUUID_Mechanical_OgdenN2 =
|
||||
QString::fromStdString("233540bb-7b13-4f49-ac12-126a5c82cedf");
|
||||
const QString ModelUUIDs::ModelUUID_Mechanical_OgdenN3 =
|
||||
QString::fromStdString("a917d6b8-209f-429e-9972-fe4bbb97af3f");
|
||||
const QString ModelUUIDs::ModelUUID_Mechanical_OgdenYld2004p18 =
|
||||
QString::fromStdString("3ef9e427-cc25-43f7-817f-79ff0d49625f");
|
||||
const QString ModelUUIDs::ModelUUID_Mechanical_OrthotropicLinearElastic =
|
||||
QString::fromStdString("b19ccc6b-a431-418e-91c2-0ac8c649d146");
|
||||
const QString ModelUUIDs::ModelUUID_Mechanical_PolynomialN1 =
|
||||
QString::fromStdString("285a6042-0f0c-4a36-a898-4afadd6408ce");
|
||||
const QString ModelUUIDs::ModelUUID_Mechanical_PolynomialN2 =
|
||||
QString::fromStdString("4c2fb7b2-5121-4d6f-be0d-8c5970c9e682");
|
||||
const QString ModelUUIDs::ModelUUID_Mechanical_PolynomialN3 =
|
||||
QString::fromStdString("e83ada22-947e-4beb-91e7-482a16f5ba77");
|
||||
const QString ModelUUIDs::ModelUUID_Mechanical_ReducedPolynomialN1 =
|
||||
QString::fromStdString("f8052a3c-db17-42ea-b2be-13aa5ef30730");
|
||||
const QString ModelUUIDs::ModelUUID_Mechanical_ReducedPolynomialN2 =
|
||||
QString::fromStdString("c52b5021-4bb8-441c-80d4-855fce9de15e");
|
||||
const QString ModelUUIDs::ModelUUID_Mechanical_ReducedPolynomialN3 =
|
||||
QString::fromStdString("fa4e58b4-74c7-4292-8e79-7d5fd232fb55");
|
||||
const QString ModelUUIDs::ModelUUID_Mechanical_Yeoh =
|
||||
QString::fromStdString("cd13c492-21a9-4578-8191-deec003e4c01");
|
||||
|
||||
const QString ModelUUIDs::ModelUUID_Fluid_Default =
|
||||
QString::fromStdString("1ae66d8c-1ba1-4211-ad12-b9917573b202");
|
||||
|
||||
@@ -45,11 +45,25 @@ public:
|
||||
static const QString ModelUUID_Legacy_Father;
|
||||
static const QString ModelUUID_Legacy_MaterialStandard;
|
||||
|
||||
static const QString ModelUUID_Mechanical_ArrudaBoyce;
|
||||
static const QString ModelUUID_Mechanical_Density;
|
||||
static const QString ModelUUID_Mechanical_Hardness;
|
||||
static const QString ModelUUID_Mechanical_IsotropicLinearElastic;
|
||||
static const QString ModelUUID_Mechanical_LinearElastic;
|
||||
static const QString ModelUUID_Mechanical_MooneyRivlin;
|
||||
static const QString ModelUUID_Mechanical_NeoHooke;
|
||||
static const QString ModelUUID_Mechanical_OgdenN1;
|
||||
static const QString ModelUUID_Mechanical_OgdenN2;
|
||||
static const QString ModelUUID_Mechanical_OgdenN3;
|
||||
static const QString ModelUUID_Mechanical_OgdenYld2004p18;
|
||||
static const QString ModelUUID_Mechanical_OrthotropicLinearElastic;
|
||||
static const QString ModelUUID_Mechanical_PolynomialN1;
|
||||
static const QString ModelUUID_Mechanical_PolynomialN2;
|
||||
static const QString ModelUUID_Mechanical_PolynomialN3;
|
||||
static const QString ModelUUID_Mechanical_ReducedPolynomialN1;
|
||||
static const QString ModelUUID_Mechanical_ReducedPolynomialN2;
|
||||
static const QString ModelUUID_Mechanical_ReducedPolynomialN3;
|
||||
static const QString ModelUUID_Mechanical_Yeoh;
|
||||
|
||||
static const QString ModelUUID_Fluid_Default;
|
||||
|
||||
|
||||
@@ -28,12 +28,24 @@
|
||||
</Documentation>
|
||||
<Parameter Name="MaterialStandard" Type="String"/>
|
||||
</Attribute>
|
||||
<Attribute Name="ArrudaBoyce" ReadOnly="true">
|
||||
<Documentation>
|
||||
<UserDocu>UUID for model System:Mechanical/ArrudaBoyce</UserDocu>
|
||||
</Documentation>
|
||||
<Parameter Name="ArrudaBoyce" Type="String"/>
|
||||
</Attribute>
|
||||
<Attribute Name="Density" ReadOnly="true">
|
||||
<Documentation>
|
||||
<UserDocu>UUID for model System:Mechanical/Density</UserDocu>
|
||||
</Documentation>
|
||||
<Parameter Name="Density" Type="String"/>
|
||||
</Attribute>
|
||||
<Attribute Name="Hardness" ReadOnly="true">
|
||||
<Documentation>
|
||||
<UserDocu>UUID for model System:Mechanical/Hardness</UserDocu>
|
||||
</Documentation>
|
||||
<Parameter Name="Hardness" Type="String"/>
|
||||
</Attribute>
|
||||
<Attribute Name="IsotropicLinearElastic" ReadOnly="true">
|
||||
<Documentation>
|
||||
<UserDocu>UUID for model System:Mechanical/IsotropicLinearElastic</UserDocu>
|
||||
@@ -46,6 +58,36 @@
|
||||
</Documentation>
|
||||
<Parameter Name="LinearElastic" Type="String"/>
|
||||
</Attribute>
|
||||
<Attribute Name="MooneyRivlin" ReadOnly="true">
|
||||
<Documentation>
|
||||
<UserDocu>UUID for model System:Mechanical/MooneyRivlin</UserDocu>
|
||||
</Documentation>
|
||||
<Parameter Name="MooneyRivlin" Type="String"/>
|
||||
</Attribute>
|
||||
<Attribute Name="NeoHooke" ReadOnly="true">
|
||||
<Documentation>
|
||||
<UserDocu>UUID for model System:Mechanical/NeoHooke</UserDocu>
|
||||
</Documentation>
|
||||
<Parameter Name="NeoHooke" Type="String"/>
|
||||
</Attribute>
|
||||
<Attribute Name="OgdenN1" ReadOnly="true">
|
||||
<Documentation>
|
||||
<UserDocu>UUID for model System:Mechanical/OgdenN1</UserDocu>
|
||||
</Documentation>
|
||||
<Parameter Name="OgdenN1" Type="String"/>
|
||||
</Attribute>
|
||||
<Attribute Name="OgdenN2" ReadOnly="true">
|
||||
<Documentation>
|
||||
<UserDocu>UUID for model System:Mechanical/OgdenN2</UserDocu>
|
||||
</Documentation>
|
||||
<Parameter Name="OgdenN2" Type="String"/>
|
||||
</Attribute>
|
||||
<Attribute Name="OgdenN3" ReadOnly="true">
|
||||
<Documentation>
|
||||
<UserDocu>UUID for model System:Mechanical/OgdenN3</UserDocu>
|
||||
</Documentation>
|
||||
<Parameter Name="OgdenN3" Type="String"/>
|
||||
</Attribute>
|
||||
<Attribute Name="OgdenYld2004p18" ReadOnly="true">
|
||||
<Documentation>
|
||||
<UserDocu>UUID for model System:Mechanical/OgdenYld2004p18</UserDocu>
|
||||
@@ -58,6 +100,48 @@
|
||||
</Documentation>
|
||||
<Parameter Name="OrthotropicLinearElastic" Type="String"/>
|
||||
</Attribute>
|
||||
<Attribute Name="PolynomialN1" ReadOnly="true">
|
||||
<Documentation>
|
||||
<UserDocu>UUID for model System:Mechanical/PolynomialN1</UserDocu>
|
||||
</Documentation>
|
||||
<Parameter Name="PolynomialN1" Type="String"/>
|
||||
</Attribute>
|
||||
<Attribute Name="PolynomialN2" ReadOnly="true">
|
||||
<Documentation>
|
||||
<UserDocu>UUID for model System:Mechanical/PolynomialN2</UserDocu>
|
||||
</Documentation>
|
||||
<Parameter Name="PolynomialN2" Type="String"/>
|
||||
</Attribute>
|
||||
<Attribute Name="PolynomialN3" ReadOnly="true">
|
||||
<Documentation>
|
||||
<UserDocu>UUID for model System:Mechanical/PolynomialN3</UserDocu>
|
||||
</Documentation>
|
||||
<Parameter Name="PolynomialN3" Type="String"/>
|
||||
</Attribute>
|
||||
<Attribute Name="ReducedPolynomialN1" ReadOnly="true">
|
||||
<Documentation>
|
||||
<UserDocu>UUID for model System:Mechanical/ReducedPolynomialN1</UserDocu>
|
||||
</Documentation>
|
||||
<Parameter Name="ReducedPolynomialN1" Type="String"/>
|
||||
</Attribute>
|
||||
<Attribute Name="ReducedPolynomialN2" ReadOnly="true">
|
||||
<Documentation>
|
||||
<UserDocu>UUID for model System:Mechanical/ReducedPolynomialN2</UserDocu>
|
||||
</Documentation>
|
||||
<Parameter Name="ReducedPolynomialN2" Type="String"/>
|
||||
</Attribute>
|
||||
<Attribute Name="ReducedPolynomialN3" ReadOnly="true">
|
||||
<Documentation>
|
||||
<UserDocu>UUID for model System:Mechanical/ReducedPolynomialN3</UserDocu>
|
||||
</Documentation>
|
||||
<Parameter Name="ReducedPolynomialN3" Type="String"/>
|
||||
</Attribute>
|
||||
<Attribute Name="Yeoh" ReadOnly="true">
|
||||
<Documentation>
|
||||
<UserDocu>UUID for model System:Mechanical/Yeoh</UserDocu>
|
||||
</Documentation>
|
||||
<Parameter Name="Yeoh" Type="String"/>
|
||||
</Attribute>
|
||||
<Attribute Name="Fluid" ReadOnly="true">
|
||||
<Documentation>
|
||||
<UserDocu>UUID for model System:Fluid/Fluid</UserDocu>
|
||||
|
||||
@@ -57,11 +57,21 @@ Py::String UUIDsPy::getMaterialStandard() const
|
||||
return Py::String(ModelUUIDs::ModelUUID_Legacy_MaterialStandard.toStdString());
|
||||
}
|
||||
|
||||
Py::String UUIDsPy::getArrudaBoyce() const
|
||||
{
|
||||
return Py::String(ModelUUIDs::ModelUUID_Mechanical_ArrudaBoyce.toStdString());
|
||||
}
|
||||
|
||||
Py::String UUIDsPy::getDensity() const
|
||||
{
|
||||
return Py::String(ModelUUIDs::ModelUUID_Mechanical_Density.toStdString());
|
||||
}
|
||||
|
||||
Py::String UUIDsPy::getHardness() const
|
||||
{
|
||||
return Py::String(ModelUUIDs::ModelUUID_Mechanical_Hardness.toStdString());
|
||||
}
|
||||
|
||||
Py::String UUIDsPy::getIsotropicLinearElastic() const
|
||||
{
|
||||
return Py::String(ModelUUIDs::ModelUUID_Mechanical_IsotropicLinearElastic.toStdString());
|
||||
@@ -72,6 +82,31 @@ Py::String UUIDsPy::getLinearElastic() const
|
||||
return Py::String(ModelUUIDs::ModelUUID_Mechanical_LinearElastic.toStdString());
|
||||
}
|
||||
|
||||
Py::String UUIDsPy::getMooneyRivlin() const
|
||||
{
|
||||
return Py::String(ModelUUIDs::ModelUUID_Mechanical_MooneyRivlin.toStdString());
|
||||
}
|
||||
|
||||
Py::String UUIDsPy::getNeoHooke() const
|
||||
{
|
||||
return Py::String(ModelUUIDs::ModelUUID_Mechanical_NeoHooke.toStdString());
|
||||
}
|
||||
|
||||
Py::String UUIDsPy::getOgdenN1() const
|
||||
{
|
||||
return Py::String(ModelUUIDs::ModelUUID_Mechanical_OgdenN1.toStdString());
|
||||
}
|
||||
|
||||
Py::String UUIDsPy::getOgdenN2() const
|
||||
{
|
||||
return Py::String(ModelUUIDs::ModelUUID_Mechanical_OgdenN2.toStdString());
|
||||
}
|
||||
|
||||
Py::String UUIDsPy::getOgdenN3() const
|
||||
{
|
||||
return Py::String(ModelUUIDs::ModelUUID_Mechanical_OgdenN3.toStdString());
|
||||
}
|
||||
|
||||
Py::String UUIDsPy::getOgdenYld2004p18() const
|
||||
{
|
||||
return Py::String(ModelUUIDs::ModelUUID_Mechanical_OgdenYld2004p18.toStdString());
|
||||
@@ -82,6 +117,41 @@ Py::String UUIDsPy::getOrthotropicLinearElastic() const
|
||||
return Py::String(ModelUUIDs::ModelUUID_Mechanical_OrthotropicLinearElastic.toStdString());
|
||||
}
|
||||
|
||||
Py::String UUIDsPy::getPolynomialN1() const
|
||||
{
|
||||
return Py::String(ModelUUIDs::ModelUUID_Mechanical_PolynomialN1.toStdString());
|
||||
}
|
||||
|
||||
Py::String UUIDsPy::getPolynomialN2() const
|
||||
{
|
||||
return Py::String(ModelUUIDs::ModelUUID_Mechanical_PolynomialN2.toStdString());
|
||||
}
|
||||
|
||||
Py::String UUIDsPy::getPolynomialN3() const
|
||||
{
|
||||
return Py::String(ModelUUIDs::ModelUUID_Mechanical_PolynomialN3.toStdString());
|
||||
}
|
||||
|
||||
Py::String UUIDsPy::getReducedPolynomialN1() const
|
||||
{
|
||||
return Py::String(ModelUUIDs::ModelUUID_Mechanical_ReducedPolynomialN1.toStdString());
|
||||
}
|
||||
|
||||
Py::String UUIDsPy::getReducedPolynomialN2() const
|
||||
{
|
||||
return Py::String(ModelUUIDs::ModelUUID_Mechanical_ReducedPolynomialN2.toStdString());
|
||||
}
|
||||
|
||||
Py::String UUIDsPy::getReducedPolynomialN3() const
|
||||
{
|
||||
return Py::String(ModelUUIDs::ModelUUID_Mechanical_ReducedPolynomialN3.toStdString());
|
||||
}
|
||||
|
||||
Py::String UUIDsPy::getYeoh() const
|
||||
{
|
||||
return Py::String(ModelUUIDs::ModelUUID_Mechanical_Yeoh.toStdString());
|
||||
}
|
||||
|
||||
Py::String UUIDsPy::getFluid() const
|
||||
{
|
||||
return Py::String(ModelUUIDs::ModelUUID_Fluid_Default.toStdString());
|
||||
|
||||
@@ -238,6 +238,7 @@ SET(MaterialModel_Files
|
||||
Resources/Models/Legacy/MaterialStandard.yml
|
||||
Resources/Models/Mechanical/ArrudaBoyce.yml
|
||||
Resources/Models/Mechanical/Density.yml
|
||||
Resources/Models/Mechanical/Hardness.yml
|
||||
Resources/Models/Mechanical/IsotropicLinearElastic.yml
|
||||
Resources/Models/Mechanical/LinearElastic.yml
|
||||
Resources/Models/Mechanical/MooneyRivlin.yml
|
||||
|
||||
@@ -20,7 +20,10 @@ Models:
|
||||
UltimateTensileStrength: "975.5 MPa"
|
||||
YieldStrength: "910 MPa"
|
||||
YoungsModulus: "114 GPa"
|
||||
Hardness: "35 HRC"
|
||||
Hardness:
|
||||
UUID: '3d1a6141-d032-4d82-8bb5-a8f339fff8ad'
|
||||
Hardness: "35"
|
||||
HardnessUnits: "HRC"
|
||||
Thermal:
|
||||
UUID: '9959d007-a970-4ea7-bae4-3eb1b8b883c7'
|
||||
SpecificHeat: "553.0 J/kg/K"
|
||||
|
||||
43
src/Mod/Material/Resources/Models/Mechanical/Hardness.yml
Normal file
43
src/Mod/Material/Resources/Models/Mechanical/Hardness.yml
Normal file
@@ -0,0 +1,43 @@
|
||||
---
|
||||
# ***************************************************************************
|
||||
# * *
|
||||
# * Copyright (c) 2023 David Carter <dcarter@davidcarter.ca> *
|
||||
# * *
|
||||
# * This program is free software; you can redistribute it and/or modify *
|
||||
# * it under the terms of the GNU Lesser General Public License (LGPL) *
|
||||
# * as published by the Free Software Foundation; either version 2 of *
|
||||
# * the License, or (at your option) any later version. *
|
||||
# * for detail see the LICENCE text file. *
|
||||
# * *
|
||||
# * This program is distributed in the hope that it will be useful, *
|
||||
# * but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
# * GNU Library General Public License for more details. *
|
||||
# * *
|
||||
# * You should have received a copy of the GNU Library General Public *
|
||||
# * License along with this program; if not, write to the Free Software *
|
||||
# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 *
|
||||
# * USA *
|
||||
# * *
|
||||
# ***************************************************************************
|
||||
|
||||
Model:
|
||||
Name: 'Hardness'
|
||||
UUID: '3d1a6141-d032-4d82-8bb5-a8f339fff8ad'
|
||||
URL: 'https://en.wikipedia.org/wiki/Mohs_scale'
|
||||
Description: >
|
||||
Measure of the hardness of the material. FreeCAD does not define any
|
||||
hardness units so it is up to the module to interpret the units as
|
||||
appropriate.
|
||||
DOI: ''
|
||||
Hardness:
|
||||
Type: 'Float'
|
||||
Units: ''
|
||||
URL: 'https://en.wikipedia.org/wiki/Mohs_scale'
|
||||
Description: "Hardness. FreeCAD does not currently support hardness units"
|
||||
HardnessUnits:
|
||||
DisplayName: "Hardness Units"
|
||||
Type: 'String'
|
||||
Units: ''
|
||||
URL: 'https://en.wikipedia.org/wiki/Mohs_scale'
|
||||
Description: "Hardness units. FreeCAD does not currently support hardness units"
|
||||
@@ -80,8 +80,3 @@ Model:
|
||||
Units: 'N/m'
|
||||
URL: 'https://en.wikipedia.org/wiki/Stiffness'
|
||||
Description: "Stiffness (or Spring Stiffness) in [FreeCAD Stiffness unit]"
|
||||
Hardness:
|
||||
Type: 'Quantity'
|
||||
Units: ''
|
||||
URL: 'https://en.wikipedia.org/wiki/Mohs_scale'
|
||||
Description: "Hardness. FreeCAD does not currently support hardness units"
|
||||
|
||||
@@ -49,11 +49,25 @@ class ModelTestCases(unittest.TestCase):
|
||||
self.assertTrue(self.uuids.Father, "9cdda8b6-b606-4778-8f13-3934d8668e67")
|
||||
self.assertTrue(self.uuids.MaterialStandard, "1e2c0088-904a-4537-925f-64064c07d700")
|
||||
|
||||
self.assertTrue(self.uuids.ArrudaBoyce, "e10d00de-c7de-4e59-bcdd-058c2ea19ec6")
|
||||
self.assertTrue(self.uuids.Density, "454661e5-265b-4320-8e6f-fcf6223ac3af")
|
||||
self.assertTrue(self.uuids.Hardness, "3d1a6141-d032-4d82-8bb5-a8f339fff8ad")
|
||||
self.assertTrue(self.uuids.IsotropicLinearElastic, "f6f9e48c-b116-4e82-ad7f-3659a9219c50")
|
||||
self.assertTrue(self.uuids.LinearElastic,"7b561d1d-fb9b-44f6-9da9-56a4f74d7536")
|
||||
self.assertTrue(self.uuids.MooneyRivlin, "beeed169-7770-4da0-ab67-c9172cf7d23d")
|
||||
self.assertTrue(self.uuids.NeoHooke, "569ebc58-ef29-434a-83be-555a0980d505")
|
||||
self.assertTrue(self.uuids.OgdenN1, "a2634a2c-412f-468d-9bec-74ae5d87a9c0")
|
||||
self.assertTrue(self.uuids.OgdenN2, "233540bb-7b13-4f49-ac12-126a5c82cedf")
|
||||
self.assertTrue(self.uuids.OgdenN3, "a917d6b8-209f-429e-9972-fe4bbb97af3f")
|
||||
self.assertTrue(self.uuids.OgdenYld2004p18, "3ef9e427-cc25-43f7-817f-79ff0d49625f")
|
||||
self.assertTrue(self.uuids.OrthotropicLinearElastic, "b19ccc6b-a431-418e-91c2-0ac8c649d146")
|
||||
self.assertTrue(self.uuids.PolynomialN1, "285a6042-0f0c-4a36-a898-4afadd6408ce")
|
||||
self.assertTrue(self.uuids.PolynomialN2, "4c2fb7b2-5121-4d6f-be0d-8c5970c9e682")
|
||||
self.assertTrue(self.uuids.PolynomialN3, "e83ada22-947e-4beb-91e7-482a16f5ba77")
|
||||
self.assertTrue(self.uuids.ReducedPolynomialN1, "f8052a3c-db17-42ea-b2be-13aa5ef30730")
|
||||
self.assertTrue(self.uuids.ReducedPolynomialN2, "c52b5021-4bb8-441c-80d4-855fce9de15e")
|
||||
self.assertTrue(self.uuids.ReducedPolynomialN3, "fa4e58b4-74c7-4292-8e79-7d5fd232fb55")
|
||||
self.assertTrue(self.uuids.Yeoh, "cd13c492-21a9-4578-8191-deec003e4c01")
|
||||
|
||||
self.assertTrue(self.uuids.Fluid, "1ae66d8c-1ba1-4211-ad12-b9917573b202")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user