In [1]:
import getfem as gf
import numpy as np

In [4]:
m = gf.Mesh('cartesian', np.arange(0, 2, 1), np.arange(0, 2, 1))
print m


BEGIN POINTS LIST

  POINT  0  0  0
  POINT  1  1  0
  POINT  2  0  1
  POINT  3  1  1

END POINTS LIST



BEGIN MESH STRUCTURE DESCRIPTION

CONVEX 0    'GT_LINEAR_PRODUCT(GT_PK(1,1),GT_PK(1,1))'      0  1  2  3

END MESH STRUCTURE DESCRIPTION


In [6]:
mfu = gf.MeshFem(m, 2)
mfd = gf.MeshFem(m, 1)
print mfu
print mfd


BEGIN MESH_FEM

QDIM 2
 BEGIN DOF_ENUMERATION 
 END DOF_ENUMERATION 
END MESH_FEM


BEGIN MESH_FEM

QDIM 1
 BEGIN DOF_ENUMERATION 
 END DOF_ENUMERATION 
END MESH_FEM


In [7]:
mfu.set_fem?

In [27]:
mfu.set_fem(gf.Fem?

In [ ]:
mfu.set_fem(gf.Fem

In [31]:
mfu.set_fem(gf.Fem('FEM_QK_DISCONTINUOUS(2,1)'))

In [32]:
mfd.set_fem(gf.Fem('FEM_QK_DISCONTINUOUS(2,1)'))

In [33]:
print mfu
print mfd


BEGIN MESH_FEM

QDIM 2
 CONVEX 0 'FEM_QK_DISCONTINUOUS(2,1)'
 BEGIN DOF_ENUMERATION 
  0:  0 2 4 6
 END DOF_ENUMERATION 
END MESH_FEM


BEGIN MESH_FEM

QDIM 1
 CONVEX 0 'FEM_QK_DISCONTINUOUS(2,1)'
 BEGIN DOF_ENUMERATION 
  0:  0 1 2 3
 END DOF_ENUMERATION 
END MESH_FEM


In [34]:
print mfu.dof_nodes()


[[ 0.  0.  1.  1.  0.  0.  1.  1.]
 [ 0.  0.  0.  0.  1.  1.  1.  1.]]

In [35]:
print mfd.dof_nodes()


[[ 0.  1.  0.  1.]
 [ 0.  0.  1.  1.]]

In [36]:
mim = gf.Integ?

In [45]:
mim = gf.MeshIm(m, gf.Integ('IM_QUAD(2)'))

In [46]:
print mim


BEGIN MESH_IM

 CONVEX 0 'IM_QUAD(2)'
END MESH_IM


In [47]:
K = gf.asm_linear_elasticity?

In [ ]:
K = gf.asm_linear_elasticity

In [49]:
Lambda = np.repeat(1.0, mfd.nbdof())
Mu = np.repeat(1.0, mfd.nbdof())
K = gf.asm_linear_elasticity(mim, mfu, mfd, Lambda, Mu)

In [53]:
print np.shape(K.full())
print K.full()


(8, 8)
[[  1.33333333e+00   5.00000000e-01  -8.33333333e-01  -8.32667268e-17
    1.66666667e-01  -8.32667268e-17  -6.66666667e-01  -5.00000000e-01]
 [  5.00000000e-01   1.33333333e+00  -8.32667268e-17   1.66666667e-01
   -8.32667268e-17  -8.33333333e-01  -5.00000000e-01  -6.66666667e-01]
 [ -8.33333333e-01  -8.32667268e-17   1.33333333e+00  -5.00000000e-01
   -6.66666667e-01   5.00000000e-01   1.66666667e-01   0.00000000e+00]
 [ -8.32667268e-17   1.66666667e-01  -5.00000000e-01   1.33333333e+00
    5.00000000e-01  -6.66666667e-01   0.00000000e+00  -8.33333333e-01]
 [  1.66666667e-01  -8.32667268e-17  -6.66666667e-01   5.00000000e-01
    1.33333333e+00  -5.00000000e-01  -8.33333333e-01   0.00000000e+00]
 [ -8.32667268e-17  -8.33333333e-01   5.00000000e-01  -6.66666667e-01
   -5.00000000e-01   1.33333333e+00   0.00000000e+00   1.66666667e-01]
 [ -6.66666667e-01  -5.00000000e-01   1.66666667e-01   0.00000000e+00
   -8.33333333e-01   0.00000000e+00   1.33333333e+00   5.00000000e-01]
 [ -5.00000000e-01  -6.66666667e-01   0.00000000e+00  -8.33333333e-01
    0.00000000e+00   1.66666667e-01   5.00000000e-01   1.33333333e+00]]

In [ ]: