Class MaterialAPI
Last update: 16.07.2025Namespace: VM.API.Pre
Assembly: VM.API.Pre.dll
This class implements APIs for material class.
public static class MaterialAPI
Inheritance
Extension Methods
LinkPropertyItemCache.GetLinkProperties(object, LinkPropertyType), LinkPropertyItemCache.GetLinkPropertiesAndValues(object, LinkPropertyType), LinkPropertyItemCache.GetLinkedObjects<T>(object, LinkPropertyType)
Methods
CreateArrudaBoyce(IDocument, string, ExpressionValueVariable, ExpressionValueVariable, bool, ExpressionValueVariable, ExpressionValueVariable, ExpressionValueVariable)
Create
[NotNull(new string[] { "document" })]
public static Obj CreateArrudaBoyce(this IDocument document, string name, ExpressionValueVariable density, ExpressionValueVariable dampingRatio, bool disableHScaleFactor, ExpressionValueVariable mu, ExpressionValueVariable lambda, ExpressionValueVariable d)
Parameters
document IDocument
The document to create the arruda-boyce material.
name string
The name of the arruda-boyce material.
density ExpressionValueVariable
The density of the arruda-boyce material.
dampingRatio ExpressionValueVariable
The stiffness proportional damping ratio for the nodal flexible and EasyFlex bodies.
disableHScaleFactor bool
A value indicating whether to disable H Scale factor or not.
mu ExpressionValueVariable
The mu to set the elastic constant which is corresponding to the shear modulus in the linear material.
lambda ExpressionValueVariable
The lambda to set the locking stretch.
d ExpressionValueVariable
The d to set the incompressibility parameter to determine a penalty of the volume constraint.
Returns
The new
Exceptions
Will be thrown if 'document' is null.
Will be thrown if 'density', 'dampingRatio' values less than 0.
CreateArrudaBoyce(IDocument, string)
Create
public static Obj CreateArrudaBoyce(this IDocument document, string name)
Parameters
document IDocument
The document to create the arruda-boyce material.
name string
The name of the arruda-boyce material.
Returns
The new
CreateFoam(IDocument, string, ExpressionValueVariable, ExpressionValueVariable, bool, ExpressionValueVariable, Obj?)
Create
[NotNull(new string[] { "document" })]
public static Obj CreateFoam(this IDocument document, string name, ExpressionValueVariable density, ExpressionValueVariable dampingRatio, bool disableHScaleFactor, ExpressionValueVariable youngsModulus, Obj? spline = null)
Parameters
document IDocument
The document to create the foam material.
name string
The name of the foam material.
density ExpressionValueVariable
The density of the foam material.
dampingRatio ExpressionValueVariable
The stiffness proportional damping ratio for the nodal flexible and EasyFlex bodies.
disableHScaleFactor bool
A value indicating whether to disable H Scale factor or not.
youngsModulus ExpressionValueVariable
The Young's modulus of the foam material.
spline Obj?
The spline to set the norminal strain-stress curve by using the spline picker.
Returns
The new
Exceptions
Will be thrown if 'document' is null.
Will be thrown if 'density', 'dampingRatio', 'youngsModulus' values less than 0.
Will be thrown if the type of 'spline' is not
CreateFoam(IDocument, string)
Create
public static Obj CreateFoam(this IDocument document, string name)
Parameters
document IDocument
The document to create the foam material.
name string
The name of the foam material.
Returns
The new
CreateISO(IDocument, string, ExpressionValueVariable, ExpressionValueVariable, bool, ExpressionValueVariable, ExpressionValueVariable, ExpressionValueVariable, ExpressionValueVariable, ExpressionValueVariable, ExpressionValueVariable, ExpressionValueVariable)
Create
[NotNull(new string[] { "document" })]
[GreaterThanOrEqualToZero(new string[] { "youngsModulus", "thermalConductivity", "specificHeat" })]
[GreaterThanZero(new string[] { "shearModulus" })]
public static Obj CreateISO(this IDocument document, string name, ExpressionValueVariable density, ExpressionValueVariable dampingRatio, bool disableHScaleFactor, ExpressionValueVariable youngsModulus, ExpressionValueVariable shearModulus, ExpressionValueVariable poissonRatio, ExpressionValueVariable thermalExpansionCoefficient, ExpressionValueVariable thermalConductivity, ExpressionValueVariable specificHeat, ExpressionValueVariable referenceTemperature)
Parameters
document IDocument
The document to create the iso material.
name string
The name of the iso material.
density ExpressionValueVariable
The density of the iso material.
dampingRatio ExpressionValueVariable
The stiffness proportional damping ratio for the nodal flexible and EasyFlex bodies.
disableHScaleFactor bool
A value indicating whether to disable H Scale factor or not.
youngsModulus ExpressionValueVariable
The Young's modulus of the iso material.
shearModulus ExpressionValueVariable
The shear modulus of the iso material.
poissonRatio ExpressionValueVariable
The Poisson's ratio of the iso material.
thermalExpansionCoefficient ExpressionValueVariable
The thermal expansion coefficient of the iso material.
thermalConductivity ExpressionValueVariable
The thermal conductivity of the iso material.
specificHeat ExpressionValueVariable
The specific heat of the iso material.
referenceTemperature ExpressionValueVariable
The initial temperature of the iso material.
Returns
The new
Exceptions
Will be thrown if 'document' is null.
Will be thrown if 'density', 'dampingRatio', 'youngsModulus', 'shearModulus', 'poissonRatio' values less than 0.
Will be thrown if 'poissonRatio' value is less than 0 or equal to 0.5 or more than 0.5.
CreateISO(IDocument, string)
Create
public static Obj CreateISO(this IDocument document, string name)
Parameters
document IDocument
The document to create the iso material.
name string
The name of the iso material.
Returns
The new
CreateISONonlinearThermal(IDocument, string, ExpressionValueVariable, ExpressionValueVariable, bool, Obj, ExpressionValueVariable, Obj, Obj, Obj, ExpressionValueVariable)
Create
[NotNull(new string[] { "document" })]
[NotNullObj(new string[] { "youngsModulusSpline", "thermalExpansionCoefficientSpline", "thermalConductivitySpline", "specificHeatSpline" })]
[MatchTypeObj(new object[] { "youngsModulusSpline", typeof(ISpline), "thermalExpansionCoefficientSpline", typeof(ISpline), "thermalConductivitySpline", typeof(ISpline), "specificHeatSpline", typeof(ISpline) })]
public static Obj CreateISONonlinearThermal(this IDocument document, string name, ExpressionValueVariable density, ExpressionValueVariable dampingRatio, bool disableHScaleFactor, Obj youngsModulusSpline, ExpressionValueVariable poissonRatio, Obj thermalExpansionCoefficientSpline, Obj thermalConductivitySpline, Obj specificHeatSpline, ExpressionValueVariable referenceTemperature)
Parameters
document IDocument
The document to create the iso nonlinear thermal material.
name string
The name of the iso nonlinear thermal material.
density ExpressionValueVariable
The density of the iso nonlinear thermal material.
dampingRatio ExpressionValueVariable
The stiffness proportional damping ratio for the nodal flexible and EasyFlex bodies.
disableHScaleFactor bool
A value indicating whether to disable H Scale factor or not.
youngsModulusSpline Obj
The Young's modulus spline of the iso nonlinear thermal material.
poissonRatio ExpressionValueVariable
The Poisson's ratio of the iso nonlinear thermal material.
thermalExpansionCoefficientSpline Obj
The thermal expansion coefficient spline of the iso nonlinear thermal material.
thermalConductivitySpline Obj
The thermal conductivity spline of the iso nonlinear thermal material.
specificHeatSpline Obj
The specific heat spline of the iso nonlinear thermal material.
referenceTemperature ExpressionValueVariable
The initial temperature of the iso nonlinear thermal material.
Returns
The new
Exceptions
Will be thrown if 'document' is null.
Will be thrown if 'density', 'dampingRatio', 'poissonRatio' values less than 0.
Will be thrown if 'poissonRatio' value is less than 0 or equal to 0.5 or more than 0.5.
CreateISONonlinearThermal(IDocument, string, Obj, Obj, Obj, Obj)
Create
public static Obj CreateISONonlinearThermal(this IDocument document, string name, Obj youngsModulusSpline, Obj thermalExpansionCoefficientSpline, Obj thermalConductivitySpline, Obj specificHeatSpline)
Parameters
document IDocument
The document to create the iso nonlinear thermal material.
name string
The name of the iso nonlinear thermal material.
youngsModulusSpline Obj
The Young's modulus spline of the iso nonlinear thermal material.
thermalExpansionCoefficientSpline Obj
The thermal expansion coefficient spline of the iso nonlinear thermal material.
thermalConductivitySpline Obj
The thermal conductivity spline of the iso nonlinear thermal material.
specificHeatSpline Obj
The specific heat spline of the iso nonlinear thermal material.
Returns
The new
CreateMooneyRivlin(IDocument, string, ExpressionValueVariable, ExpressionValueVariable, bool, ExpressionValueVariable, ExpressionValueVariable, ExpressionValueVariable)
Create
[NotNull(new string[] { "document" })]
public static Obj CreateMooneyRivlin(this IDocument document, string name, ExpressionValueVariable density, ExpressionValueVariable dampingRatio, bool disableHScaleFactor, ExpressionValueVariable c10, ExpressionValueVariable c01, ExpressionValueVariable d)
Parameters
document IDocument
The document to create the mooney-rivlin material.
name string
The name of the mooney-rivlin material.
density ExpressionValueVariable
The density of the mooney-rivlin material.
dampingRatio ExpressionValueVariable
The stiffness proportional damping ratio for the nodal flexible and EasyFlex bodies.
disableHScaleFactor bool
A value indicating whether to disable H Scale factor or not.
c10 ExpressionValueVariable
The c10 to set the elastic constant which is corresponding to the Young’s modulus in the linear material.
c01 ExpressionValueVariable
The c01 to set the 2nd elastic constant which is corresponding to the Young’s modulus in the linear material.
d ExpressionValueVariable
The d to set the incompressibility parameter to determine a penalty of the volume constraint.
Returns
The new
Exceptions
Will be thrown if 'document' is null.
Will be thrown if 'density', 'dampingRatio', 'c10' 'c01' values less than 0. Will be thrown if 'd' value equal to or less than 0. Will be thrown if 'd' value greater than 1.
CreateMooneyRivlin(IDocument, string)
Create
public static Obj CreateMooneyRivlin(this IDocument document, string name)
Parameters
document IDocument
The document to create the mooney-rivlin material.
name string
The name of the mooney-rivlin material.
Returns
The new
CreateNeoHookean(IDocument, string, ExpressionValueVariable, ExpressionValueVariable, bool, ExpressionValueVariable, ExpressionValueVariable)
Create
[NotNull(new string[] { "document" })]
public static Obj CreateNeoHookean(this IDocument document, string name, ExpressionValueVariable density, ExpressionValueVariable dampingRatio, bool disableHScaleFactor, ExpressionValueVariable c10, ExpressionValueVariable d)
Parameters
document IDocument
The document to create the neo-hookean material.
name string
The name of the neo-hookean material.
density ExpressionValueVariable
The density of the neo-hookean material.
dampingRatio ExpressionValueVariable
The stiffness proportional damping ratio for the nodal flexible and EasyFlex bodies.
disableHScaleFactor bool
A value indicating whether to disable H Scale factor or not.
c10 ExpressionValueVariable
The c10 to set the elastic constant which is corresponding to the Young’s modulus in the linear material.
d ExpressionValueVariable
The d to set the incompressibility parameter to determine a penalty of the volume constraint.
Returns
The new
Exceptions
Will be thrown if 'document' is null.
Will be thrown if 'density', 'dampingRatio', 'c10' values less than 0.
CreateNeoHookean(IDocument, string)
Create
public static Obj CreateNeoHookean(this IDocument document, string name)
Parameters
document IDocument
The document to create the neo-hookean material.
name string
The name of the neo-hookean material.
Returns
The new
CreateORTHO(IDocument, string, ExpressionValueVariable, ExpressionValueVariable, bool, ExpressionValueVariable, ExpressionValueVariable, ExpressionValueVariable, ExpressionValueVariable, ExpressionValueVariable, ExpressionValueVariable, ExpressionValueVariable, ExpressionValueVariable, ExpressionValueVariable)
Create
[NotNull(new string[] { "document" })]
[GreaterThanOrEqualToZero(new string[] { "youngsModulusX", "youngsModulusY", "youngsModulusZ" })]
[GreaterThanZero(new string[] { "shearModulusXY", "shearModulusYZ", "shearModulusXZ" })]
public static Obj CreateORTHO(this IDocument document, string name, ExpressionValueVariable density, ExpressionValueVariable dampingRatio, bool disableHScaleFactor, ExpressionValueVariable youngsModulusX, ExpressionValueVariable youngsModulusY, ExpressionValueVariable youngsModulusZ, ExpressionValueVariable poissonRatioXY, ExpressionValueVariable poissonRatioYZ, ExpressionValueVariable poissonRatioXZ, ExpressionValueVariable shearModulusXY, ExpressionValueVariable shearModulusYZ, ExpressionValueVariable shearModulusXZ)
Parameters
document IDocument
The document to create the orthotropic material.
name string
The name of the orthotropic material.
density ExpressionValueVariable
The density of the orthotropic material.
dampingRatio ExpressionValueVariable
The stiffness proportional damping ratio for the nodal flexible and EasyFlex bodies.
disableHScaleFactor bool
A value indicating whether to disable H Scale factor or not.
youngsModulusX ExpressionValueVariable
The Young's modulus of x-direction of the orthotropic material.
youngsModulusY ExpressionValueVariable
The Young's modulus of y-direction of the orthotropic material.
youngsModulusZ ExpressionValueVariable
The Young's modulus of z-direction of the orthotropic material.
poissonRatioXY ExpressionValueVariable
The xy-Poisson’s ratio of the orthotropic material.
poissonRatioYZ ExpressionValueVariable
The yz-Poisson’s ratio of the orthotropic material.
poissonRatioXZ ExpressionValueVariable
The xz-Poisson’s ratio of the orthotropic material.
shearModulusXY ExpressionValueVariable
The xy-Shear modulus of the orthotropic material.
shearModulusYZ ExpressionValueVariable
The yz-Shear modulus of the orthotropic material.
shearModulusXZ ExpressionValueVariable
The xz-Shear modulus of the orthotropic material.
Returns
The new
Exceptions
Will be thrown if 'document' is null.
Will be thrown if 'density', 'dampingRatio', 'youngsModulusX', 'youngsModulusY', 'youngsModulusZ', 'poissonRatioXY', 'poissonRatioYZ', 'poissonRatioXZ', 'shearModulusXY', 'shearModulusYZ', 'shearModulusXZ' values less than 0.
Will be thrown if 'poissonRatioXY', 'poissonRatioYZ', 'poissonRatioXZ' value is less than 0 or equal to 0.5 or more than 0.5.
CreateORTHO(IDocument, string)
Create
public static Obj CreateORTHO(this IDocument document, string name)
Parameters
document IDocument
The document to create the orthotropic material.
name string
The name of the orthotropic material.
Returns
The new
CreateOgden(IDocument, string, ExpressionValueVariable, ExpressionValueVariable, bool, IEnumerable<OgdenContents>)
Create
[NotNull(new string[] { "document" })]
public static Obj CreateOgden(this IDocument document, string name, ExpressionValueVariable density, ExpressionValueVariable dampingRatio, bool disableHScaleFactor, IEnumerable<OgdenContents> ogdenContents = null)
Parameters
document IDocument
The document to create the ogden material.
name string
The name of the ogden material.
density ExpressionValueVariable
The density of the ogden material.
dampingRatio ExpressionValueVariable
The stiffness proportional damping ratio for the nodal flexible and EasyFlex bodies.
disableHScaleFactor bool
A value indicating whether to disable H Scale factor or not.
ogdenContents IEnumerable<OgdenContents>
The ogden contents array.
Returns
The new
Exceptions
Will be thrown if 'document' is null.
Will be thrown if 'density', 'dampingRatio' values less than 0.
CreateOgden(IDocument, string)
Create
public static Obj CreateOgden(this IDocument document, string name)
Parameters
document IDocument
The document to create the ogden material.
name string
The name of the ogden material.
Returns
The new
CreatePlasticBilinear(IDocument, string, Obj, ExpressionValueVariable, ExpressionValueVariable, ExpressionValueVariable)
Create
[NotNull(new string[] { "document" })]
[NotNullObj(new string[] { "linearMaterial" })]
[MatchTypeObj(new object[] { "linearMaterial", typeof(ISO) })]
public static Obj CreatePlasticBilinear(this IDocument document, string name, Obj linearMaterial, ExpressionValueVariable et, ExpressionValueVariable initialYieldingStress, ExpressionValueVariable linearKinematicHardening)
Parameters
document IDocument
The document to create the plastic bi-linear material.
name string
The name of the plastic bi-linear material.
linearMaterial Obj
The linear elastic material.
et ExpressionValueVariable
The plastic hardening modulus.
initialYieldingStress ExpressionValueVariable
The initial yielding stress.
linearKinematicHardening ExpressionValueVariable
The hardening type.
Returns
The new
Exceptions
Will be thrown if 'document' is null.
Will be thrown if 'plasticHardeningModulus', 'initialYieldingStress', 'hardeningParameter' values less than 0.
CreatePlasticBilinear(IDocument, string, Obj)
Create
public static Obj CreatePlasticBilinear(this IDocument document, string name, Obj linearMaterial)
Parameters
document IDocument
The document to create the plastic bi-linear material.
name string
The name of the plastic bi-linear material.
linearMaterial Obj
The linear elastic material.
Returns
The new
CreatePlasticMultilinear(IDocument, string, Obj, ExpressionValueVariable, ExpressionValueVariable, Obj?)
Create
[NotNull(new string[] { "document" })]
[NotNullObj(new string[] { "linearMaterial" })]
[MatchTypeObj(new object[] { "linearMaterial", typeof(ISO) })]
public static Obj CreatePlasticMultilinear(this IDocument document, string name, Obj linearMaterial, ExpressionValueVariable initialYieldingStress, ExpressionValueVariable linearKinematicHardening, Obj? spline = null)
Parameters
document IDocument
The document to create the plastic multi-linear material.
name string
The name of the plastic multi-linear material.
linearMaterial Obj
The linear elastic material.
initialYieldingStress ExpressionValueVariable
The initial yielding stress.
linearKinematicHardening ExpressionValueVariable
The hardening type.
spline Obj?
.
Returns
The new
Exceptions
Will be thrown if 'document' is null.
Will be thrown if 'plasticHardeningModulus', 'initialYieldingStress', 'hardeningParameter' values less than 0.
Will be thrown if the type of 'spline' is not
CreatePlasticMultilinear(IDocument, string, Obj)
Create
public static Obj CreatePlasticMultilinear(this IDocument document, string name, Obj linearMaterial)
Parameters
document IDocument
The document to create the plastic multi-linear material.
name string
The name of the plastic multi-linear material.
linearMaterial Obj
The linear elastic material.
Returns
The new
CreateSplineForMaterial(Obj, IEnumerable<Point>)
Create spline for material.
[NotNullObj(new string[] { "material" })]
public static Obj CreateSplineForMaterial(this Obj material, IEnumerable<SplineData.Point> data)
Parameters
material Obj
The material to be updated.
data IEnumerable<SplineData.Point>
The data of spline X, Y.
Returns
The new
Exceptions
Will be thrown if 'material' arguments are empty.
Will be thrown if 'material' argument is not empty and type of 'body' is not SolidBody or Body.
Will be thrown if the type of 'material' is not
Will be thrown if the document type of 'material' is not