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

Functions

def PrintResults (model_part)
 

Variables

 domain_size = ProjectParameters.domain_size
 setting the domain size for the problem to be solved More...
 
dictionary variables_dictionary
 defining variables to be used More...
 
 lagrangian_model_part = ModelPart("LagrangianPart");
 
 SolverType = problem_settings.SolverType
 importing the solvers needed More...
 
 fluid_only_model_part = ModelPart("FluidOnlyPart");
 
 element_type = problem_settings.lagrangian_element
 Choosing element type for lagrangian_model_part. More...
 
 SolverSettings = ProjectParameters.FluidSolverConfiguration
 
 solver_lagr = import_solver(SolverSettings)
 
bool compute_reactions = False
 
 gid_mode = GiDPostMode.GiD_PostBinary
 
 deformed_mesh_flag = WriteDeformedMeshFlag.WriteDeformed
 
 write_conditions = WriteConditionsFlag.WriteConditions
 
 multifile = MultiFileFlag.SingleFile
 
string input_file_name = "90deg_1mm_2"
 
 gid_io = GidIO(input_file_name,gid_mode,multifile,deformed_mesh_flag, write_conditions)
 
 model_part_io_structure = ModelPartIO(input_file_name)
 
 box_corner1 = Vector(3);
 
 box_corner2 = Vector(3);
 
string outstring2 = "convergence_info.txt"
 
 outputfile1 = open(outstring2, 'w')
 
 add_nodes = problem_settings.adaptive_refinement
 
 bulk_modulus = problem_settings.bulk_modulus
 
 density = problem_settings.density
 
 FSI = problem_settings.FSI
 
int eul_model_part = 0
 
float gamma = 0.072
 
float contact_angle = 45.0
 
float zeta_dissapative_JM = 1.0
 
float zeta_dissapative_BM = 0.0
 
float zeta_dissapative_SM = 0.0
 
 lag_solver = solver_lagr.CreateSolver(lagrangian_model_part, SolverSettings, eul_model_part, gamma, contact_angle, zeta_dissapative_JM, zeta_dissapative_BM, zeta_dissapative_SM)
 the dissipative force is added utilizing the power law model, utilizing the capillary number when the velocity is the tangential component at the contact line, More...
 
bool reform_dofs_at_each_step = False
 
 pDiagPrecond = DiagonalPreconditioner()
 
 alpha_shape
 
 echo_level
 
bool Multifile = True
 
 Dt = ProjectParameters.Dt
 
 Nsteps = ProjectParameters.nsteps
 
 final_time = ProjectParameters.max_time
 
 output_time = ProjectParameters.output_time
 
 time = ProjectParameters.Start_time
 
int out = 0
 
int step = 0
 
 res_name1 = str("water")
 

Function Documentation

◆ PrintResults()

def lagrangian_sessile_droplet_test.PrintResults (   model_part)

Variable Documentation

◆ add_nodes

lagrangian_sessile_droplet_test.add_nodes = problem_settings.adaptive_refinement

◆ alpha_shape

lagrangian_sessile_droplet_test.alpha_shape

◆ box_corner1

lagrangian_sessile_droplet_test.box_corner1 = Vector(3);

◆ box_corner2

lagrangian_sessile_droplet_test.box_corner2 = Vector(3);

◆ bulk_modulus

lagrangian_sessile_droplet_test.bulk_modulus = problem_settings.bulk_modulus

◆ compute_reactions

int lagrangian_sessile_droplet_test.compute_reactions = False

◆ contact_angle

float lagrangian_sessile_droplet_test.contact_angle = 45.0

◆ deformed_mesh_flag

lagrangian_sessile_droplet_test.deformed_mesh_flag = WriteDeformedMeshFlag.WriteDeformed

◆ density

lagrangian_sessile_droplet_test.density = problem_settings.density

◆ domain_size

lagrangian_sessile_droplet_test.domain_size = ProjectParameters.domain_size

setting the domain size for the problem to be solved

◆ Dt

lagrangian_sessile_droplet_test.Dt = ProjectParameters.Dt

◆ echo_level

lagrangian_sessile_droplet_test.echo_level

◆ element_type

lagrangian_sessile_droplet_test.element_type = problem_settings.lagrangian_element

Choosing element type for lagrangian_model_part.

◆ eul_model_part

int lagrangian_sessile_droplet_test.eul_model_part = 0

◆ final_time

