示例#1
0
        public (IVectorView globalU, IMatrixView globalK) SolveModel()
        {
            // Solver
            SkylineSolver solver = new SkylineSolver.Builder().BuildSolver(Model);

            solver.PreventFromOverwrittingSystemMatrices(); // Necessary to extract the stiffness matrix.

            // Problem type
            var provider = new ProblemStructural(Model, solver);

            // Analyzers
            var childAnalyzer  = new LinearAnalyzer(Model, solver, provider);
            var parentAnalyzer = new StaticAnalyzer(Model, solver, provider, childAnalyzer);

            // Run the anlaysis
            parentAnalyzer.Initialize();
            parentAnalyzer.Solve();

            return(solver.LinearSystems[0].Solution, solver.LinearSystems[0].Matrix);
        }