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); }
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); }
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); }