lagrangian_sessile_droplet_test.final_time = ProjectParameters.max_time

◆ fluid_only_model_part

lagrangian_sessile_droplet_test.fluid_only_model_part = ModelPart("FluidOnlyPart");

◆ FSI

lagrangian_sessile_droplet_test.FSI = problem_settings.FSI

◆ gamma

float lagrangian_sessile_droplet_test.gamma = 0.072

◆ gid_io

lagrangian_sessile_droplet_test.gid_io = GidIO(input_file_name,gid_mode,multifile,deformed_mesh_flag, write_conditions)

◆ gid_mode

lagrangian_sessile_droplet_test.gid_mode = GiDPostMode.GiD_PostBinary

◆ input_file_name

string lagrangian_sessile_droplet_test.input_file_name = "90deg_1mm_2"

◆ lag_solver

lagrangian_sessile_droplet_test.lag_solver = solver_lagr.CreateSolver(lagrangian_model_part, SolverSettings, eul_model_part, gamma, contact_angle, zeta_dissapative_JM, zeta_dissapative_BM, zeta_dissapative_SM)

the dissipative force is added utilizing the power law model, utilizing the capillary number when the velocity is the tangential component at the contact line,

you can choose one of the three models as:

or

or

or

references:

◆ lagrangian_model_part

lagrangian_sessile_droplet_test.lagrangian_model_part = ModelPart("LagrangianPart");

◆ model_part_io_structure

lagrangian_sessile_droplet_test.model_part_io_structure = ModelPartIO(input_file_name)

◆ multifile

lagrangian_sessile_droplet_test.multifile = MultiFileFlag.SingleFile

◆ Multifile

bool lagrangian_sessile_droplet_test.Multifile = True

◆ Nsteps

lagrangian_sessile_droplet_test.Nsteps = ProjectParameters.nsteps

◆ out

int lagrangian_sessile_droplet_test.out = 0

◆ output_time

lagrangian_sessile_droplet_test.output_time = ProjectParameters.output_time

◆ outputfile1

lagrangian_sessile_droplet_test.outputfile1 = open(outstring2, 'w')

◆ outstring2

string lagrangian_sessile_droplet_test.outstring2 = "convergence_info.txt"

◆ pDiagPrecond

lagrangian_sessile_droplet_test.pDiagPrecond = DiagonalPreconditioner()

◆ reform_dofs_at_each_step

bool lagrangian_sessile_droplet_test.reform_dofs_at_each_step = False

◆ res_name1

lagrangian_sessile_droplet_test.res_name1 = str("water")

◆ solver_lagr

lagrangian_sessile_droplet_test.solver_lagr = import_solver(SolverSettings)

◆ SolverSettings

lagrangian_sessile_droplet_test.SolverSettings = ProjectParameters.FluidSolverConfiguration

◆ SolverType

lagrangian_sessile_droplet_test.SolverType = problem_settings.SolverType

importing the solvers needed

◆ step

int lagrangian_sessile_droplet_test.step = 0

◆ time

lagrangian_sessile_droplet_test.time = ProjectParameters.Start_time

◆ variables_dictionary

dictionary lagrangian_sessile_droplet_test.variables_dictionary
Initial value:
1 = {"PRESSURE" : PRESSURE,
2  "VELOCITY" : VELOCITY,
3  "REACTION" : REACTION,
4  "DISTANCE" : DISTANCE,
5  "AUX_VEL" : AUX_VEL,
6  "DISPLACEMENT" : DISPLACEMENT,
7  "IS_INTERFACE" : IS_INTERFACE,
8  "IS_STRUCTURE" : IS_STRUCTURE,
9  "VISCOUS_STRESSX": VISCOUS_STRESSX,
10  "VISCOUS_STRESSY": VISCOUS_STRESSY,
11  "IS_WATER": IS_WATER,
12  "DENSITY": DENSITY,
13  "VISCOSITY": VISCOSITY}

defining variables to be used

◆ write_conditions

lagrangian_sessile_droplet_test.write_conditions = WriteConditionsFlag.WriteConditions

◆ zeta_dissapative_BM

float lagrangian_sessile_droplet_test.zeta_dissapative_BM = 0.0

◆ zeta_dissapative_JM

float lagrangian_sessile_droplet_test.zeta_dissapative_JM = 1.0

◆ zeta_dissapative_SM

float lagrangian_sessile_droplet_test.zeta_dissapative_SM = 0.0