private static IVectorView SolveModel(Model model) { SkylineSolver solver = (new SkylineSolver.Builder()).BuildSolver(model); var provider = new ProblemThermal(model, solver); var childAnalyzer = new LinearAnalyzer(model, solver, provider); var parentAnalyzer = new StaticAnalyzer(model, solver, provider, childAnalyzer); parentAnalyzer.Initialize(); parentAnalyzer.Solve(); return(solver.LinearSystems[subdomainID].Solution); }
public static void ThermalEmbeddedElementExample() { Model model = new Model(); model.SubdomainsDictionary.Add(subdomainID, new Subdomain(subdomainID)); // Choose model ThermalExampleWithEmbedded(model); SkylineSolver solver = (new SkylineSolver.Builder()).BuildSolver(model); var provider = new ProblemThermal(model, solver); var rve = new ThermalSquareRve(model, Vector2.Create(minX, minY), Vector2.Create(maxX, maxY), thickness, temperatureGradient); var homogenization = new HomogenizationAnalyzer(model, solver, provider, rve); homogenization.Initialize(); homogenization.Solve(); IMatrix conductivity = homogenization.EffectiveConstitutiveTensors[subdomainID]; Debug.WriteLine($"C = [ {conductivity[0, 0]} {conductivity[0, 1]}; {conductivity[1, 0]} {conductivity[1, 1]}"); }