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 | Functions | Variables
ulf_PGLASS Namespace Reference

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...
 

Function Documentation

◆ AddDofs()

def ulf_PGLASS.AddDofs (   model_part,
  compute_reactions 
)

◆ AddVariables()

def ulf_PGLASS.AddVariables (   model_part)

◆ AssignHtoLonelyStructureNodes()

def ulf_PGLASS.AssignHtoLonelyStructureNodes (   self)

◆ FindNeighbours()

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"""""""""""""""""""""""""

◆ Remesh()

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);

◆ ResetNodalHAtLonelyNodes()

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

Variable Documentation

◆ domain_size

ulf_PGLASS.domain_size

erase all conditions and elements prior to remeshing

remesh CHECK for 3D or 2D

◆ factor

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);