← Back to team overview

cbc team mailing list archive

Re: [Branch ~cbc-core/cbc.solve/main] Rev 136: cG(1) conserves energy!

 

Surprise! :-)

--
Anders


On Thu, Apr 22, 2010 at 02:10:37PM -0000, noreply@xxxxxxxxxxxxx wrote:
> ------------------------------------------------------------
> revno: 136
> committer: Harish Narayanan <hnarayanan@xxxxxxxxx>
> branch nick: cbc.solve
> timestamp: Thu 2010-04-22 15:55:21 +0200
> message:
>   cG(1) conserves energy!
> modified:
>   sandbox/cg1/trial4.py
>
>

> === modified file 'sandbox/cg1/trial4.py'
> --- sandbox/cg1/trial4.py	2010-04-22 12:31:31 +0000
> +++ sandbox/cg1/trial4.py	2010-04-22 13:55:21 +0000
> @@ -31,10 +31,10 @@
>  lmbda = Constant(5.77)
>
>  rho0 = Constant(1.0)
> -dt = Constant(0.01)
> +dt = Constant(0.1)
>
>  def PE(u):
> -    return assemble(inner(epsilon(u), sigma(u))*dx, mesh=mesh)
> +    return assemble(inner(0.5*epsilon(u), sigma(u))*dx, mesh=mesh)
>
>  def KE(v):
>      return assemble(0.5*rho0*inner(v, v)*dx, mesh=mesh)
> @@ -43,7 +43,7 @@
>      return PE(u) + KE(v)
>
>  def epsilon(v):
> -    return sym(grad(v))
> +    return 0.5*(grad(v) + grad(v).T)
>
>  def sigma(v):
>      return 2.0*mu*epsilon(v) + lmbda*tr(epsilon(v))*Identity(v.cell().d)
> @@ -61,7 +61,7 @@
>  file = File("displacement.pvd")
>  u0, v0 = U0.split(True)
>
> -print "Total Energy", TE(u0, v0)
> +print "Energies: ", "0.0\t", PE(u0), "\t", KE(v0)
>  file << u0
>
>  while t < T:
> @@ -71,7 +71,7 @@
>      problem.solve(U)
>      u, v = U.split()
>
> -    print "Total Energy", TE(u, v)
> +    print "Energies: ", t, "\t", PE(u), "\t", KE(v)
>      file << u
>
>      U0.assign(U)
>

Attachment: signature.asc
Description: Digital signature