예제 #1
0
    def _setup_harmonic_solver(self,mp,echo=0):
        builder_and_solver = KratosMultiphysics.ResidualBasedBlockBuilderAndSolver(KratosMultiphysics.LinearSolver())
        eigen_scheme = StructuralMechanicsApplication.EigensolverDynamicScheme()
        harmonic_strategy = StructuralMechanicsApplication.HarmonicAnalysisStrategy(mp, eigen_scheme, builder_and_solver, False)
        harmonic_strategy.SetEchoLevel(echo)

        return harmonic_strategy
    def _create_mechanical_solver(self):
        eigen_scheme = self.get_solution_scheme()
        builder_and_solver = self.get_builder_and_solver()
        computing_model_part = self.GetComputingModelPart()

        return StructuralMechanicsApplication.HarmonicAnalysisStrategy(computing_model_part,
                                                                    eigen_scheme,
                                                                    builder_and_solver,
                                                                    self.harmonic_analysis_settings["use_effective_material_damping"].GetBool())