Skip to content
OFFICIAL SS DOCUMENTATION

SS.Materials 1.2.0

Validated planar material fundamentals plus stateful three-dimensional thermoelastic J2 plasticity, consistent tangents, temperature coupling, yield/dissipation validation and history diagnostics
API 1.2.0
MIT
source

Language compatibility: >=1.0.0 <2.0.0
Runtime compatibility: >=1.0.0 <2.0.0

No package dependencies declared.

Public API

Public signature
export function addTensor3D(SymmetricTensor3D left, SymmetricTensor3D right)->SymmetricTensor3D

Parameters: left: SymmetricTensor3D, right: SymmetricTensor3D


Public signature
export function bilinearElasticPlastic(double totalStrain, double elasticModulus, double yieldStress, double hardeningModulus, double expansionCoefficient, double temperatureChange) -> UniaxialState

Parameters: totalStrain: double, elasticModulus: double, yieldStress: double, hardeningModulus: double, expansionCoefficient: double, temperatureChange: double


Public signature
export function consistentConstitutiveTangent3D(IsotropicJ2Material material, ConstitutiveState3D previous, SymmetricTensor3D strainIncrement, double temperatureIncrement) -> double[]

Parameters: material: IsotropicJ2Material, previous: ConstitutiveState3D, strainIncrement: SymmetricTensor3D, temperatureIncrement: double


Public signature
export record ConstitutiveHistory3D(public ConstitutiveState3D[] states, public int elasticSteps, public int plasticSteps, public string diagnostic)

Parameters: states: ConstitutiveState3D[], elasticSteps: int, plasticSteps: int, diagnostic: string


Public signature
export record ConstitutiveState3D(public SymmetricTensor3D stress, public SymmetricTensor3D plasticStrain, public double equivalentPlasticStrain, public double temperature, public double totalWork, public double plasticDissipation)

Parameters: stress: SymmetricTensor3D, plasticStrain: SymmetricTensor3D, equivalentPlasticStrain: double, temperature: double, totalWork: double, plasticDissipation: double


Public signature
export record ConstitutiveUpdate3D(public ConstitutiveState3D state, public double[] tangent, public bool elastic, public double yieldResidual, public double workIncrement, public double plasticDissipationIncrement, public string diagnostic)

Parameters: state: ConstitutiveState3D, tangent: double[], elastic: bool, yieldResidual: double, workIncrement: double, plasticDissipationIncrement: double, diagnostic: string


Public signature
export function deviatorTensor3D(SymmetricTensor3D value)->SymmetricTensor3D

Parameters: value: SymmetricTensor3D


Public signature
export function doubleContractTensor3D(SymmetricTensor3D left, SymmetricTensor3D right)->double

Parameters: left: SymmetricTensor3D, right: SymmetricTensor3D


Public signature
export function initialConstitutiveState3D(IsotropicJ2Material material, double temperature)->ConstitutiveState3D

Parameters: material: IsotropicJ2Material, temperature: double


Public signature
export function integrateJ2History3D(IsotropicJ2Material material, ConstitutiveState3D initial, SymmetricTensor3D[] strainIncrements, double[] temperatureIncrements)->ConstitutiveHistory3D

Parameters: material: IsotropicJ2Material, initial: ConstitutiveState3D, strainIncrements: SymmetricTensor3D[], temperatureIncrements: double[]


Public signature
export function inverseRuleOfMixtures(double firstValue, double secondValue, double firstFraction) -> double

Parameters: firstValue: double, secondValue: double, firstFraction: double


Public signature
export function isotropicJ2Material(double elasticModulus, double poissonRatio, double yieldStress, double hardeningModulus, double expansionCoefficient)->IsotropicJ2Material

Parameters: elasticModulus: double, poissonRatio: double, yieldStress: double, hardeningModulus: double, expansionCoefficient: double


Public signature
export record IsotropicJ2Material(public double elasticModulus, public double poissonRatio, public double yieldStress, public double hardeningModulus, public double expansionCoefficient)

Parameters: elasticModulus: double, poissonRatio: double, yieldStress: double, hardeningModulus: double, expansionCoefficient: double


Public signature
export function linearElastic(double totalStrain, double elasticModulus, double expansionCoefficient, double temperatureChange) -> UniaxialState

Parameters: totalStrain: double, elasticModulus: double, expansionCoefficient: double, temperatureChange: double


Public signature
export function orthotropicPlaneStress(double strain1, double strain2, double engineeringShear12, double modulus1, double modulus2, double poisson12, double shear12) -> OrthotropicState

Parameters: strain1: double, strain2: double, engineeringShear12: double, modulus1: double, modulus2: double, poisson12: double, shear12: double


Public signature
export record OrthotropicState(public double stress1, public double stress2, public double shear12)

Parameters: stress1: double, stress2: double, shear12: double


Public signature
export record PlaneStrainState(public double strainX, public double strainY, public double shearStrain)

Parameters: strainX: double, strainY: double, shearStrain: double


