Anders Logg wrote: > On Thu, Nov 26, 2009 at 09:42:22PM +0000, Harish Narayanan wrote: >> Anders Logg wrote: >>> Looks like the new Expression interface might be working now but more >>> tests are needed. Please help out getting all the demos over to the >>> new interface. >>> >>> The changes to the interface are as follows: >>> >>> 1. V=V argument in Expression should be removed >>> >>> 2. mesh argument in Constant should be removed >>> >>> 3. Subclasses of Expression overloading eval must overload dim if not >>> scalar >>>
How should subclaases be initialised? f = Source(V) works, but f = Source doesn't. Garth >>> The Poisson and elasticity demos have been moved and both work. >> Attached a patch (I think) cleaning up the hyperelasticity demo. >> >> Harish > > I applied it, using > > bzr pull <your-bundle>.bzr > > Is it possible to verify that the blob in the end after # begin bundle > does what the patch text seems to indicate and that it doesn't inject > some harmful code? > > -- > Anders > > > >> # Bazaar merge directive format 2 (Bazaar 0.90) >> # revision_id: [email protected] >> # target_branch: bzr+ssh://bazaar.launchpad.net/~dolfin-\ >> # core/dolfin/main/ >> # testament_sha1: 0211fe69b173e5afe7620f71c063b61f4b8c1056 >> # timestamp: 2009-11-26 21:40:47 +0000 >> # base_revision_id: [email protected] >> # >> # Begin patch >> === modified file 'demo/pde/hyperelasticity/python/demo.py' >> --- demo/pde/hyperelasticity/python/demo.py 2009-10-12 08:20:23 +0000 >> +++ demo/pde/hyperelasticity/python/demo.py 2009-11-26 21:35:24 +0000 >> @@ -1,14 +1,13 @@ >> -""" This demo program solves a hyperelastic problem >> - >> -Implemented in python from cpp demo by Johan Hake. >> - >> -""" >> +""" This demo program solves a hyperelastic problem. It is implemented >> +in Python by Johan Hake following the C++ demo by Harish Narayanan""" >> >> __author__ = "Johan Hake ([email protected])" >> __date__ = "2009-10-11 -- 2009-10-11" >> __copyright__ = "Copyright (C) 2008 Johan Hake" >> __license__ = "GNU LGPL Version 2.1" >> >> +# Modified by Harish Narayanan, 2009. >> + >> from dolfin import * >> >> # Optimize compilation of the form >> @@ -23,11 +22,11 @@ >> V = VectorFunctionSpace(mesh, "CG", 1) >> >> # Define Dirichlet boundary (x = 0 or x = 1) >> -c = Expression(("0.0", "0.0", "0.0"), V = V) >> +c = Expression(("0.0", "0.0", "0.0")) >> r = Expression(("0.0", >> "y0 + (x[1] - y0) * cos(theta) - (x[2] - z0) * sin(theta) - >> x[1]", >> "z0 + (x[1] - y0) * sin(theta) + (x[2] - z0) * cos(theta) - >> x[2]"), >> - defaults = dict(y0 = 0.5, z0 = 0.5, theta = pi / 3), V = V) >> + defaults = dict(y0 = 0.5, z0 = 0.5, theta = pi / 3)) >> >> left, right = compile_subdomains(["(fabs(x[0]) < DOLFIN_EPS) && >> on_boundary", >> "(fabs(x[0] - 1.0) < DOLFIN_EPS) && >> on_boundary"]) >> @@ -39,8 +38,8 @@ >> v = TestFunction(V) # Test function >> du = TrialFunction(V) # Incremental displacement >> u = Function(V) # Displacement from previous iteration >> -B = Expression(("0.0", "0.0", "0.0"), V = V) # Body force per >> unit mass >> -T = Expression(("0.0", "0.0", "0.0"), V = V) # Traction force on >> the boundary >> +B = Expression(("0.0", "0.0", "0.0")) # Body force per unit mass >> +T = Expression(("0.0", "0.0", "0.0")) # Traction force on the >> boundary >> >> # Kinematics >> I = Identity(v.cell().d) # Identity tensor >> @@ -53,8 +52,8 @@ >> Em = 10.0 >> nu = 0.3 >> >> -mu = Constant(mesh, Em / (2*(1 + nu))) # Lame's constants >> -lmbda = Constant(mesh, Em * nu / ((1 + nu) * (1 - 2 * nu))); >> +mu = Constant(Em / (2*(1 + nu))) # Lame's constants >> +lmbda = Constant(Em * nu / ((1 + nu) * (1 - 2 * nu))) >> >> # Strain energy function (material model) >> psi = lmbda/2*(tr(E)**2) + mu*tr(E*E) >> @@ -75,4 +74,4 @@ >> file << u; >> >> # Plot and hold solution >> -plot(u, interactive = True) >> +plot(u, mode = "displacement", interactive = True) >> >> # Begin bundle >> IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWf7lducAAhrfgEEUWP//91p3 >> RgC/79/wUASb22AOXo3rAHoGqeQoxGhoDNJkPUeoAAAAAMkFNpqeptMqb0jUNHqeoAAABoAGggKT >> 9NUMTMoeobRMEMEaB6QANNUmjIyA00GTQDTTRoyDJkAASRJkAJoJ6GpgU9CbUaCaB6nlMmajCncr >> cxf2LV96qRgp50qBg5Q6fhQA0wIQ6FVEuNjuV0aIyrzBYyD8OT9PluF0jx3tXD0tgq4eev+APWsm >> R+MaRGdAEoBuGOqSgiE5CD7xxEdLmgcoVhMiWoruAnbwYTRaTKVfGFlj7W6TV7wnFwObHROqsjni >> kZv+mJRf5KDaOLGGBNZdW8tzNTr19+iRX3xQadovitCpYgy6vO+qSpUXxcpGYj3nkweHN700CdYZ >> OfWQrWl3Ec4vVZT4jrcK6bDntU8V4z7RFbH3S5hYrgtk1WPh2SHa1ke0pvBB2IIqpUCTRM3UU1a/ >> GC0qZxKehhky6kx7th8Yz2g7HJM7Ra+/7ZlrK65yQJmViqUZRqLKpCH6z57z5lYqqFtX/WwVejs6 >> 8YootG8jZqeoVqnYatnza3MULvjySM1NGsW+nKh2QUZY0qaM+BqqiG5NLBqXTwrYlG+AssSrK72V >> 1U6iuiczVM5Yk0FuodUXl606Cgo7QoO0s91I+qhh+grL9hEgoiz3DwkzUFi67WqZnN+DSA7TI3jP >> ljqoqSFA+qgfcKTblyCDpv00FsItOIL4PqkDQ5CtWxeLI5qZnWQIetCChlgI0sJBhnhURKl2qRKG >> NBQWM/YVsSk6zMRdNO0xEFRY7HCQORCOV6xafIxcMiqJTkRhQkEmdgLEKvhRDJhEmTzUWuH18YFz >> T5BMGbI5T6yXHx3luw5kb4hil539ZvXTpaLIOoiMJg6fdSSzIqWizOMO19Yjw8l36jwe5Md/iqtd >> G7ey4INlNli96KRqVwz7zOdc5rtii05yZMXFoQvxngu6JdAyqKlljl7UnCfpE8nEkpsrE9SYECp9 >> Y5clNomWq25YrLI5gkHktDE/A8xpHRdApxBjKqT3Y4WqTceNGK7ra0T1UGiyCOBzsCXlR1M0TCwk >> lS1TaK6qgbU4RUPpiXmOrSUNNEw52r06c+yjZBHImFtFMaleh+S9Umitq16UzhVGGIQb07juGmzx >> XTA36UGmJtZmz68v0myjMsUoKBXpBq26BGEfaJ88M8pUgcp8y5hdhz2U08IdqbEW5ajEOKWwKQpc >> PeFDkVr5zcfAVeMKX1qVZNH6E7isxfolsgqJEiq87KZhUSkStZEBpJmdkzIZJouI2pNMFrRZQ4Tf >> AIhNUwykMmd1QEFosWzaDrasAf8v5aE/531ZbwNRdeydkdf7UajAKUdrq3VvfPbkzL2gQ+xO/kLP >> HfZu8wnK96f48OAcV5PeHPTIRAoiQRaFd0SJ3SWVCh6lSjje3qnFS5oB351hArEHGwjF2WwBxNMy >> V5YuVkqhd4OVoZ/1F1dzeoX7zwyKrkPCTEbDkyOKhXQe68tU8wUopk64CvOMA+XopaWiHdffbbMK >> utW6An1r4BBWclc+renM/osBHA9pGjOLopaC4/8XckU4UJD+5Xbn > > > ------------------------------------------------------------------------ > > _______________________________________________ > Mailing list: https://launchpad.net/~dolfin > Post to : [email protected] > Unsubscribe : https://launchpad.net/~dolfin > More help : https://help.launchpad.net/ListHelp _______________________________________________ Mailing list: https://launchpad.net/~dolfin Post to : [email protected] Unsubscribe : https://launchpad.net/~dolfin More help : https://help.launchpad.net/ListHelp

