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 | |
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") | |
def lagrangian_sessile_droplet_test.PrintResults | ( | model_part | ) |
lagrangian_sessile_droplet_test.add_nodes = problem_settings.adaptive_refinement |
lagrangian_sessile_droplet_test.alpha_shape |
lagrangian_sessile_droplet_test.box_corner1 = Vector(3); |
lagrangian_sessile_droplet_test.box_corner2 = Vector(3); |
lagrangian_sessile_droplet_test.bulk_modulus = problem_settings.bulk_modulus |
int lagrangian_sessile_droplet_test.compute_reactions = False |
float lagrangian_sessile_droplet_test.contact_angle = 45.0 |
lagrangian_sessile_droplet_test.deformed_mesh_flag = WriteDeformedMeshFlag.WriteDeformed |
lagrangian_sessile_droplet_test.density = problem_settings.density |
lagrangian_sessile_droplet_test.domain_size = ProjectParameters.domain_size |
setting the domain size for the problem to be solved
lagrangian_sessile_droplet_test.Dt = ProjectParameters.Dt |
lagrangian_sessile_droplet_test.echo_level |
lagrangian_sessile_droplet_test.element_type = problem_settings.lagrangian_element |
Choosing element type for lagrangian_model_part.
int lagrangian_sessile_droplet_test.eul_model_part = 0 |
lagrangian_sessile_droplet_test.final_time = ProjectParameters.max_time |
lagrangian_sessile_droplet_test.fluid_only_model_part = ModelPart("FluidOnlyPart"); |
lagrangian_sessile_droplet_test.FSI = problem_settings.FSI |
float lagrangian_sessile_droplet_test.gamma = 0.072 |
lagrangian_sessile_droplet_test.gid_io = GidIO(input_file_name,gid_mode,multifile,deformed_mesh_flag, write_conditions) |
lagrangian_sessile_droplet_test.gid_mode = GiDPostMode.GiD_PostBinary |
string lagrangian_sessile_droplet_test.input_file_name = "90deg_1mm_2" |
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_sessile_droplet_test.lagrangian_model_part = ModelPart("LagrangianPart"); |
lagrangian_sessile_droplet_test.model_part_io_structure = ModelPartIO(input_file_name) |
lagrangian_sessile_droplet_test.multifile = MultiFileFlag.SingleFile |
bool lagrangian_sessile_droplet_test.Multifile = True |
lagrangian_sessile_droplet_test.Nsteps = ProjectParameters.nsteps |
int lagrangian_sessile_droplet_test.out = 0 |
lagrangian_sessile_droplet_test.output_time = ProjectParameters.output_time |
lagrangian_sessile_droplet_test.outputfile1 = open(outstring2, 'w') |
string lagrangian_sessile_droplet_test.outstring2 = "convergence_info.txt" |
lagrangian_sessile_droplet_test.pDiagPrecond = DiagonalPreconditioner() |
bool lagrangian_sessile_droplet_test.reform_dofs_at_each_step = False |
lagrangian_sessile_droplet_test.res_name1 = str("water") |
lagrangian_sessile_droplet_test.solver_lagr = import_solver(SolverSettings) |
lagrangian_sessile_droplet_test.SolverSettings = ProjectParameters.FluidSolverConfiguration |
lagrangian_sessile_droplet_test.SolverType = problem_settings.SolverType |
importing the solvers needed
int lagrangian_sessile_droplet_test.step = 0 |
lagrangian_sessile_droplet_test.time = ProjectParameters.Start_time |
dictionary lagrangian_sessile_droplet_test.variables_dictionary |
defining variables to be used
lagrangian_sessile_droplet_test.write_conditions = WriteConditionsFlag.WriteConditions |
float lagrangian_sessile_droplet_test.zeta_dissapative_BM = 0.0 |
float lagrangian_sessile_droplet_test.zeta_dissapative_JM = 1.0 |
float lagrangian_sessile_droplet_test.zeta_dissapative_SM = 0.0 |