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.
|
Variables | |
string | mode = "c" |
list | dim_vect = [2, 3] |
string | aux_filename = "hyper_elastic_simo_taylor_neo_hookean_" |
Kappa = sympy.Symbol("Kappa") | |
Mu = sympy.Symbol("Mu") | |
int | strain_size = 3 |
E_voigt = KratosSympy.DefineVector("rStrain", strain_size) | |
E = KratosSympy.ConvertVoigtStrainToMatrix(E_voigt) | |
int | C = 2*E + sympy.eye(dim, dim) |
J = sympy.sqrt(sympy.det(C).doit()) | |
tuple | devC = (J**(-sympy.Rational(2,dim)))*C |
tuple | psi = (Kappa/4)*(J**2-1.0) - (Kappa/2)*sympy.ln(J) |
S_voigt = sympy.Matrix(sympy.zeros(strain_size, 1)) | |
D_voigt = sympy.Matrix(sympy.zeros(strain_size,strain_size)) | |
S_out = KratosSympy.OutputVector_CollectingFactors(S_voigt, "rStressVector", mode) | |
D_out = KratosSympy.OutputMatrix_CollectingFactors(D_voigt, "rConstitutiveMatrix", mode) | |
string | output_filename = aux_filename + ("3d.cpp" if dim == 3 else "plane_strain_2d.cpp") |
string | template_filename = aux_filename + ("3d_template.cpp" if dim == 3 else "plane_strain_2d_template.cpp") |
outstring = open(template_filename).read() | |
string generate_hyper_elastic_simo_taylor_neo_hookean.aux_filename = "hyper_elastic_simo_taylor_neo_hookean_" |
int generate_hyper_elastic_simo_taylor_neo_hookean.C = 2*E + sympy.eye(dim, dim) |
generate_hyper_elastic_simo_taylor_neo_hookean.D_out = KratosSympy.OutputMatrix_CollectingFactors(D_voigt, "rConstitutiveMatrix", mode) |
generate_hyper_elastic_simo_taylor_neo_hookean.D_voigt = sympy.Matrix(sympy.zeros(strain_size,strain_size)) |
list generate_hyper_elastic_simo_taylor_neo_hookean.dim_vect = [2, 3] |
generate_hyper_elastic_simo_taylor_neo_hookean.E = KratosSympy.ConvertVoigtStrainToMatrix(E_voigt) |
generate_hyper_elastic_simo_taylor_neo_hookean.E_voigt = KratosSympy.DefineVector("rStrain", strain_size) |
generate_hyper_elastic_simo_taylor_neo_hookean.J = sympy.sqrt(sympy.det(C).doit()) |
generate_hyper_elastic_simo_taylor_neo_hookean.Kappa = sympy.Symbol("Kappa") |
string generate_hyper_elastic_simo_taylor_neo_hookean.mode = "c" |
generate_hyper_elastic_simo_taylor_neo_hookean.Mu = sympy.Symbol("Mu") |
string generate_hyper_elastic_simo_taylor_neo_hookean.output_filename = aux_filename + ("3d.cpp" if dim == 3 else "plane_strain_2d.cpp") |
generate_hyper_elastic_simo_taylor_neo_hookean.outstring = open(template_filename).read() |
tuple generate_hyper_elastic_simo_taylor_neo_hookean.psi = (Kappa/4)*(J**2-1.0) - (Kappa/2)*sympy.ln(J) |
generate_hyper_elastic_simo_taylor_neo_hookean.S_out = KratosSympy.OutputVector_CollectingFactors(S_voigt, "rStressVector", mode) |
generate_hyper_elastic_simo_taylor_neo_hookean.S_voigt = sympy.Matrix(sympy.zeros(strain_size, 1)) |
int generate_hyper_elastic_simo_taylor_neo_hookean.strain_size = 3 |
string generate_hyper_elastic_simo_taylor_neo_hookean.template_filename = aux_filename + ("3d_template.cpp" if dim == 3 else "plane_strain_2d_template.cpp") |