Public signature
export function planeStress(double strainX, double strainY, double engineeringShearStrain, double elasticModulus, double poissonRatio, double expansionCoefficient, double temperatureChange) -> PlaneStressState

Parameters: strainX: double, strainY: double, engineeringShearStrain: double, elasticModulus: double, poissonRatio: double, expansionCoefficient: double, temperatureChange: double


Public signature
export function planeStressCompliance(double stressX, double stressY, double shearStress, double elasticModulus, double poissonRatio, double expansionCoefficient, double temperatureChange) -> PlaneStrainState

Parameters: stressX: double, stressY: double, shearStress: double, elasticModulus: double, poissonRatio: double, expansionCoefficient: double, temperatureChange: double


Public signature
export record PlaneStressState(public double stressX, public double stressY, public double shearStress, public double vonMises)

Parameters: stressX: double, stressY: double, shearStress: double, vonMises: double


Public signature
export function principalStress2D(double stressX, double stressY, double shearStress) -> PrincipalStress2D

Parameters: stressX: double, stressY: double, shearStress: double


Public signature
export record PrincipalStress2D(public double major, public double minor, public double angle)

Parameters: major: double, minor: double, angle: double


Public signature
export function ruleOfMixtures(double firstValue, double secondValue, double firstFraction) -> double

Parameters: firstValue: double, secondValue: double, firstFraction: double


Public signature
export function scaleTensor3D(SymmetricTensor3D value, double factor)->SymmetricTensor3D

Parameters: value: SymmetricTensor3D, factor: double


Public signature
export function strainEnergyDensityPlaneStress(double strainX, double strainY, double engineeringShearStrain, PlaneStressState stress) -> double

Parameters: strainX: double, strainY: double, engineeringShearStrain: double, stress: PlaneStressState


Public signature
export function subtractTensor3D(SymmetricTensor3D left, SymmetricTensor3D right)->SymmetricTensor3D

Parameters: left: SymmetricTensor3D, right: SymmetricTensor3D


Public signature
export record SymmetricTensor3D(public double xx, public double yy, public double zz, public double xy, public double yz, public double zx)

Parameters: xx: double, yy: double, zz: double, xy: double, yz: double, zx: double


Public signature
export function tensor3D(double xx, double yy, double zz, double xy, double yz, double zx)->SymmetricTensor3D

Parameters: xx: double, yy: double, zz: double, xy: double, yz: double, zx: double


Public signature
export function thermalStrain(double expansionCoefficient, double temperatureChange) -> double

Parameters: expansionCoefficient: double, temperatureChange: double


Public signature
export function traceTensor3D(SymmetricTensor3D value)->double

Parameters: value: SymmetricTensor3D


Public signature
export record UniaxialState(public double totalStrain, public double mechanicalStrain, public double stress, public double tangentModulus, public bool yielded, public string diagnostic)

Parameters: totalStrain: double, mechanicalStrain: double, stress: double, tangentModulus: double, yielded: bool, diagnostic: string


Public signature
export function updateConstitutiveTemperature(IsotropicJ2Material material, ConstitutiveState3D previous, SymmetricTensor3D strainIncrement, double targetTemperature) -> ConstitutiveUpdate3D

Parameters: material: IsotropicJ2Material, previous: ConstitutiveState3D, strainIncrement: SymmetricTensor3D, targetTemperature: double


Public signature
export function updateJ2Material3D(IsotropicJ2Material material, ConstitutiveState3D previous, SymmetricTensor3D strainIncrement, double temperatureIncrement)->ConstitutiveUpdate3D

Parameters: material: IsotropicJ2Material, previous: ConstitutiveState3D, strainIncrement: SymmetricTensor3D, temperatureIncrement: double


Public signature
export function validateYieldAndDissipation(IsotropicJ2Material material, ConstitutiveState3D previous, ConstitutiveUpdate3D update, double tolerance) -> YieldDissipationValidation

Parameters: material: IsotropicJ2Material, previous: ConstitutiveState3D, update: ConstitutiveUpdate3D, tolerance: double


Public signature
export function vonMises3D(double stressX, double stressY, double stressZ, double shearXY, double shearYZ, double shearZX) -> double

Parameters: stressX: double, stressY: double, stressZ: double, shearXY: double, shearYZ: double, shearZX: double


Public signature
export function vonMisesTensor3D(SymmetricTensor3D stress)->double

Parameters: stress: SymmetricTensor3D


Public signature
export record YieldDissipationValidation(public bool valid, public double yieldResidual, public double plasticMultiplier, public double dissipationIncrement, public string diagnostic)

Parameters: valid: bool, yieldResidual: double, plasticMultiplier: double, dissipationIncrement: double, diagnostic: string


Public signature
export function zeroTensor3D()->SymmetricTensor3D

Documentation version

Language 1.0.0, compiler 1.0.0, runtime 1.0.0. This reference is generated from the official SS documentation so package and language details stay consistent with the release.