public XContinuumElement2DFactory(IIntegrationStrategy2D <XContinuumElement2D> xIntegrationStrategy,
                                   IIntegrationStrategy2D <XContinuumElement2D> jIntegralStrategy, IMaterialField2D commonMaterial)
 {
     this.commonMaterial       = commonMaterial;
     this.xIntegrationStrategy = xIntegrationStrategy;
     this.jIntegralStrategy    = jIntegralStrategy;
 }
Exemplo n.º 2
0
        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>();
        }