Kristian
> Garth
>
>>
>>
>>> L = 1.0/vol*v*f*dx
>>>
>>> instead of using a Coefficient for 'vol' and then defining an
>>> Expression in DOLFIN.
>>>
>>> Currently, it will use the absolute value of the determinant of the
>>> Jacobian in tabulate_tensor ( std::abs(detJ) ).
>>>
>>> Kristian
>>>
>>> On 7 July 2010 18:19,<noreply@xxxxxxxxxxxxx> wrote:
>>>>
>>>> ------------------------------------------------------------
>>>> revno: 1498
>>>> committer: Kristian B. Ølgaard<k.b.oelgaard@xxxxxxxxx>
>>>> branch nick: ffc
>>>> timestamp: Wed 2010-07-07 18:17:07 +0100
>>>> message:
>>>> Added support for CellVolume from UFL.
>>>> modified:
>>>> ChangeLog
>>>> ffc/quadrature/optimisedquadraturetransformer.py
>>>> ffc/quadrature/quadraturetransformer.py
>>>> ffc/quadrature/quadraturetransformerbase.py
>>>>
>>>>
>>>>
>>>> Your team FFC Core Team is subscribed to branch lp:ffc.
>>>> To unsubscribe from this branch go to
>>>> https://code.launchpad.net/~ffc-core/ffc/main/+edit-subscription
>>>>
>>>> === modified file 'ChangeLog' --- ChangeLog 2010-07-01 17:43:36
>>>> +0000 +++ ChangeLog 2010-07-07 17:17:07 +0000 @@ -1,3 +1,4 @@ + -
>>>> Added support for new geometric quantity CellVolume in UFL. 0.9.3
>>>> [2010-07-01] - Make global_dimension for Real return an int
>>>> instead of double, bug # 592088 - Add support for facet normal in
>>>> 1D.
>>>>
>>>> === modified file 'ffc/quadrature/optimisedquadraturetransformer.py'
>>>> --- ffc/quadrature/optimisedquadraturetransformer.py 2010-07-01
>>>> 17:41:40 +0000
>>>> +++ ffc/quadrature/optimisedquadraturetransformer.py 2010-07-07
>>>> 17:17:07 +0000
>>>> @@ -187,7 +187,7 @@
>>>> return {():new_val}
>>>>
>>>> #
>>>> -------------------------------------------------------------------------
>>>> - # FacetNormal (geometry.py). + # FacetNormal, CellVolume
>>>> (geometry.py). #
>>>> -------------------------------------------------------------------------
>>>> def facet_normal(self, o, *operands): #print("Visiting
>>>> FacetNormal:") @@ -216,6 +216,17 @@
>>>>
>>>> return {(): create_symbol(normal_component, GEO)}
>>>>
>>>> + def cell_volume(self, o, *operands): + # Safety
>>>> check. + ffc_assert(not operands, "Didn't expect any
>>>> operands for FacetNormal: " + repr(operands)) + + # FIXME:
>>>> KBO: This has to change for higher order elements + detJ =
>>>> format["det(J)"](self.restriction) + volume =
>>>> format["absolute value"](detJ) + self.trans_set.add(detJ) +
>>>> + return {():create_symbol(volume, GEO)} + def
>>>> create_argument(self, ufl_argument, derivatives, component,
>>>> local_comp, local_offset, ffc_element,
>>>> transformation, multiindices): "Create code for basis
>>>> functions, and update relevant tables of used basis."
>>>>
>>>> === modified file 'ffc/quadrature/quadraturetransformer.py'
>>>> --- ffc/quadrature/quadraturetransformer.py 2010-06-30 09:59:49
>>>> +0000
>>>> +++ ffc/quadrature/quadraturetransformer.py 2010-07-07 17:17:07
>>>> +0000
>>>> @@ -262,7 +262,7 @@
>>>> return {():f_abs(operands[0][()])}
>>>>
>>>> #
>>>> -------------------------------------------------------------------------
>>>> - # FacetNormal (geometry.py). + # FacetNormal, CellVolume
>>>> (geometry.py). #
>>>> -------------------------------------------------------------------------
>>>> def facet_normal(self, o, *operands): #print("Visiting
>>>> FacetNormal:") @@ -291,6 +291,18 @@
>>>>
>>>> return {():normal_component}
>>>>
>>>> + def cell_volume(self, o, *operands): + # Safety
>>>> check. + ffc_assert(not operands, "Didn't expect any
>>>> operands for CellVolume: " + repr(operands)) + + # FIXME:
>>>> KBO: This has to change for higher order elements + detJ =
>>>> format["det(J)"](self.restriction) + volume =
>>>> format["absolute value"](detJ) + self.trans_set.add(detJ) +
>>>> + return {():volume} + + def create_argument(self,
>>>> ufl_argument, derivatives, component, local_comp,
>>>> local_offset, ffc_element, transformation, multiindices):
>>>> "Create code for basis functions, and update relevant tables of
>>>> used basis."
>>>>
>>>> === modified file 'ffc/quadrature/quadraturetransformerbase.py'
>>>> --- ffc/quadrature/quadraturetransformerbase.py 2010-07-01 17:41:40
>>>> +0000 +++ ffc/quadrature/quadraturetransformerbase.py 2010-07-07
>>>> 17:17:07 +0000 @@ -250,12 +250,16 @@ error("This object
>>>> should be implemented by the child class.")
>>>>
>>>> #
>>>> -------------------------------------------------------------------------
>>>> - # FacetNormal (geometry.py). + # FacetNormal, CellVolume
>>>> (geometry.py). #
>>>> -------------------------------------------------------------------------
>>>> def facet_normal(self, o, *operands): print
>>>> "\n\nVisiting FacetNormal: ", repr(o) error("This object
>>>> should be implemented by the child class.")
>>>>
>>>> + def cell_volume(self, o, *operands): + print
>>>> "\n\nVisiting CellVolume: ", repr(o) + error("This object
>>>> should be implemented by the child class.") + #
>>>> -------------------------------------------------------------------------
>>>> # Things that can be handled by the base class. #
>>>> -------------------------------------------------------------------------
>>>>
>>>>
>>>>
>>>
>>> _______________________________________________
>>> Mailing list: https://launchpad.net/~ffc
>>> Post to : ffc@xxxxxxxxxxxxxxxxxxx
>>> Unsubscribe : https://launchpad.net/~ffc
>>> More help : https://help.launchpad.net/ListHelp
>>>
>>>
>>> _______________________________________________
>>> Mailing list: https://launchpad.net/~ffc
>>> Post to : ffc@xxxxxxxxxxxxxxxxxxx
>>> Unsubscribe : https://launchpad.net/~ffc
>>> More help : https://help.launchpad.net/ListHelp
>