KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
|
Classes | |
class | ULF_FSISolver |
THIS FUNCTION STORES THE NODES OF THE SECOND MOULD IN A SEPARATE SUBPART (THAT WILL BE DISACTIVATED IN THE STEPS OF THE FIRST BLOW) THE NODES OF THE SECOND MOULD ARE DISTINGUISHED BY THE FLAG def CreateSubModelPartsFirstSecondBlow(total_model_part, second_mould_flag_value): init_domain_model_part=total_model_part.CreateSubModelPart("InitialDomain"); second_mould_model_part=total_model_part.CreateSubModelPart("SecondMould"); for node in total_model_part.Nodes: if (node.GetSolutionStepValue(FLAG_VARIABLE)==second_mould_flag_value): second_mould_model_part.AddNode(node, 0 ); else: init_domain_model_part.AddNode(node, 0 );. More... | |
Functions | |
def | AddVariables (model_part) |
def | AddDofs (model_part, compute_reactions) |
def | Remesh (self) |
for node in (self.combined_model_part).Nodes: pold = node.GetSolutionStepValue(PRESSURE,1); dispold = node.GetSolutionStepValue(DISPLACEMENT,1); velold = node.GetSolutionStepValue(VELOCITY,1); accold = node.GetSolutionStepValue(ACCELERATION,1); More... | |
def | FindNeighbours (self) |
FOR MEMBRANE print "00000" NormalCalculationUtils().CalculateOnSimplex(self.combined_model_part, self.domain_size) print "aaaa" print self.fluid_model_part AssignPointNeumannConditions().AssignPointNeumannConditions3D(self.combined_model_part) print self.fluid_model_part print "bbbb". More... | |
def | ResetNodalHAtLonelyNodes (self) |
this function is included since at the findNodalHProcess of Kratos core assigns max value (1.7*e^309) to all nodes and then computes the correct value only for the nodes of elements. More... | |
def | AssignHtoLonelyStructureNodes (self) |
Variables | |
float | factor = 2.0**5 |
for node in (self.combined_model_part).Nodes: pold = node.GetSolutionStepValue(PRESSURE,1); dispold = node.GetSolutionStepValue(DISPLACEMENT,1); velold = node.GetSolutionStepValue(VELOCITY,1); accold = node.GetSolutionStepValue(ACCELERATION,1); More... | |
domain_size | |
erase all conditions and elements prior to remeshing More... | |
def ulf_PGLASS.AddDofs | ( | model_part, | |
compute_reactions | |||
) |
def ulf_PGLASS.AddVariables | ( | model_part | ) |
def ulf_PGLASS.AssignHtoLonelyStructureNodes | ( | self | ) |
def ulf_PGLASS.FindNeighbours | ( | self | ) |
FOR MEMBRANE print "00000" NormalCalculationUtils().CalculateOnSimplex(self.combined_model_part, self.domain_size) print "aaaa" print self.fluid_model_part AssignPointNeumannConditions().AssignPointNeumannConditions3D(self.combined_model_part) print self.fluid_model_part print "bbbb".
THIS IS FOR EMBEDDED"""""""""""""""""""""""""
def ulf_PGLASS.Remesh | ( | self | ) |
for node in (self.combined_model_part).Nodes: pold = node.GetSolutionStepValue(PRESSURE,1); dispold = node.GetSolutionStepValue(DISPLACEMENT,1); velold = node.GetSolutionStepValue(VELOCITY,1); accold = node.GetSolutionStepValue(ACCELERATION,1);
node.SetSolutionStepValue(PRESSURE,0,pold); node.SetSolutionStepValue(DISPLACEMENT,0,dispold); node.SetSolutionStepValue(VELOCITY,0,velold); node.SetSolutionStepValue(ACCELERATION,0,accold);
def ulf_PGLASS.ResetNodalHAtLonelyNodes | ( | self | ) |
this function is included since at the findNodalHProcess of Kratos core assigns max value (1.7*e^309) to all nodes and then computes the correct value only for the nodes of elements.
Thus lonely nodes remain with this enormous values
ulf_PGLASS.domain_size |
erase all conditions and elements prior to remeshing
remesh CHECK for 3D or 2D
float ulf_PGLASS.factor = 2.0**5 |
for node in (self.combined_model_part).Nodes: pold = node.GetSolutionStepValue(PRESSURE,1); dispold = node.GetSolutionStepValue(DISPLACEMENT,1); velold = node.GetSolutionStepValue(VELOCITY,1); accold = node.GetSolutionStepValue(ACCELERATION,1);
node.SetSolutionStepValue(PRESSURE,0,pold); node.SetSolutionStepValue(DISPLACEMENT,0,dispold); node.SetSolutionStepValue(VELOCITY,0,velold); node.SetSolutionStepValue(ACCELERATION,0,accold);