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
generate_hyper_elastic_simo_taylor_neo_hookean Namespace Reference

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

Variable Documentation

◆ aux_filename

string generate_hyper_elastic_simo_taylor_neo_hookean.aux_filename = "hyper_elastic_simo_taylor_neo_hookean_"

◆ C

int generate_hyper_elastic_simo_taylor_neo_hookean.C = 2*E + sympy.eye(dim, dim)

◆ D_out

generate_hyper_elastic_simo_taylor_neo_hookean.D_out = KratosSympy.OutputMatrix_CollectingFactors(D_voigt, "rConstitutiveMatrix", mode)

◆ D_voigt

generate_hyper_elastic_simo_taylor_neo_hookean.D_voigt = sympy.Matrix(sympy.zeros(strain_size,strain_size))

◆ devC

tuple generate_hyper_elastic_simo_taylor_neo_hookean.devC = (J**(-sympy.Rational(2,dim)))*C

◆ dim_vect

list generate_hyper_elastic_simo_taylor_neo_hookean.dim_vect = [2, 3]

◆ E

generate_hyper_elastic_simo_taylor_neo_hookean.E = KratosSympy.ConvertVoigtStrainToMatrix(E_voigt)

◆ E_voigt

generate_hyper_elastic_simo_taylor_neo_hookean.E_voigt = KratosSympy.DefineVector("rStrain", strain_size)

◆ J

generate_hyper_elastic_simo_taylor_neo_hookean.J = sympy.sqrt(sympy.det(C).doit())

◆ Kappa

generate_hyper_elastic_simo_taylor_neo_hookean.Kappa = sympy.Symbol("Kappa")

◆ mode

string generate_hyper_elastic_simo_taylor_neo_hookean.mode = "c"

◆ Mu

generate_hyper_elastic_simo_taylor_neo_hookean.Mu = sympy.Symbol("Mu")

◆ output_filename

string generate_hyper_elastic_simo_taylor_neo_hookean.output_filename = aux_filename + ("3d.cpp" if dim == 3 else "plane_strain_2d.cpp")

◆ outstring

generate_hyper_elastic_simo_taylor_neo_hookean.outstring = open(template_filename).read()

◆ psi

tuple generate_hyper_elastic_simo_taylor_neo_hookean.psi = (Kappa/4)*(J**2-1.0) - (Kappa/2)*sympy.ln(J)

◆ S_out

generate_hyper_elastic_simo_taylor_neo_hookean.S_out = KratosSympy.OutputVector_CollectingFactors(S_voigt, "rStressVector", mode)

◆ S_voigt

generate_hyper_elastic_simo_taylor_neo_hookean.S_voigt = sympy.Matrix(sympy.zeros(strain_size, 1))

◆ strain_size

int generate_hyper_elastic_simo_taylor_neo_hookean.strain_size = 3

◆ template_filename

string generate_hyper_elastic_simo_taylor_neo_hookean.template_filename = aux_filename + ("3d_template.cpp" if dim == 3 else "plane_strain_2d_template.cpp")