public ThermalRod(IReadOnlyList <Node> nodes, double crossSectionArea, IThermalMaterial material) { Debug.Assert(nodes.Count == 2, "Thermal rod element must have exactly 2 nodes."); this.material = material; this.Nodes = nodes; this.CrossSectionArea = crossSectionArea; this.Length = nodes[0].CalculateEuclidianDistanceFrom(nodes[1]); }
public ThermalElement3D(IReadOnlyList <Node> nodes, IIsoparametricInterpolation3D interpolation, IQuadrature3D quadratureForStiffness, IQuadrature3D quadratureForMass, IGaussPointExtrapolation3D gaussPointExtrapolation, IThermalMaterial material) { this.material = material; this.GaussPointExtrapolation = gaussPointExtrapolation; this.Nodes = nodes; this.Interpolation = interpolation; this.QuadratureForConsistentMass = quadratureForMass; this.QuadratureForStiffness = quadratureForStiffness; dofTypes = new IDofType[nodes.Count][]; for (int i = 0; i < interpolation.NumFunctions; ++i) { dofTypes[i] = new IDofType[] { ThermalDof.Temperature } } ; }
public ThermalElement2DFactory(double commonThickness, IThermalMaterial commonMaterial) { this.commonThickness = commonThickness; this.commonMaterial = commonMaterial; }
public ThermalElement3DFactory(IThermalMaterial commonMaterial) { this.commonMaterial = commonMaterial; }