示例#1
0
        public override double[] ComputeElementState(double z0, double z1, double z2)
        {
            for (var i = 0; i < 8; i++)
            {
                elementTemperatures[i] = Nodes[i].NodalDof[0];
            }
            // midPointHeatState = E * Sx(transponiert) * Temperatures
            var midpointHeatState = MatrizenAlgebra.MultTransposed(Sx, elementTemperatures);

            midpointHeatState = MatrizenAlgebra.Mult(e, midpointHeatState);
            return(midpointHeatState);
        }
示例#2
0
        public override double[] ComputeElementState(double z0, double z1)
        {
            _ = new double[2];                 // in element
            ComputeGeometry(z0, z1);
            Sx = ComputeSx(z0, z1);
            for (var i = 0; i < NodesPerElement; i++)
            {
                elementTemperatures[i] = Nodes[i].NodalDof[0];
            }
            var conductivity      = material.Leitfähigkeit[0];
            var midpointHeatState = MatrizenAlgebra.MultTransposed(-conductivity, Sx, elementTemperatures);

            return(midpointHeatState);
        }
示例#3
0
        public override double[] ComputeElementState(double z0, double z1)
        {
            var elementWärmeStatus = new double[2];             // in element

            ComputeGeometry();
            if (Modell.Material.TryGetValue(ElementMaterialId, out var abstractMaterial))
            {
            }
            material        = (Material)abstractMaterial;
            ElementMaterial = material;
            if (Modell.Elemente.TryGetValue(ElementId, out element))
            {
                for (var i = 0; i < element.Nodes.Length; i++)
                {
                    if (Modell.Knoten.TryGetValue(element.NodeIds[i], out knoten))
                    {
                    }

                    //Debug.Assert(node != null, nameof(node) + " != null");
                    if (knoten != null)
                    {
                        elementTemperatures[i] = knoten.NodalDof[0];
                    }
                }

                if (material == null)
                {
                    return(elementWärmeStatus);
                }
                var conductivity = material.Leitfähigkeit[0];
                elementWärmeStatus = MatrizenAlgebra.MultTransposed(-conductivity, Sx, elementTemperatures);
            }
            else
            {
                throw new ModellAusnahme("Element2D3: " + ElementId + " nicht im Modell gefunden");
            }
            return(elementWärmeStatus);
        }