def _create_builder_and_solver(self): linear_solver = self.get_linear_solver() epetra_communicator = self.get_epetra_communicator() if (self.main_model_part.ProcessInfo[KratosMultiphysics.DOMAIN_SIZE] == 2): guess_row_size = 15 else: guess_row_size = 45 if (self.settings["block_builder"].GetBool() == True): builder_and_solver = TrilinosApplication.TrilinosBlockBuilderAndSolver( epetra_communicator, guess_row_size, linear_solver) else: builder_and_solver = TrilinosApplication.TrilinosEliminationBuilderAndSolver( epetra_communicator, guess_row_size, linear_solver) return builder_and_solver
def _ConstructBuilderAndSolver(self, block_builder): if (self.main_model_part.ProcessInfo[KratosMultiphysics.DOMAIN_SIZE] == 2): guess_row_size = 15 else: guess_row_size = 45 if (block_builder): builder_and_solver = TrilinosApplication.TrilinosBlockBuilderAndSolver( self.EpetraCommunicator, guess_row_size, self.linear_solver) else: builder_and_solver = TrilinosApplication.TrilinosEliminationBuilderAndSolver( self.EpetraCommunicator, guess_row_size, self.linear_solver) return builder_and_solver
def _create_builder_and_solver(self): if self.settings["multi_point_constraints_used"].GetBool(): raise Exception("MPCs not yet implemented in MPI") linear_solver = self.get_linear_solver() epetra_communicator = self.get_epetra_communicator() if (self.main_model_part.ProcessInfo[KratosMultiphysics.DOMAIN_SIZE] == 2): guess_row_size = 15 else: guess_row_size = 45 if (self.settings["block_builder"].GetBool() == True): builder_and_solver = TrilinosApplication.TrilinosBlockBuilderAndSolver( epetra_communicator, guess_row_size, linear_solver) else: builder_and_solver = TrilinosApplication.TrilinosEliminationBuilderAndSolver( epetra_communicator, guess_row_size, linear_solver) return builder_and_solver
def _create_builder_and_solver(self): if self.settings["multi_point_constraints_used"].GetBool(): raise Exception("MPCs not yet implemented in MPI") if (self.GetComputingModelPart().NumberOfMasterSlaveConstraints() > 0): self.print_warning_on_rank_zero("Constraints are not yet implemented in MPI and will therefore not be considered!") linear_solver = self.get_linear_solver() epetra_communicator = self.get_epetra_communicator() if(self.main_model_part.ProcessInfo[KratosMultiphysics.DOMAIN_SIZE] == 2): guess_row_size = 15 else: guess_row_size = 45 if(self.settings["block_builder"].GetBool() == True): builder_and_solver = TrilinosApplication.TrilinosBlockBuilderAndSolver(epetra_communicator, guess_row_size, linear_solver) else: builder_and_solver = TrilinosApplication.TrilinosEliminationBuilderAndSolver(epetra_communicator, guess_row_size, linear_solver) return builder_and_solver