public Hexa8NonLinearDefGrad(IContinuumMaterial3DDefGrad material, IQuadrature3D quadratureForStiffness) { this.nGaussPoints = quadratureForStiffness.IntegrationPoints.Count; this.QuadratureForStiffness = quadratureForStiffness; this.Interpolation = InterpolationHexa8Reverse.UniqueInstance; materialsAtGaussPoints = new IContinuumMaterial3DDefGrad[nGaussPoints]; for (int i = 0; i < nGaussPoints; i++) { materialsAtGaussPoints[i] = (IContinuumMaterial3DDefGrad)material.Clone(); } }
private ContinuumElement3DNonLinearDefGrad CreateElement(CellType cellType, IReadOnlyList <Node> nodes, IContinuumMaterial3DDefGrad material, IDynamicMaterial commonDynamicProperties) { int numGPs = integrationsForStiffness[cellType].IntegrationPoints.Count; var materialsAtGaussPoints = new IContinuumMaterial3DDefGrad[numGPs]; for (int gp = 0; gp < numGPs; ++gp) { materialsAtGaussPoints[gp] = (IContinuumMaterial3DDefGrad)commonMaterial.Clone(); } return(new ContinuumElement3DNonLinearDefGrad(nodes, interpolations[cellType], integrationsForStiffness[cellType], integrationsForMass[cellType], extrapolations[cellType], material, commonDynamicProperties, lambdag)); }
public Hexa8ThermoHyperElastic(IContinuumMaterial3DDefGrad hyperElasticMaterial, ThermalMaterial thermalMaterial, IQuadrature3D quadratureForStiffness, IQuadrature3D quadratureForMass, IGaussPointExtrapolation3D gaussPointExtrapolation) { this.thermalMaterial = thermalMaterial; this.nGaussPoints = quadratureForStiffness.IntegrationPoints.Count; this.QuadratureForConsistentMass = quadratureForMass; this.QuadratureForStiffness = quadratureForStiffness; this.Interpolation = InterpolationHexa8Reverse.UniqueInstance; materialsAtGaussPoints = new IContinuumMaterial3DDefGrad[nGaussPoints]; for (int i = 0; i < nGaussPoints; i++) { materialsAtGaussPoints[i] = (IContinuumMaterial3DDefGrad)hyperElasticMaterial.Clone(); } }
public ContinuumElement3DNonLinearDefGrad(IReadOnlyList <Node> nodes, IContinuumMaterial3DDefGrad material, IQuadrature3D quadratureForStiffness, IIsoparametricInterpolation3D interpolation) { this.nGaussPoints = quadratureForStiffness.IntegrationPoints.Count; this.QuadratureForStiffness = quadratureForStiffness; this.Interpolation = interpolation; materialsAtGaussPoints = new IContinuumMaterial3DDefGrad[nGaussPoints]; for (int i = 0; i < nGaussPoints; i++) { materialsAtGaussPoints[i] = (IContinuumMaterial3DDefGrad)material.Clone(); } dofTypes = new IDofType[nodes.Count][]; for (int i = 0; i < nodes.Count; i++) { dofTypes[i] = new IDofType[] { StructuralDof.TranslationX, StructuralDof.TranslationY, StructuralDof.TranslationZ }; } }