class ParticleMechanicsTestFactory(KratosUnittest.TestCase): def setUp(self): # Within this location context: with KratosUnittest.WorkFolderScope(".", __file__): # Reading the ProjectParameters with open(self.file_name + "_parameters.json",'r') as parameter_file: ProjectParameters = KratosMultiphysics.Parameters(parameter_file.read()) self.modify_parameters(ProjectParameters) # To avoid many prints if (ProjectParameters["problem_data"]["echo_level"].GetInt() == 0): KratosMultiphysics.Logger.GetDefaultOutput().SetSeverity(KratosMultiphysics.Logger.Severity.WARNING) # Creating the test model = KratosMultiphysics.Model() self.test = ParticleMechanicsAnalysis(model, ProjectParameters) self.test.Initialize() def modify_parameters(self, project_parameters): """This function can be used in derived classes to modify existing parameters before the execution of the test (e.g. switch to MPI) """ pass def test_execution(self): # Within this location context: with KratosUnittest.WorkFolderScope(".", __file__): self.test.RunSolutionLoop() def tearDown(self): # Within this location context: with KratosUnittest.WorkFolderScope(".", __file__): self.test.Finalize()
def setUp(self): # Within this location context: with KratosUnittest.WorkFolderScope(".", __file__): # Reading the ProjectParameters with open(self.file_name + "_parameters.json",'r') as parameter_file: ProjectParameters = KratosMultiphysics.Parameters(parameter_file.read()) self.modify_parameters(ProjectParameters) # To avoid many prints if (ProjectParameters["problem_data"]["echo_level"].GetInt() == 0): KratosMultiphysics.Logger.GetDefaultOutput().SetSeverity(KratosMultiphysics.Logger.Severity.WARNING) # Creating the test model = KratosMultiphysics.Model() self.test = ParticleMechanicsAnalysis(model, ProjectParameters) self.test.Initialize()
def _CreateAnalysisStage(self): return ParticleMechanicsAnalysis(self.model, self.project_parameters)
from __future__ import print_function, absolute_import, division #makes KratosMultiphysics backward compatible with python 2.6 and 2.7 import KratosMultiphysics from KratosMultiphysics.ParticleMechanicsApplication.particle_mechanics_analysis import ParticleMechanicsAnalysis """ For user-scripting it is intended that a new class is derived from ParticleMechanicsAnalysis to do modifications """ if __name__ == "__main__": with open("ProjectParameters.json", 'r') as parameter_file: parameters = KratosMultiphysics.Parameters(parameter_file.read()) model = KratosMultiphysics.Model() simulation = ParticleMechanicsAnalysis(model, parameters) simulation.Run()