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
Beispiel #2
0
    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
Beispiel #4
0
    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