|
bool | generate_stokes_twofluid_element.do_simplifications = False |
|
int | generate_stokes_twofluid_element.dim = 3 |
|
string | generate_stokes_twofluid_element.mode = "c" |
|
int | generate_stokes_twofluid_element.nnodes = 3 |
|
int | generate_stokes_twofluid_element.strain_size = 3 |
|
int | generate_stokes_twofluid_element.initial_tabs = 0 |
|
int | generate_stokes_twofluid_element.max_index = 30 |
|
string | generate_stokes_twofluid_element.optimizations = 'basic' |
|
bool | generate_stokes_twofluid_element.replace_indices = False |
|
bool | generate_stokes_twofluid_element.impose_partion_of_unity = False |
|
| generate_stokes_twofluid_element.N |
|
| generate_stokes_twofluid_element.DN |
|
| generate_stokes_twofluid_element.v = DefineMatrix('v',nnodes,dim) |
|
| generate_stokes_twofluid_element.vn = DefineMatrix('vn',nnodes,dim) |
|
| generate_stokes_twofluid_element.vnn = DefineMatrix('vnn',nnodes,dim) |
|
| generate_stokes_twofluid_element.p = DefineVector('p',nnodes) |
|
| generate_stokes_twofluid_element.w = DefineMatrix('w',nnodes,dim) |
|
| generate_stokes_twofluid_element.q = DefineVector('q',nnodes) |
|
| generate_stokes_twofluid_element.f = DefineMatrix('f',nnodes,dim) |
|
| generate_stokes_twofluid_element.C = DefineSymmetricMatrix('C',strain_size,strain_size) |
|
| generate_stokes_twofluid_element.dt = sympy.Symbol('dt', positive=True) |
|
| generate_stokes_twofluid_element.rho = sympy.Symbol('rho', positive=True) |
|
| generate_stokes_twofluid_element.tau1 = sympy.Symbol('tau1', positive=True) |
|
| generate_stokes_twofluid_element.tau2 = sympy.Symbol('tau2') |
|
| generate_stokes_twofluid_element.bdf0 = sympy.Symbol('bdf0') |
|
| generate_stokes_twofluid_element.bdf1 = sympy.Symbol('bdf1') |
|
| generate_stokes_twofluid_element.bdf2 = sympy.Symbol('bdf2') |
|
| generate_stokes_twofluid_element.fgauss = DefineVector('fgauss',dim) |
|
| generate_stokes_twofluid_element.vgauss = DefineVector('vgauss',dim) |
|
| generate_stokes_twofluid_element.acch = DefineVector('acch',dim) |
|
| generate_stokes_twofluid_element.pgauss = sympy.Symbol('pgauss') |
|
| generate_stokes_twofluid_element.wgauss = w.transpose()*N |
|
| generate_stokes_twofluid_element.qgauss = q.transpose()*N |
|
| generate_stokes_twofluid_element.grad_v = DN.transpose()*v |
|
| generate_stokes_twofluid_element.grad_q = DN.transpose()*q |
|
| generate_stokes_twofluid_element.grad_p = DefineVector('grad_p',dim) |
|
| generate_stokes_twofluid_element.stress = DefineVector('stress',3) |
|
| generate_stokes_twofluid_element.B = MatrixB(DN) |
|
| generate_stokes_twofluid_element.grad_sym_f = grad_sym_voigtform(DN,f) |
|
| generate_stokes_twofluid_element.div_v = div(DN,v) |
|
| generate_stokes_twofluid_element.div_w = div(DN,w) |
|
| generate_stokes_twofluid_element.grad_sym_w = grad_sym_voigtform(DN,w) |
|
| generate_stokes_twofluid_element.a = bdf0*v+bdf1*vn+bdf2*vnn |
|
| generate_stokes_twofluid_element.grad_sym_res = grad_sym_voigtform(DN,f-rho*a) |
|
| generate_stokes_twofluid_element.rv_galerkin = wgauss.transpose()*(fgauss - rho*acch) + div_w*pgauss - grad_sym_w.transpose()*stress -qgauss*div_v |
|
| generate_stokes_twofluid_element.rv_stab = rho*div_w*tau2*div_v + grad_q.transpose()*(rho*tau1*(fgauss - rho*acch - grad_p) ) |
|
| generate_stokes_twofluid_element.rv = rv_galerkin + rv_stab |
| TODO: it might be better to remove this term - it is the symmetric_gradient of the subscale! More...
|
|
| generate_stokes_twofluid_element.dofs = sympy.zeros(nnodes*(dim+1), 1) |
|
| generate_stokes_twofluid_element.testfunc = sympy.zeros(nnodes*(dim+1), 1) |
|
| generate_stokes_twofluid_element.rhs = Compute_RHS(rv, testfunc, do_simplifications) |
|
| generate_stokes_twofluid_element.strain = grad_sym_voigtform(DN,v) |
| HERE WE MUST SUBSTITUTE EXPRESSIONS. More...
|
|
| generate_stokes_twofluid_element.rhs_to_derive = rhs.copy() |
|
tuple | generate_stokes_twofluid_element.pgauss_expanded = (p.transpose()*N)[0] |
|
| generate_stokes_twofluid_element.lhs = Compute_LHS(rhs_to_derive, testfunc, dofs, do_simplifications) |
| obtain LHS by symbolic derivation More...
|
|
| generate_stokes_twofluid_element.penr = DefineVector('penr',nnodes) |
| define enrichment variables More...
|
|
| generate_stokes_twofluid_element.qenr = DefineVector('qenr',nnodes) |
|
| generate_stokes_twofluid_element.Nenr = DefineVector('Nenr',nnodes) |
|
| generate_stokes_twofluid_element.DNenr = DefineMatrix('DNenr',nnodes, dim) |
|
| generate_stokes_twofluid_element.grad_qenr = DNenr.transpose()*qenr |
|
| generate_stokes_twofluid_element.grad_penr = DNenr.transpose()*penr |
|
tuple | generate_stokes_twofluid_element.penr_gauss = (penr.transpose()*Nenr)[0] |
|
tuple | generate_stokes_twofluid_element.rv_enriched = div_w*penr_gauss + grad_qenr.transpose()*(rho*tau1*(fgauss - rho*acch - grad_p - grad_penr)) + grad_q.transpose()*(rho*tau1*(- grad_penr)) |
|
| generate_stokes_twofluid_element.dofs_enr = sympy.Matrix( [[penr[0,0]],[penr[1,0]],[penr[2,0]],[penr[3,0]]] ) |
|
| generate_stokes_twofluid_element.testfunc_enr = sympy.Matrix( [[qenr[0,0]],[qenr[1,0]],[qenr[2,0]],[qenr[3,0]]] ) |
|
| generate_stokes_twofluid_element.rhs_eV |
| K V x = b + rhs_eV H Kee penr = rhs_ee. More...
|
|
| generate_stokes_twofluid_element.V |
|
| generate_stokes_twofluid_element.rhs_ee |
|
| generate_stokes_twofluid_element.H |
|
| generate_stokes_twofluid_element.Kee |
|
| generate_stokes_twofluid_element.mu_eq = C[2,2] |
| simplified way of computing tau More...
|
|
int | generate_stokes_twofluid_element.inv_h2 = 0 |
|
int | generate_stokes_twofluid_element.tau_denom = 3*mu_eq*inv_h2 |
|
| generate_stokes_twofluid_element.tau_denom_out = OutputSymbolicVariable(tau_denom,mode) |
|
| generate_stokes_twofluid_element.templatefile = open("stokes_twofluid_cpp_template_3D.cpp") |
|
| generate_stokes_twofluid_element.outstring = templatefile.read() |
|
| generate_stokes_twofluid_element.out = open("stokes_3D_twofluid.cpp",'w') |
|