def Say(*args): Logger.PrintInfo("DEM", *args) Logger.Flush()
from __future__ import print_function, absolute_import, division #makes KratosMultiphysics backward compatible with python 2.6 and 2.7 import time as timer import os import KratosMultiphysics as Kratos from Kratos import Logger import KratosMultiphysics.DEMApplication as Dem Logger.Print("Running under OpenMP........", label="DEM") import KratosMultiphysics.StructuralMechanicsApplication as Structural import KratosMultiphysics.DemStructuresCouplingApplication as DemFem from KratosMultiphysics.DemStructuresCouplingApplication.dem_fem_coupling_algorithm import Algorithm class SPAlgorithm(Algorithm): def __init__(self): super(SPAlgorithm, self).__init__() sp_parameters_file_name = "SPParameters.json" with open(sp_parameters_file_name, 'r') as parameter_file: self.sp_parameters = Kratos.Parameters(parameter_file.read()) self.ValidateSettings() self.test_number = self.sp_parameters["problem_data"][ "test_number"].GetInt() # Test types (4 different options): # Test number 0: no test simulation # Test number 1: CTW16 specimen # Test number 2: CTW10 specimen # Test number 3: Blind test specimen
self.analysis = TestDEMPiecewiseInletAnalysis def test_piecewise_linear_inlet(self): parameters_file_name = os.path.join(self.path, self.parameters_file_name) model = Kratos.Model() with open(parameters_file_name, 'r') as parameter_file: project_parameters = Kratos.Parameters(parameter_file.read()) analysis = self.analysis(model, project_parameters) analysis.Run() self.assertAlmostEqual(analysis.max_radius_expected, analysis.max_radius) class TestDiscreteDEMInlet(TestPieceWiseLinearDEMInlet): def setUp(self): self.parameters_file_name = 'DiscreteProjectParametersDEM.json' self.path = TestDEMDiscreteInletAnalysis.GetMainPath() self.analysis = TestDEMDiscreteInletAnalysis if __name__ == "__main__": if debug_mode: Logger.GetDefaultOutput().SetSeverity(Logger.Severity.INFO) else: Logger.GetDefaultOutput().SetSeverity(Logger.Severity.WARNING) KratosUnittest.main()