Add property models for FEM
This commit is contained in:
2
src/3rdParty/OndselSolver
vendored
2
src/3rdParty/OndselSolver
vendored
Submodule src/3rdParty/OndselSolver updated: 3952f45945...fe99ad2593
@@ -39,11 +39,13 @@ ModelProperty::ModelProperty()
|
||||
{}
|
||||
|
||||
ModelProperty::ModelProperty(const QString& name,
|
||||
const QString& header,
|
||||
const QString& type,
|
||||
const QString& units,
|
||||
const QString& url,
|
||||
const QString& description)
|
||||
: _name(name)
|
||||
, _displayName(header)
|
||||
, _propertyType(type)
|
||||
, _units(units)
|
||||
, _url(url)
|
||||
@@ -52,6 +54,7 @@ ModelProperty::ModelProperty(const QString& name,
|
||||
|
||||
ModelProperty::ModelProperty(const ModelProperty& other)
|
||||
: _name(other._name)
|
||||
, _displayName(other._displayName)
|
||||
, _propertyType(other._propertyType)
|
||||
, _units(other._units)
|
||||
, _url(other._url)
|
||||
@@ -63,6 +66,14 @@ ModelProperty::ModelProperty(const ModelProperty& other)
|
||||
}
|
||||
}
|
||||
|
||||
const QString ModelProperty::getDisplayName() const
|
||||
{
|
||||
if (_displayName.isEmpty()) {
|
||||
return getName();
|
||||
}
|
||||
return _displayName;
|
||||
}
|
||||
|
||||
ModelProperty& ModelProperty::operator=(const ModelProperty& other)
|
||||
{
|
||||
if (this == &other) {
|
||||
@@ -70,6 +81,7 @@ ModelProperty& ModelProperty::operator=(const ModelProperty& other)
|
||||
}
|
||||
|
||||
_name = other._name;
|
||||
_displayName = other._displayName;
|
||||
_propertyType = other._propertyType;
|
||||
_units = other._units;
|
||||
_url = other._url;
|
||||
@@ -89,7 +101,7 @@ bool ModelProperty::operator==(const ModelProperty& other) const
|
||||
return true;
|
||||
}
|
||||
|
||||
return (_name == other._name) && (_propertyType == other._propertyType)
|
||||
return (_name == other._name) && (_displayName == other._displayName) && (_propertyType == other._propertyType)
|
||||
&& (_units == other._units) && (_url == other._url) && (_description == other._description)
|
||||
&& (_inheritance == other._inheritance);
|
||||
}
|
||||
|
||||
@@ -56,6 +56,7 @@ class MaterialsExport ModelProperty: public Base::BaseClass
|
||||
public:
|
||||
ModelProperty();
|
||||
ModelProperty(const QString& name,
|
||||
const QString& header,
|
||||
const QString& type,
|
||||
const QString& units,
|
||||
const QString& url,
|
||||
@@ -67,6 +68,7 @@ public:
|
||||
{
|
||||
return _name;
|
||||
}
|
||||
const QString getDisplayName() const;
|
||||
const QString getPropertyType() const
|
||||
{
|
||||
return _propertyType;
|
||||
@@ -96,6 +98,10 @@ public:
|
||||
{
|
||||
_name = name;
|
||||
}
|
||||
void setColumnHeader(const QString& header)
|
||||
{
|
||||
_displayName = header;
|
||||
}
|
||||
virtual void setPropertyType(const QString& type)
|
||||
{
|
||||
_propertyType = type;
|
||||
@@ -139,6 +145,7 @@ public:
|
||||
|
||||
private:
|
||||
QString _name;
|
||||
QString _displayName;
|
||||
QString _propertyType;
|
||||
QString _units;
|
||||
QString _url;
|
||||
|
||||
@@ -254,6 +254,7 @@ void ModelLoader::addToTree(std::shared_ptr<ModelEntry> model,
|
||||
if (exclude.count(QString::fromStdString(propName)) == 0) {
|
||||
// showYaml(it->second);
|
||||
auto yamlProp = yamlProperties[propName];
|
||||
auto propDisplayName = yamlValue(yamlProp, "DisplayName", "");
|
||||
auto propType = yamlValue(yamlProp, "Type", "");
|
||||
auto propUnits = yamlValue(yamlProp, "Units", "");
|
||||
auto propURL = yamlValue(yamlProp, "URL", "");
|
||||
@@ -261,6 +262,7 @@ void ModelLoader::addToTree(std::shared_ptr<ModelEntry> model,
|
||||
// auto inherits = yamlValue(yamlProp, "Inherits", "");
|
||||
|
||||
ModelProperty property(QString::fromStdString(propName),
|
||||
propDisplayName,
|
||||
propType,
|
||||
propUnits,
|
||||
propURL,
|
||||
@@ -276,11 +278,13 @@ void ModelLoader::addToTree(std::shared_ptr<ModelEntry> model,
|
||||
// Base::Console().Log("\tColumns '%s'\n", colName.c_str());
|
||||
|
||||
auto colProp = cols[colName];
|
||||
auto colPropDisplayName = yamlValue(colProp, "DisplayName", "");
|
||||
auto colPropType = yamlValue(colProp, "Type", "");
|
||||
auto colPropUnits = yamlValue(colProp, "Units", "");
|
||||
auto colPropURL = yamlValue(colProp, "URL", "");
|
||||
auto colPropDescription = yamlValue(colProp, "Description", "");
|
||||
ModelProperty colProperty(QString::fromStdString(colName),
|
||||
colPropDisplayName,
|
||||
colPropType,
|
||||
colPropUnits,
|
||||
colPropURL,
|
||||
|
||||
@@ -232,11 +232,24 @@ SET(MaterialModel_Files
|
||||
Resources/Models/Fluid/Fluid.yml
|
||||
Resources/Models/Legacy/Father.yml
|
||||
Resources/Models/Legacy/MaterialStandard.yml
|
||||
Resources/Models/Mechanical/ArrudaBoyce.yml
|
||||
Resources/Models/Mechanical/Density.yml
|
||||
Resources/Models/Mechanical/IsotropicLinearElastic.yml
|
||||
Resources/Models/Mechanical/LinearElastic.yml
|
||||
Resources/Models/Mechanical/MooneyRivlin.yml
|
||||
Resources/Models/Mechanical/NeoHooke.yml
|
||||
Resources/Models/Mechanical/OgdenN1.yml
|
||||
Resources/Models/Mechanical/OgdenN2.yml
|
||||
Resources/Models/Mechanical/OgdenN3.yml
|
||||
Resources/Models/Mechanical/OgdenYld2004p18.yml
|
||||
Resources/Models/Mechanical/OrthotropicLinearElastic.yml
|
||||
Resources/Models/Mechanical/PolynomialN1.yml
|
||||
Resources/Models/Mechanical/PolynomialN2.yml
|
||||
Resources/Models/Mechanical/PolynomialN3.yml
|
||||
Resources/Models/Mechanical/ReducedPolynomialN1.yml
|
||||
Resources/Models/Mechanical/ReducedPolynomialN2.yml
|
||||
Resources/Models/Mechanical/ReducedPolynomialN3.yml
|
||||
Resources/Models/Mechanical/Yeoh.yml
|
||||
Resources/Models/Patterns/PAT.yml
|
||||
"Resources/Models/Patterns/Pattern File.yml"
|
||||
"Resources/Models/Render Workbench/RenderAppleseed.yml"
|
||||
|
||||
@@ -62,6 +62,7 @@ Array2D::Array2D(const QString& propertyName,
|
||||
if (_property) {
|
||||
_value =
|
||||
std::static_pointer_cast<Materials::Material2DArray>(_property->getMaterialValue());
|
||||
setWindowTitle(_property->getDisplayName());
|
||||
}
|
||||
else {
|
||||
_value = nullptr;
|
||||
@@ -81,16 +82,6 @@ Array2D::Array2D(const QString& propertyName,
|
||||
connect(ui->standardButtons, &QDialogButtonBox::rejected, this, &Array2D::reject);
|
||||
}
|
||||
|
||||
void Array2D::setHeaders(QStandardItemModel* model)
|
||||
{
|
||||
QStringList headers;
|
||||
auto columns = _property->getColumns();
|
||||
for (auto column = columns.begin(); column != columns.end(); column++) {
|
||||
headers.append(column->getName());
|
||||
}
|
||||
model->setHorizontalHeaderLabels(headers);
|
||||
}
|
||||
|
||||
void Array2D::setColumnWidths(QTableView* table)
|
||||
{
|
||||
int length = _property->columns();
|
||||
|
||||
@@ -68,7 +68,6 @@ private:
|
||||
|
||||
QAction _deleteAction;
|
||||
|
||||
void setHeaders(QStandardItemModel* model);
|
||||
void setColumnWidths(QTableView* table);
|
||||
void setColumnDelegates(QTableView* table);
|
||||
void setupArray();
|
||||
|
||||
@@ -111,7 +111,7 @@ QVariant Array2DModel::headerData(int section, Qt::Orientation orientation, int
|
||||
if (role == Qt::DisplayRole) {
|
||||
if (orientation == Qt::Horizontal) {
|
||||
const Materials::MaterialProperty& column = _property->getColumn(section);
|
||||
return column.getName();
|
||||
return column.getDisplayName();
|
||||
}
|
||||
else if (orientation == Qt::Vertical) {
|
||||
// Vertical header
|
||||
@@ -251,7 +251,7 @@ QVariant Array3DDepthModel::headerData(int section, Qt::Orientation orientation,
|
||||
if (role == Qt::DisplayRole) {
|
||||
if (orientation == Qt::Horizontal) {
|
||||
const Materials::MaterialProperty& column = _property->getColumn(section);
|
||||
return column.getName();
|
||||
return column.getDisplayName();
|
||||
}
|
||||
if (orientation == Qt::Vertical) {
|
||||
// Vertical header
|
||||
@@ -406,7 +406,7 @@ QVariant Array3DModel::headerData(int section, Qt::Orientation orientation, int
|
||||
if (role == Qt::DisplayRole) {
|
||||
if (orientation == Qt::Horizontal) {
|
||||
const Materials::MaterialProperty& column = _property->getColumn(section + 1);
|
||||
return column.getName();
|
||||
return column.getDisplayName();
|
||||
}
|
||||
if (orientation == Qt::Vertical) {
|
||||
// Vertical header
|
||||
|
||||
60
src/Mod/Material/Resources/Models/Mechanical/ArrudaBoyce.yml
Normal file
60
src/Mod/Material/Resources/Models/Mechanical/ArrudaBoyce.yml
Normal file
@@ -0,0 +1,60 @@
|
||||
---
|
||||
# ***************************************************************************
|
||||
# * *
|
||||
# * 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: 'ArrudaBoyce'
|
||||
UUID: 'e10d00de-c7de-4e59-bcdd-058c2ea19ec6'
|
||||
URL: 'http://www.dhondt.de/ccx_2.21.pdf'
|
||||
Description: >
|
||||
A hyperelastic constitutive model used to describe the mechanical
|
||||
behavior of rubber and other polymeric substances
|
||||
ArrudaBoyce:
|
||||
DisplayName: "Arruda-Boyce"
|
||||
Type: '2DArray'
|
||||
Columns:
|
||||
Temperature:
|
||||
Type: 'Quantity'
|
||||
Units: 'C'
|
||||
URL: ''
|
||||
Description: "Temperature"
|
||||
Mu:
|
||||
DisplayName: 'μ'
|
||||
Type: 'Quantity'
|
||||
Units: 'Pa'
|
||||
URL: ''
|
||||
Description: "μ [FreeCAD Pressure unit]"
|
||||
LambdaM:
|
||||
DisplayName: 'λm'
|
||||
Type: 'Float'
|
||||
Units: ''
|
||||
URL: ''
|
||||
Description: "λm"
|
||||
D:
|
||||
Type: 'Quantity'
|
||||
Units: '1/Pa'
|
||||
URL: ''
|
||||
Description: "D [1/FreeCAD Pressure unit]"
|
||||
URL: ''
|
||||
Description: >
|
||||
2 Dimensional array showing Arruda-Boyce properties as
|
||||
a function of temperature
|
||||
@@ -0,0 +1,59 @@
|
||||
---
|
||||
# ***************************************************************************
|
||||
# * *
|
||||
# * 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: 'MooneyRivlin'
|
||||
UUID: 'beeed169-7770-4da0-ab67-c9172cf7d23d'
|
||||
URL: 'http://www.dhondt.de/ccx_2.21.pdf'
|
||||
Description: >
|
||||
A hyperelastic material model where the strain energy density function
|
||||
W is a linear combination of two invariants of the left Cauchy–Green
|
||||
deformation tensor B
|
||||
MooneyRivlin:
|
||||
DisplayName: "Mooney-Rivlin"
|
||||
Type: '2DArray'
|
||||
Columns:
|
||||
Temperature:
|
||||
Type: 'Quantity'
|
||||
Units: 'C'
|
||||
URL: ''
|
||||
Description: ""
|
||||
C10:
|
||||
Type: 'Quantity'
|
||||
Units: 'Pa'
|
||||
URL: ''
|
||||
Description: ""
|
||||
C01:
|
||||
Type: 'Quantity'
|
||||
Units: 'Pa'
|
||||
URL: ''
|
||||
Description: ""
|
||||
D1:
|
||||
Type: 'Quantity'
|
||||
Units: '1/Pa'
|
||||
URL: ''
|
||||
Description: "D [1/FreeCAD Pressure unit]"
|
||||
URL: ''
|
||||
Description: >
|
||||
2 Dimensional array showing Mooney-Rivlin properties as
|
||||
a function of temperature
|
||||
54
src/Mod/Material/Resources/Models/Mechanical/NeoHooke.yml
Normal file
54
src/Mod/Material/Resources/Models/Mechanical/NeoHooke.yml
Normal file
@@ -0,0 +1,54 @@
|
||||
---
|
||||
# ***************************************************************************
|
||||
# * *
|
||||
# * 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: 'NeoHooke'
|
||||
UUID: '569ebc58-ef29-434a-83be-555a0980d505'
|
||||
URL: 'http://www.dhondt.de/ccx_2.21.pdf'
|
||||
Description: >
|
||||
A neo-Hookean solid is a hyperelastic material model, similar to
|
||||
Hooke's law, that can be used for predicting the nonlinear stress-strain
|
||||
behavior of materials undergoing large deformations.
|
||||
NeoHooke:
|
||||
DisplayName: "neo-Hooke"
|
||||
Type: '2DArray'
|
||||
Columns:
|
||||
Temperature:
|
||||
Type: 'Quantity'
|
||||
Units: 'C'
|
||||
URL: ''
|
||||
Description: ""
|
||||
C10:
|
||||
Type: 'Quantity'
|
||||
Units: 'Pa'
|
||||
URL: ''
|
||||
Description: ""
|
||||
D1:
|
||||
Type: 'Quantity'
|
||||
Units: '1/Pa'
|
||||
URL: ''
|
||||
Description: "D [1/FreeCAD Pressure unit]"
|
||||
URL: ''
|
||||
Description: >
|
||||
2 Dimensional array showing neo-Hooke properties as
|
||||
a function of temperature
|
||||
61
src/Mod/Material/Resources/Models/Mechanical/OgdenN1.yml
Normal file
61
src/Mod/Material/Resources/Models/Mechanical/OgdenN1.yml
Normal file
@@ -0,0 +1,61 @@
|
||||
---
|
||||
# ***************************************************************************
|
||||
# * *
|
||||
# * 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: 'OgdenN1'
|
||||
UUID: 'a2634a2c-412f-468d-9bec-74ae5d87a9c0'
|
||||
URL: 'http://www.dhondt.de/ccx_2.21.pdf'
|
||||
Description: >
|
||||
The Ogden material model is a hyperelastic material model used to
|
||||
describe the non-linear stress–strain behaviour of complex materials
|
||||
such as rubbers, polymers, and biological tissue.
|
||||
OgdenN1:
|
||||
DisplayName: "Ogden N=1"
|
||||
Type: '2DArray'
|
||||
Columns:
|
||||
Temperature:
|
||||
Type: 'Quantity'
|
||||
Units: 'C'
|
||||
URL: ''
|
||||
Description: "Temperature"
|
||||
Mu1:
|
||||
DisplayName: 'μ1'
|
||||
Type: 'Quantity'
|
||||
Units: 'Pa'
|
||||
URL: ''
|
||||
Description: "μ1 [FreeCAD Pressure unit]"
|
||||
Alpha1:
|
||||
DisplayName: 'α1'
|
||||
Type: 'Float'
|
||||
Units: ''
|
||||
URL: ''
|
||||
Description: "α1"
|
||||
D1:
|
||||
Type: 'Quantity'
|
||||
Units: '1/Pa'
|
||||
URL: ''
|
||||
Description: "D1 [1/FreeCAD Pressure unit]"
|
||||
URL: ''
|
||||
Description: >
|
||||
2 Dimensional array showing Ogden N=1 properties as
|
||||
a function of temperature
|
||||
78
src/Mod/Material/Resources/Models/Mechanical/OgdenN2.yml
Normal file
78
src/Mod/Material/Resources/Models/Mechanical/OgdenN2.yml
Normal file
@@ -0,0 +1,78 @@
|
||||
---
|
||||
# ***************************************************************************
|
||||
# * *
|
||||
# * 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: 'OgdenN2'
|
||||
UUID: '233540bb-7b13-4f49-ac12-126a5c82cedf'
|
||||
URL: 'http://www.dhondt.de/ccx_2.21.pdf'
|
||||
Description: >
|
||||
The Ogden material model is a hyperelastic material model used to
|
||||
describe the non-linear stress–strain behaviour of complex materials
|
||||
such as rubbers, polymers, and biological tissue.
|
||||
OgdenN2:
|
||||
DisplayName: "Ogden N=2"
|
||||
Type: '2DArray'
|
||||
Columns:
|
||||
Temperature:
|
||||
Type: 'Quantity'
|
||||
Units: 'C'
|
||||
URL: ''
|
||||
Description: "Temperature"
|
||||
Mu1:
|
||||
DisplayName: 'μ1'
|
||||
Type: 'Quantity'
|
||||
Units: 'Pa'
|
||||
URL: ''
|
||||
Description: "μ1 [FreeCAD Pressure unit]"
|
||||
Mu2:
|
||||
DisplayName: 'μ2'
|
||||
Type: 'Quantity'
|
||||
Units: 'Pa'
|
||||
URL: ''
|
||||
Description: "μ2 [FreeCAD Pressure unit]"
|
||||
Alpha1:
|
||||
DisplayName: 'α1'
|
||||
Type: 'Float'
|
||||
Units: ''
|
||||
URL: ''
|
||||
Description: "α1"
|
||||
Alpha2:
|
||||
DisplayName: 'α2'
|
||||
Type: 'Float'
|
||||
Units: ''
|
||||
URL: ''
|
||||
Description: "α2"
|
||||
D1:
|
||||
Type: 'Quantity'
|
||||
Units: '1/Pa'
|
||||
URL: ''
|
||||
Description: "D1 [1/FreeCAD Pressure unit]"
|
||||
D2:
|
||||
Type: 'Quantity'
|
||||
Units: '1/Pa'
|
||||
URL: ''
|
||||
Description: "D2 [1/FreeCAD Pressure unit]"
|
||||
URL: ''
|
||||
Description: >
|
||||
2 Dimensional array showing Ogden N=2 properties as
|
||||
a function of temperature
|
||||
95
src/Mod/Material/Resources/Models/Mechanical/OgdenN3.yml
Normal file
95
src/Mod/Material/Resources/Models/Mechanical/OgdenN3.yml
Normal file
@@ -0,0 +1,95 @@
|
||||
---
|
||||
# ***************************************************************************
|
||||
# * *
|
||||
# * 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: 'OgdenN3'
|
||||
UUID: 'a917d6b8-209f-429e-9972-fe4bbb97af3f'
|
||||
URL: 'http://www.dhondt.de/ccx_2.21.pdf'
|
||||
Description: >
|
||||
The Ogden material model is a hyperelastic material model used to
|
||||
describe the non-linear stress–strain behaviour of complex materials
|
||||
such as rubbers, polymers, and biological tissue.
|
||||
OgdenN3:
|
||||
DisplayName: "Ogden N=3"
|
||||
Type: '2DArray'
|
||||
Columns:
|
||||
Temperature:
|
||||
Type: 'Quantity'
|
||||
Units: 'C'
|
||||
URL: ''
|
||||
Description: "Temperature"
|
||||
Mu1:
|
||||
DisplayName: 'μ1'
|
||||
Type: 'Quantity'
|
||||
Units: 'Pa'
|
||||
URL: ''
|
||||
Description: "μ1 [FreeCAD Pressure unit]"
|
||||
Mu2:
|
||||
DisplayName: 'μ2'
|
||||
Type: 'Quantity'
|
||||
Units: 'Pa'
|
||||
URL: ''
|
||||
Description: "μ2 [FreeCAD Pressure unit]"
|
||||
Mu3:
|
||||
DisplayName: 'μ3'
|
||||
Type: 'Quantity'
|
||||
Units: 'Pa'
|
||||
URL: ''
|
||||
Description: "μ1 [FreeCAD Pressure unit]"
|
||||
Alpha1:
|
||||
DisplayName: 'α1'
|
||||
Type: 'Float'
|
||||
Units: ''
|
||||
URL: ''
|
||||
Description: "α1"
|
||||
Alpha2:
|
||||
DisplayName: 'α2'
|
||||
Type: 'Float'
|
||||
Units: ''
|
||||
URL: ''
|
||||
Description: "α2"
|
||||
Alpha3:
|
||||
DisplayName: 'α3'
|
||||
Type: 'Float'
|
||||
Units: ''
|
||||
URL: ''
|
||||
Description: "α3"
|
||||
D1:
|
||||
Type: 'Quantity'
|
||||
Units: '1/Pa'
|
||||
URL: ''
|
||||
Description: "D1 [1/FreeCAD Pressure unit]"
|
||||
D2:
|
||||
Type: 'Quantity'
|
||||
Units: '1/Pa'
|
||||
URL: ''
|
||||
Description: "D2 [1/FreeCAD Pressure unit]"
|
||||
D3:
|
||||
Type: 'Quantity'
|
||||
Units: '1/Pa'
|
||||
URL: ''
|
||||
Description: "D3 [1/FreeCAD Pressure unit]"
|
||||
URL: ''
|
||||
Description: >
|
||||
2 Dimensional array showing Ogden N=3 properties as
|
||||
a function of temperature
|
||||
@@ -0,0 +1,58 @@
|
||||
---
|
||||
# ***************************************************************************
|
||||
# * *
|
||||
# * 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: 'PolynomialN1'
|
||||
UUID: '285a6042-0f0c-4a36-a898-4afadd6408ce'
|
||||
URL: 'http://www.dhondt.de/ccx_2.21.pdf'
|
||||
Description: >
|
||||
The polynomial hyperelastic material model is a phenomenological model
|
||||
of rubber elasticity.
|
||||
PolynomialN1:
|
||||
DisplayName: "Polynomial N=1"
|
||||
Type: '2DArray'
|
||||
Columns:
|
||||
Temperature:
|
||||
Type: 'Quantity'
|
||||
Units: 'C'
|
||||
URL: ''
|
||||
Description: ""
|
||||
C10:
|
||||
Type: 'Quantity'
|
||||
Units: 'Pa'
|
||||
URL: ''
|
||||
Description: ""
|
||||
C01:
|
||||
Type: 'Quantity'
|
||||
Units: 'Pa'
|
||||
URL: ''
|
||||
Description: ""
|
||||
D1:
|
||||
Type: 'Quantity'
|
||||
Units: '1/Pa'
|
||||
URL: ''
|
||||
Description: "D [1/FreeCAD Pressure unit]"
|
||||
URL: ''
|
||||
Description: >
|
||||
2 Dimensional array showing Polynomial N=1 properties as
|
||||
a function of temperature
|
||||
@@ -0,0 +1,78 @@
|
||||
---
|
||||
# ***************************************************************************
|
||||
# * *
|
||||
# * 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: 'PolynomialN2'
|
||||
UUID: '4c2fb7b2-5121-4d6f-be0d-8c5970c9e682'
|
||||
URL: 'http://www.dhondt.de/ccx_2.21.pdf'
|
||||
Description: >
|
||||
The polynomial hyperelastic material model is a phenomenological model
|
||||
of rubber elasticity.
|
||||
PolynomialN2:
|
||||
DisplayName: "Polynomial N=2"
|
||||
Type: '2DArray'
|
||||
Columns:
|
||||
Temperature:
|
||||
Type: 'Quantity'
|
||||
Units: 'C'
|
||||
URL: ''
|
||||
Description: ""
|
||||
C10:
|
||||
Type: 'Quantity'
|
||||
Units: 'Pa'
|
||||
URL: ''
|
||||
Description: ""
|
||||
C01:
|
||||
Type: 'Quantity'
|
||||
Units: 'Pa'
|
||||
URL: ''
|
||||
Description: ""
|
||||
C20:
|
||||
Type: 'Quantity'
|
||||
Units: 'Pa'
|
||||
URL: ''
|
||||
Description: ""
|
||||
C11:
|
||||
Type: 'Quantity'
|
||||
Units: 'Pa'
|
||||
URL: ''
|
||||
Description: ""
|
||||
C02:
|
||||
Type: 'Quantity'
|
||||
Units: 'Pa'
|
||||
URL: ''
|
||||
Description: ""
|
||||
D1:
|
||||
Type: 'Quantity'
|
||||
Units: '1/Pa'
|
||||
URL: ''
|
||||
Description: "D1 [1/FreeCAD Pressure unit]"
|
||||
D2:
|
||||
Type: 'Quantity'
|
||||
Units: '1/Pa'
|
||||
URL: ''
|
||||
Description: "D2 [1/FreeCAD Pressure unit]"
|
||||
URL: ''
|
||||
Description: >
|
||||
2 Dimensional array showing Polynomial N=2 properties as
|
||||
a function of temperature
|
||||
103
src/Mod/Material/Resources/Models/Mechanical/PolynomialN3.yml
Normal file
103
src/Mod/Material/Resources/Models/Mechanical/PolynomialN3.yml
Normal file
@@ -0,0 +1,103 @@
|
||||
---
|
||||
# ***************************************************************************
|
||||
# * *
|
||||
# * 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: 'PolynomialN3'
|
||||
UUID: 'e83ada22-947e-4beb-91e7-482a16f5ba77'
|
||||
URL: 'http://www.dhondt.de/ccx_2.21.pdf'
|
||||
Description: >
|
||||
The polynomial hyperelastic material model is a phenomenological model
|
||||
of rubber elasticity.
|
||||
PolynomialN3:
|
||||
DisplayName: "Polynomial N=3"
|
||||
Type: '2DArray'
|
||||
Columns:
|
||||
Temperature:
|
||||
Type: 'Quantity'
|
||||
Units: 'C'
|
||||
URL: ''
|
||||
Description: ""
|
||||
C10:
|
||||
Type: 'Quantity'
|
||||
Units: 'Pa'
|
||||
URL: ''
|
||||
Description: ""
|
||||
C01:
|
||||
Type: 'Quantity'
|
||||
Units: 'Pa'
|
||||
URL: ''
|
||||
Description: ""
|
||||
C20:
|
||||
Type: 'Quantity'
|
||||
Units: 'Pa'
|
||||
URL: ''
|
||||
Description: ""
|
||||
C11:
|
||||
Type: 'Quantity'
|
||||
Units: 'Pa'
|
||||
URL: ''
|
||||
Description: ""
|
||||
C02:
|
||||
Type: 'Quantity'
|
||||
Units: 'Pa'
|
||||
URL: ''
|
||||
Description: ""
|
||||
C30:
|
||||
Type: 'Quantity'
|
||||
Units: 'Pa'
|
||||
URL: ''
|
||||
Description: ""
|
||||
C21:
|
||||
Type: 'Quantity'
|
||||
Units: 'Pa'
|
||||
URL: ''
|
||||
Description: ""
|
||||
C12:
|
||||
Type: 'Quantity'
|
||||
Units: 'Pa'
|
||||
URL: ''
|
||||
Description: ""
|
||||
C03:
|
||||
Type: 'Quantity'
|
||||
Units: 'Pa'
|
||||
URL: ''
|
||||
Description: ""
|
||||
D1:
|
||||
Type: 'Quantity'
|
||||
Units: '1/Pa'
|
||||
URL: ''
|
||||
Description: "D1 [1/FreeCAD Pressure unit]"
|
||||
D2:
|
||||
Type: 'Quantity'
|
||||
Units: '1/Pa'
|
||||
URL: ''
|
||||
Description: "D2 [1/FreeCAD Pressure unit]"
|
||||
D3:
|
||||
Type: 'Quantity'
|
||||
Units: '1/Pa'
|
||||
URL: ''
|
||||
Description: "D3 [1/FreeCAD Pressure unit]"
|
||||
URL: ''
|
||||
Description: >
|
||||
2 Dimensional array showing Polynomial N=3 properties as
|
||||
a function of temperature
|
||||
@@ -0,0 +1,53 @@
|
||||
---
|
||||
# ***************************************************************************
|
||||
# * *
|
||||
# * 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: 'ReducdedPolynomialN1'
|
||||
UUID: 'f8052a3c-db17-42ea-b2be-13aa5ef30730'
|
||||
URL: 'http://www.dhondt.de/ccx_2.21.pdf'
|
||||
Description: >
|
||||
The polynomial hyperelastic material model is a phenomenological model
|
||||
of rubber elasticity.
|
||||
ReducdedPolynomialN1:
|
||||
DisplayName: "Reduced Polynomial N=1"
|
||||
Type: '2DArray'
|
||||
Columns:
|
||||
Temperature:
|
||||
Type: 'Quantity'
|
||||
Units: 'C'
|
||||
URL: ''
|
||||
Description: ""
|
||||
C10:
|
||||
Type: 'Quantity'
|
||||
Units: 'Pa'
|
||||
URL: ''
|
||||
Description: ""
|
||||
D1:
|
||||
Type: 'Quantity'
|
||||
Units: '1/Pa'
|
||||
URL: ''
|
||||
Description: "D1 [1/FreeCAD Pressure unit]"
|
||||
URL: ''
|
||||
Description: >
|
||||
2 Dimensional array showing Reduced Polynomial N=1 properties as
|
||||
a function of temperature
|
||||
@@ -0,0 +1,63 @@
|
||||
---
|
||||
# ***************************************************************************
|
||||
# * *
|
||||
# * 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: 'ReducdedPolynomialN2'
|
||||
UUID: 'c52b5021-4bb8-441c-80d4-855fce9de15e'
|
||||
URL: 'http://www.dhondt.de/ccx_2.21.pdf'
|
||||
Description: >
|
||||
The polynomial hyperelastic material model is a phenomenological model
|
||||
of rubber elasticity.
|
||||
ReducdedPolynomialN2:
|
||||
DisplayName: "Reduced Polynomial N=2"
|
||||
Type: '2DArray'
|
||||
Columns:
|
||||
Temperature:
|
||||
Type: 'Quantity'
|
||||
Units: 'C'
|
||||
URL: ''
|
||||
Description: ""
|
||||
C10:
|
||||
Type: 'Quantity'
|
||||
Units: 'Pa'
|
||||
URL: ''
|
||||
Description: ""
|
||||
C20:
|
||||
Type: 'Quantity'
|
||||
Units: 'Pa'
|
||||
URL: ''
|
||||
Description: ""
|
||||
D1:
|
||||
Type: 'Quantity'
|
||||
Units: '1/Pa'
|
||||
URL: ''
|
||||
Description: "D1 [1/FreeCAD Pressure unit]"
|
||||
D2:
|
||||
Type: 'Quantity'
|
||||
Units: '1/Pa'
|
||||
URL: ''
|
||||
Description: "D2 [1/FreeCAD Pressure unit]"
|
||||
URL: ''
|
||||
Description: >
|
||||
2 Dimensional array showing Reduced Polynomial N=2 properties as
|
||||
a function of temperature
|
||||
@@ -0,0 +1,73 @@
|
||||
---
|
||||
# ***************************************************************************
|
||||
# * *
|
||||
# * 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: 'ReducdedPolynomialN3'
|
||||
UUID: 'fa4e58b4-74c7-4292-8e79-7d5fd232fb55'
|
||||
URL: 'http://www.dhondt.de/ccx_2.21.pdf'
|
||||
Description: >
|
||||
The polynomial hyperelastic material model is a phenomenological model
|
||||
of rubber elasticity.
|
||||
ReducdedPolynomialN3:
|
||||
DisplayName: "Reduced Polynomial N=3"
|
||||
Type: '2DArray'
|
||||
Columns:
|
||||
Temperature:
|
||||
Type: 'Quantity'
|
||||
Units: 'C'
|
||||
URL: ''
|
||||
Description: ""
|
||||
C10:
|
||||
Type: 'Quantity'
|
||||
Units: 'Pa'
|
||||
URL: ''
|
||||
Description: ""
|
||||
C20:
|
||||
Type: 'Quantity'
|
||||
Units: 'Pa'
|
||||
URL: ''
|
||||
Description: ""
|
||||
C30:
|
||||
Type: 'Quantity'
|
||||
Units: 'Pa'
|
||||
URL: ''
|
||||
Description: ""
|
||||
D1:
|
||||
Type: 'Quantity'
|
||||
Units: '1/Pa'
|
||||
URL: ''
|
||||
Description: "D1 [1/FreeCAD Pressure unit]"
|
||||
D2:
|
||||
Type: 'Quantity'
|
||||
Units: '1/Pa'
|
||||
URL: ''
|
||||
Description: "D2 [1/FreeCAD Pressure unit]"
|
||||
D3:
|
||||
Type: 'Quantity'
|
||||
Units: '1/Pa'
|
||||
URL: ''
|
||||
Description: "D3 [1/FreeCAD Pressure unit]"
|
||||
URL: ''
|
||||
Description: >
|
||||
2 Dimensional array showing Reduced Polynomial N=3 properties as
|
||||
a function of temperature
|
||||
73
src/Mod/Material/Resources/Models/Mechanical/Yeoh.yml
Normal file
73
src/Mod/Material/Resources/Models/Mechanical/Yeoh.yml
Normal file
@@ -0,0 +1,73 @@
|
||||
---
|
||||
# ***************************************************************************
|
||||
# * *
|
||||
# * 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: 'Yeoh'
|
||||
UUID: 'cd13c492-21a9-4578-8191-deec003e4c01'
|
||||
URL: 'http://www.dhondt.de/ccx_2.21.pdf'
|
||||
Description: >
|
||||
The Yeoh hyperelastic material model is a phenomenological model for
|
||||
the deformation of nearly incompressible, nonlinear elastic materials
|
||||
such as rubber.
|
||||
Yeoh:
|
||||
Type: '2DArray'
|
||||
Columns:
|
||||
Temperature:
|
||||
Type: 'Quantity'
|
||||
Units: 'C'
|
||||
URL: ''
|
||||
Description: ""
|
||||
C10:
|
||||
Type: 'Quantity'
|
||||
Units: 'Pa'
|
||||
URL: ''
|
||||
Description: ""
|
||||
C20:
|
||||
Type: 'Quantity'
|
||||
Units: 'Pa'
|
||||
URL: ''
|
||||
Description: ""
|
||||
C30:
|
||||
Type: 'Quantity'
|
||||
Units: 'Pa'
|
||||
URL: ''
|
||||
Description: ""
|
||||
D1:
|
||||
Type: 'Quantity'
|
||||
Units: '1/Pa'
|
||||
URL: ''
|
||||
Description: "D1 [1/FreeCAD Pressure unit]"
|
||||
D2:
|
||||
Type: 'Quantity'
|
||||
Units: '1/Pa'
|
||||
URL: ''
|
||||
Description: "D2 [1/FreeCAD Pressure unit]"
|
||||
D3:
|
||||
Type: 'Quantity'
|
||||
Units: '1/Pa'
|
||||
URL: ''
|
||||
Description: "D3 [1/FreeCAD Pressure unit]"
|
||||
URL: ''
|
||||
Description: >
|
||||
2 Dimensional array showing Yeoh properties as
|
||||
a function of temperature
|
||||
@@ -49,17 +49,20 @@ protected:
|
||||
{
|
||||
// 2D Properties
|
||||
modelProp = Materials::ModelProperty(QString::fromStdString("Density"), // Name
|
||||
QString::fromStdString("D"), // Header
|
||||
QString::fromStdString("2DArray"), // Type
|
||||
QString::fromStdString(""), // Units
|
||||
QString::fromStdString(""), // URL
|
||||
QString::fromStdString("desc")); // Description
|
||||
modelProp1 = Materials::ModelProperty(QString::fromStdString("Temperature"),
|
||||
QString::fromStdString("T"),
|
||||
QString::fromStdString("Quantity"),
|
||||
QString::fromStdString("C"),
|
||||
QString::fromStdString(""),
|
||||
QString::fromStdString("desc1"));
|
||||
modelProp2 = Materials::ModelProperty(
|
||||
QString::fromStdString("Density"),
|
||||
QString::fromStdString("D"),
|
||||
QString::fromStdString("Quantity"),
|
||||
QString::fromStdString("kg/m^3"),
|
||||
QString::fromStdString("https://en.wikipedia.org/wiki/Density"),
|
||||
@@ -70,23 +73,27 @@ protected:
|
||||
|
||||
// 3D properties
|
||||
model3DProp = Materials::ModelProperty(
|
||||
QString::fromStdString("StressStrain"), // Name
|
||||
QString::fromStdString("3DArray"), // Type
|
||||
QString::fromStdString(""), // Units
|
||||
QString::fromStdString(""), // URL
|
||||
QString::fromStdString("StressStrain"), // Name
|
||||
QString::fromStdString("Stress / Strain"), // Header
|
||||
QString::fromStdString("3DArray"), // Type
|
||||
QString::fromStdString(""), // Units
|
||||
QString::fromStdString(""), // URL
|
||||
QString::fromStdString("3 Dimensional array showing stress and strain as a function of "
|
||||
"temperature")); // Description
|
||||
model3DProp1 = Materials::ModelProperty(QString::fromStdString("Temperature"),
|
||||
QString::fromStdString("T"),
|
||||
QString::fromStdString("Quantity"),
|
||||
QString::fromStdString("C"),
|
||||
QString::fromStdString(""),
|
||||
QString::fromStdString("desc1"));
|
||||
model3DProp2 = Materials::ModelProperty(QString::fromStdString("Stress"),
|
||||
QString::fromStdString("Stress"),
|
||||
QString::fromStdString("Quantity"),
|
||||
QString::fromStdString("MPa"),
|
||||
QString::fromStdString(""),
|
||||
QString::fromStdString("desc2"));
|
||||
model3DProp3 = Materials::ModelProperty(QString::fromStdString("Strain"),
|
||||
QString::fromStdString("Strain"),
|
||||
QString::fromStdString("Quantity"),
|
||||
QString::fromStdString("MPa"),
|
||||
QString::fromStdString(""),
|
||||
|
||||
@@ -64,12 +64,14 @@ TEST_F(TestModelProperties, TestBasic)
|
||||
QString::fromStdString("2"),
|
||||
QString::fromStdString("3"),
|
||||
QString::fromStdString("4"),
|
||||
QString::fromStdString("5"));
|
||||
QString::fromStdString("5"),
|
||||
QString::fromStdString("6"));
|
||||
EXPECT_EQ(prop.getName(), QString::fromStdString("1"));
|
||||
EXPECT_EQ(prop.getPropertyType(), QString::fromStdString("2"));
|
||||
EXPECT_EQ(prop.getUnits(), QString::fromStdString("3"));
|
||||
EXPECT_EQ(prop.getURL(), QString::fromStdString("4"));
|
||||
EXPECT_EQ(prop.getDescription(), QString::fromStdString("5"));
|
||||
EXPECT_EQ(prop.getDisplayName(), QString::fromStdString("2"));
|
||||
EXPECT_EQ(prop.getPropertyType(), QString::fromStdString("3"));
|
||||
EXPECT_EQ(prop.getUnits(), QString::fromStdString("4"));
|
||||
EXPECT_EQ(prop.getURL(), QString::fromStdString("5"));
|
||||
EXPECT_EQ(prop.getDescription(), QString::fromStdString("6"));
|
||||
EXPECT_TRUE(prop.getInheritance().isNull());
|
||||
EXPECT_FALSE(prop.isInherited());
|
||||
EXPECT_EQ(prop.columns(), 0);
|
||||
@@ -85,17 +87,20 @@ TEST_F(TestModelProperties, TestAddColumns)
|
||||
QString::fromStdString("2"),
|
||||
QString::fromStdString("3"),
|
||||
QString::fromStdString("4"),
|
||||
QString::fromStdString("5"));
|
||||
QString::fromStdString("5"),
|
||||
QString::fromStdString("6"));
|
||||
auto prop1 = Materials::ModelProperty(QString::fromStdString("10"),
|
||||
QString::fromStdString("9"),
|
||||
QString::fromStdString("8"),
|
||||
QString::fromStdString("7"),
|
||||
QString::fromStdString("6"));
|
||||
QString::fromStdString("6"),
|
||||
QString::fromStdString("5"));
|
||||
auto prop2 = Materials::ModelProperty(QString::fromStdString("a"),
|
||||
QString::fromStdString("b"),
|
||||
QString::fromStdString("c"),
|
||||
QString::fromStdString("d"),
|
||||
QString::fromStdString("e"));
|
||||
QString::fromStdString("e"),
|
||||
QString::fromStdString("f"));
|
||||
|
||||
EXPECT_EQ(prop.columns(), 0);
|
||||
prop.addColumn(prop1);
|
||||
@@ -106,20 +111,22 @@ TEST_F(TestModelProperties, TestAddColumns)
|
||||
auto columns = prop.getColumns();
|
||||
auto entry1 = columns.at(0);
|
||||
EXPECT_EQ(entry1.getName(), QString::fromStdString("10"));
|
||||
EXPECT_EQ(entry1.getPropertyType(), QString::fromStdString("9"));
|
||||
EXPECT_EQ(entry1.getUnits(), QString::fromStdString("8"));
|
||||
EXPECT_EQ(entry1.getURL(), QString::fromStdString("7"));
|
||||
EXPECT_EQ(entry1.getDescription(), QString::fromStdString("6"));
|
||||
EXPECT_EQ(entry1.getDisplayName(), QString::fromStdString("9"));
|
||||
EXPECT_EQ(entry1.getPropertyType(), QString::fromStdString("8"));
|
||||
EXPECT_EQ(entry1.getUnits(), QString::fromStdString("7"));
|
||||
EXPECT_EQ(entry1.getURL(), QString::fromStdString("6"));
|
||||
EXPECT_EQ(entry1.getDescription(), QString::fromStdString("5"));
|
||||
EXPECT_TRUE(entry1.getInheritance().isNull());
|
||||
EXPECT_FALSE(entry1.isInherited());
|
||||
EXPECT_EQ(entry1.columns(), 0);
|
||||
|
||||
auto entry2 = columns.at(1);
|
||||
EXPECT_EQ(entry2.getName(), QString::fromStdString("a"));
|
||||
EXPECT_EQ(entry2.getPropertyType(), QString::fromStdString("b"));
|
||||
EXPECT_EQ(entry2.getUnits(), QString::fromStdString("c"));
|
||||
EXPECT_EQ(entry2.getURL(), QString::fromStdString("d"));
|
||||
EXPECT_EQ(entry2.getDescription(), QString::fromStdString("e"));
|
||||
EXPECT_EQ(entry2.getDisplayName(), QString::fromStdString("b"));
|
||||
EXPECT_EQ(entry2.getPropertyType(), QString::fromStdString("c"));
|
||||
EXPECT_EQ(entry2.getUnits(), QString::fromStdString("d"));
|
||||
EXPECT_EQ(entry2.getURL(), QString::fromStdString("e"));
|
||||
EXPECT_EQ(entry2.getDescription(), QString::fromStdString("f"));
|
||||
EXPECT_TRUE(entry2.getInheritance().isNull());
|
||||
EXPECT_FALSE(entry2.isInherited());
|
||||
EXPECT_EQ(entry2.columns(), 0);
|
||||
|
||||
Reference in New Issue
Block a user