private void KnotenverformungenGrid_Anzeigen(object sender, RoutedEventArgs e)
        {
            if (knoten == null)
            {
                return;
            }
            var knotenverformungen = new List <Knotenverformungen>();
            var dt     = modell.Zeitintegration.Dt;
            var nSteps = knoten.NodalVariables[0].Length;
            var zeit   = new double[nSteps + 1];

            zeit[0] = 0;

            Knotenverformungen knotenverformung = null;

            for (var i = 0; i < nSteps; i++)
            {
                switch (knoten.NodalVariables.Length)
                {
                case 2:
                    knotenverformung = new Knotenverformungen(zeit[i], knoten.NodalVariables[0][i], knoten.NodalVariables[1][i],
                                                              knoten.NodalDerivatives[0][i], knoten.NodalDerivatives[1][i]);
                    break;

                case 3:
                    knotenverformung = new Knotenverformungen(zeit[i], knoten.NodalVariables[0][i], knoten.NodalVariables[1][i], knoten.NodalVariables[2][i],
                                                              knoten.NodalDerivatives[0][i], knoten.NodalDerivatives[1][i], knoten.NodalDerivatives[2][i]);
                    break;
                }
                knotenverformungen.Add(knotenverformung);
                zeit[i + 1] = zeit[i] + dt;
            }
            KnotenverformungenGrid.ItemsSource = knotenverformungen;
        }
        private void ZeitschrittGrid_Anzeigen(object sender, RoutedEventArgs e)
        {
            if (Index == 0)
            {
                return;
            }
            var zeitschritt = new List <Knotenverformungen>();
            var dt          = modell.Zeitintegration.Dt;
            var tmax        = modell.Zeitintegration.Tmax;
            var nSteps      = (int)(tmax / dt) + 1;
            var zeit        = new double[nSteps + 1];

            zeit[0] = 0;

            Knotenverformungen knotenverformung = null;

            foreach (var item in modell.Knoten)
            {
                // eingabeEinheit z.B. in m, verformungsEinheit z.B. cm, beschleunigungsEinheit z.B. cm/s/s
                const int verformungsEinheit = 1;
                knoten = item.Value;
                switch (knoten.NodalVariables.Length)
                {
                case 2:
                    knotenverformung = new Knotenverformungen(item.Value.Id,
                                                              knoten.NodalVariables[0][Index] * verformungsEinheit, knoten.NodalVariables[1][Index] * verformungsEinheit,
                                                              knoten.NodalDerivatives[0][Index] * verformungsEinheit, knoten.NodalDerivatives[1][Index] * verformungsEinheit);
                    break;

                case 3:
                    knotenverformung = new Knotenverformungen(item.Value.Id,
                                                              knoten.NodalVariables[0][Index] * verformungsEinheit, knoten.NodalVariables[1][Index] * verformungsEinheit,
                                                              knoten.NodalVariables[2][Index] * verformungsEinheit,
                                                              knoten.NodalDerivatives[0][Index] * verformungsEinheit, knoten.NodalDerivatives[1][Index] * verformungsEinheit,
                                                              knoten.NodalDerivatives[2][Index] * verformungsEinheit);
                    break;
                }
                zeitschritt.Add(knotenverformung);
            }
            ZeitschrittGrid.ItemsSource = zeitschritt;
        }