def _set_level_set_convection_process(self):
        # Construct the level set convection process
        if self.main_model_part.ProcessInfo[
                KratosMultiphysics.DOMAIN_SIZE] == 2:
            level_set_convection_process = KratosTrilinos.TrilinosLevelSetConvectionProcess2D(
                self.EpetraCommunicator, KratosMultiphysics.DISTANCE,
                self.computing_model_part, self.trilinos_linear_solver)
        else:
            level_set_convection_process = KratosTrilinos.TrilinosLevelSetConvectionProcess3D(
                self.EpetraCommunicator, KratosMultiphysics.DISTANCE,
                self.computing_model_part, self.trilinos_linear_solver)

        return level_set_convection_process
示例#2
0
    def _CreateLevelSetConvectionProcess(self):
        # Construct the level set convection process
        domain_size = self.main_model_part.ProcessInfo[
            KratosMultiphysics.DOMAIN_SIZE]
        linear_solver = self._GetLinearSolver()
        computing_model_part = self.GetComputingModelPart()
        epetra_communicator = self._GetEpetraCommunicator()
        if domain_size == 2:
            level_set_convection_process = KratosTrilinos.TrilinosLevelSetConvectionProcess2D(
                epetra_communicator, KratosMultiphysics.DISTANCE,
                computing_model_part, linear_solver)
        else:
            level_set_convection_process = KratosTrilinos.TrilinosLevelSetConvectionProcess3D(
                epetra_communicator, KratosMultiphysics.DISTANCE,
                computing_model_part, linear_solver)

        return level_set_convection_process