parameters: (self)
docstring: Solve the system in its current state without checking the time step.
docstring_summary: Solve the system in its current state without checking the time step.
docstring_tokens: Solve the system in its current state without checking the time step .
function: def __SolveLocalSolutionStep(self):
          """Solve the system in its current state without checking the time step."""
          if self.extrapolation_layers < 3:
              raise ValueError("Insufficient number of extrapolation layers: {} (minimum is 3)".format(self.extrapolation_layers))
  
          self.timer.Start("Calculate porous resistance law")
          self.fluid_solver.CalculatePorousResistanceLaw(int(self.compute_porous_resistance_law))
          self.timer.Stop("Calculate porous resistance law")
  
          self.timer.Start("Update fixed velocity values")
          self.fluid_solver.UpdateFixedVelocityValues()
          self.timer.Stop("Update fixed velocity values")
  
          self.timer.Start("Extrapolate values")
          self.fluid_solver.ExtrapolateValues(self.extrapolation_layers)
          self.timer.Stop("Extrapolate values")
  
          self.timer.Start("Convect distance")
          self.fluid_solver.ConvectDistance()
          self.timer.Stop("Convect distance")
  
          # Note: the original script kept track of two different step counts,
          # leading to some quirks with performing redistancing. The current
          # behaviour mimics the original one to satisfy the tests, but it
          # would probably make more sense to check (STEP % frequency == 0) instead.
          step = self.model_part.ProcessInfo[KratosMultiphysics.STEP]
          if 0 < (step - 4) and ((step - 4) % self.redistance_frequency) == 0:
              self.timer.Start("Redistance")
              self.__Redistance()
              self.timer.Stop("Redistance")
  
          # Solve fluid
          self.timer.Start("Solve step 1")
          self.fluid_solver.SolveStep1()
          self.timer.Stop("Solve step 1")
  
          self.timer.Start("Solve step 2")
          self.fluid_solver.SolveStep2(self.pressure_linear_solver)
          self.timer.Stop("Solve step 2")
  
          self.timer.Start("Solve step 3")
          self.fluid_solver.SolveStep3()
          self.timer.Stop("Solve step 3")
function_tokens: def __SolveLocalSolutionStep ( self ) : if self . extrapolation_layers < 3 : raise ValueError ( "Insufficient number of extrapolation layers: {} (minimum is 3)" . format ( self . extrapolation_layers ) ) self . timer . Start ( "Calculate porous resistance law" ) self . fluid_solver . CalculatePorousResistanceLaw ( int ( self . compute_porous_resistance_law ) ) self . timer . Stop ( "Calculate porous resistance law" ) self . timer . Start ( "Update fixed velocity values" ) self . fluid_solver . UpdateFixedVelocityValues ( ) self . timer . Stop ( "Update fixed velocity values" ) self . timer . Start ( "Extrapolate values" ) self . fluid_solver . ExtrapolateValues ( self . extrapolation_layers ) self . timer . Stop ( "Extrapolate values" ) self . timer . Start ( "Convect distance" ) self . fluid_solver . ConvectDistance ( ) self . timer . Stop ( "Convect distance" ) # Note: the original script kept track of two different step counts, # leading to some quirks with performing redistancing. The current # behaviour mimics the original one to satisfy the tests, but it # would probably make more sense to check (STEP % frequency == 0) instead. step = self . model_part . ProcessInfo [ KratosMultiphysics . STEP ] if 0 < ( step - 4 ) and ( ( step - 4 ) % self . redistance_frequency ) == 0 : self . timer . Start ( "Redistance" ) self . __Redistance ( ) self . timer . Stop ( "Redistance" ) # Solve fluid self . timer . Start ( "Solve step 1" ) self . fluid_solver . SolveStep1 ( ) self . timer . Stop ( "Solve step 1" ) self . timer . Start ( "Solve step 2" ) self . fluid_solver . SolveStep2 ( self . pressure_linear_solver ) self . timer . Stop ( "Solve step 2" ) self . timer . Start ( "Solve step 3" ) self . fluid_solver . SolveStep3 ( ) self . timer . Stop ( "Solve step 3" )