public XContinuumElement2DFactory(IIntegrationStrategy2D <XContinuumElement2D> xIntegrationStrategy, IIntegrationStrategy2D <XContinuumElement2D> jIntegralStrategy, IMaterialField2D commonMaterial) { this.commonMaterial = commonMaterial; this.xIntegrationStrategy = xIntegrationStrategy; this.jIntegralStrategy = jIntegralStrategy; }
private readonly IDofType[][] standardDofTypes; //TODO: this should not be stored for each element. Instead store it once for each Quad4, Tri3, etc. Otherwise create it on the fly. public XContinuumElement2D(int id, IReadOnlyList <XNode> nodes, IIsoparametricInterpolation2D interpolation, IGaussPointExtrapolation2D gaussPointExtrapolation, IQuadrature2D standardQuadrature, IIntegrationStrategy2D <XContinuumElement2D> integrationStrategy, IIntegrationStrategy2D <XContinuumElement2D> jIntegralStrategy, IMaterialField2D material) { this.id = id; this.Nodes = nodes; this.Interpolation = interpolation; this.GaussPointExtrapolation = gaussPointExtrapolation; this.StandardQuadrature = standardQuadrature; this.IntegrationStrategy = integrationStrategy; this.JintegralStrategy = jIntegralStrategy; this.Material = material; this.NumStandardDofs = 2 * nodes.Count; standardDofTypes = new IDofType[nodes.Count][]; for (int i = 0; i < nodes.Count; ++i) { standardDofTypes[i] = new IDofType[] { StructuralDof.TranslationX, StructuralDof.TranslationY }; } //OBSOLETE: Elements access their enrichments from nodes now. //this.EnrichmentItems = new List<IEnrichmentItem2D>(); }