![]() |
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") |