← Back to team overview

ufl team mailing list archive

Re: [noreply@xxxxxxxxxxxxx: [Branch ~ufl-core/ufl/main] Rev 1051: erge]

 

On Thu, May 12, 2011 at 10:52:50AM +0100, Garth N. Wells wrote:
> Since there are no commit messages, can you tell us where the UFL/FFC
> fixes to get DOLFIN working again are at?

How do you mean? I don't yet know which fixes should be made to get
DOLFIN working again or I would have fixed it already.

I've fixed quite a few issues. FFC is green again and the test cases
I've been using (JIT-compilation of Expressions and the DOLFIN
function unit tests) run.

The changes I've made are mainly to analysis.py (FFC) and
preprocess.py (UFL) + tons of other files.

The main outline of the change is:

1. preprocess tries to figure out the common cell

2. no elements are modified or mapped

3. FFC keeps track of suitable values for cells and degrees when they
are missing (as part of element_data computed in analysis.py)

I'm about to leave my office and be offline for a few hours.

--
Anders


> Garth
>
> On 12/05/11 10:36, Anders Logg wrote:
> > On Thu, May 12, 2011 at 10:58:56AM +0200, Martin Sandve Alnæs wrote:
> >> On 12 May 2011 10:51, Anders Logg <logg@xxxxxxxxx> wrote:
> >>> On Thu, May 12, 2011 at 10:48:07AM +0200, Martin Sandve Alnæs wrote:
> >>>> Don't use merge when you don't need to merge. Just push to the server
> >>>> if possible.
> >>>>
> >>>> Martin
> >>>
> >>> I tried that but it didn't work. Probably because I hadn't pulled the
> >>> latest merge done in trunk into work before making the changes.
> >>>
> >>> So the work flow is then:
> >>>
> >>>  cd work
> >>>  bzr pull lp:foo
> >>>  do some changes
> >>>  bzr commit
> >>>  bzr push lp:foo
> >>>
> >>> If the above fails, then
> >>>
> >>>  cd ../trunk
> >>
> >> bzr update
> >
> > Yes, forgot to include that (but I've been using it).
> >
> >>>  bzr merge ../work
> >>>  bzr commit -m merge
> >
> > So in other words, the work flow is exactly the same as before except
> > that when push fails, we replace
> >
> >   bzr merge
> >   bzr commit -m merge
> >   bzr push
> >
> > by
> >
> >   cd ../trunk
> >   bzr update
> >   bzr merge ../work
> >   bzr commit -m merge
> >
> >> Otherwise looks ok. I like to commit more often locally than I push,
> >> and then the merge message can be just a quick summary like 'Merge
> >> work on foobar.' while the other commits have more detailed messages
> >> about the steps.
> >
> > Sure.
> >
> >> Martin
> >>
> >>>
> >>>
> >>>
> >>>> On 12 May 2011 10:28, Anders Logg <logg@xxxxxxxxx> wrote:
> >>>>> I've been trying the new foo, foo/trunk, foo/work setup and it's
> >>>>> working pretty well, except for the missing commit messages.
> >>>>>
> >>>>> I write a commit message when I commit in work, but when I merge it
> >>>>> into trunk, I just enter 'merge' since I don't want to repeat the
> >>>>> commit message I've already written. When a large piece of work is
> >>>>> merged in (consisting of many changesets), it's natural to write a
> >>>>> summary when it's merged in, but if it's just a single changeset, I
> >>>>> don't want to repeat the message I just wrote.
> >>>>>
> >>>>> Any suggestions for how to handle this?
> >>>>>
> >>>>>
> >>>>>
> >>>>> ---------- Forwarded message ----------
> >>>>> From: noreply@xxxxxxxxxxxxx
> >>>>> To: Anders Logg <logg@xxxxxxxxx>
> >>>>> Date: Thu, 12 May 2011 08:24:22 -0000
> >>>>> Subject: [Branch ~ufl-core/ufl/main] Rev 1051: erge
> >>>>> Merge authors:
> >>>>>  Anders Logg (logg)
> >>>>> ------------------------------------------------------------
> >>>>> revno: 1051 [merge]
> >>>>> committer: Anders Logg <logg@xxxxxxxxx>
> >>>>> branch nick: ufl
> >>>>> timestamp: Thu 2011-05-12 10:22:29 +0200
> >>>>> message:
> >>>>>  erge
> >>>>> modified:
> >>>>>  ufl/algorithms/preprocess.py
> >>>>>
> >>>>>
> >>>>>
> >>>>> Your team UFL Core Team is subscribed to branch lp:ufl.
> >>>>> To unsubscribe from this branch go to https://code.launchpad.net/~ufl-core/ufl/main/+edit-subscription
> >>>>>
> >>>>> === modified file 'ufl/algorithms/preprocess.py'
> >>>>> --- ufl/algorithms/preprocess.py        2011-05-12 07:08:22 +0000
> >>>>> +++ ufl/algorithms/preprocess.py        2011-05-12 08:21:50 +0000
> >>>>> @@ -56,29 +56,11 @@
> >>>>>     else:
> >>>>>         name = "a"
> >>>>>
> >>>>> -    # Create empty form data
> >>>>> -    form_data = FormData()
> >>>>> -
> >>>>> -    # Store name of form
> >>>>> -    form_data.name = name
> >>>>> -
> >>>>> -    # Store elements, sub elements and element map
> >>>>> -    form_data.elements            = extract_elements(form)
> >>>>> -    form_data.unique_elements     = unique_tuple(form_data.elements)
> >>>>> -    form_data.sub_elements        = extract_sub_elements(form_data.elements)
> >>>>> -    form_data.unique_sub_elements = unique_tuple(form_data.sub_elements)
> >>>>> -
> >>>>> -    # Store common cell
> >>>>> -    form_data.cell = _extract_common_cell(form_data.unique_sub_elements,
> >>>>> -                                          common_cell)
> >>>>> -
> >>>>> -    # Store data related to cell
> >>>>> -    form_data.geometric_dimension = form_data.cell.geometric_dimension()
> >>>>> -    form_data.topological_dimension = form_data.cell.topological_dimension()
> >>>>> -    form_data.num_facets = form_data.cell.num_facets()
> >>>>> +    # Extract common cell
> >>>>> +    common_cell = common_cell or form.cell()
> >>>>>
> >>>>>     # Expand derivatives
> >>>>> -    form = expand_derivatives(form, form_data.geometric_dimension)
> >>>>> +    form = expand_derivatives(form, common_cell.geometric_dimension())
> >>>>>
> >>>>>     # Renumber indices
> >>>>>     form = renumber_indices(form)
> >>>>> @@ -97,6 +79,12 @@
> >>>>>     original_arguments = [inv_replace_map[v] for v in arguments]
> >>>>>     original_coefficients = [inv_replace_map[v] for v in coefficients]
> >>>>>
> >>>>> +    # Create empty form data
> >>>>> +    form_data = FormData()
> >>>>> +
> >>>>> +    # Store name of form
> >>>>> +    form_data.name = name
> >>>>> +
> >>>>>     # Store data extracted by preprocessing
> >>>>>     form_data.arguments             = arguments
> >>>>>     form_data.coefficients          = coefficients
> >>>>> @@ -106,6 +94,22 @@
> >>>>>     # Store signature of form
> >>>>>     form_data.signature = form.signature()
> >>>>>
> >>>>> +    # Store elements, sub elements and element map
> >>>>> +    form_data.elements            = extract_elements(form)
> >>>>> +    form_data.unique_elements     = unique_tuple(form_data.elements)
> >>>>> +    form_data.sub_elements        = extract_sub_elements(form_data.elements)
> >>>>> +    form_data.unique_sub_elements = unique_tuple(form_data.sub_elements)
> >>>>> +
> >>>>> +    # Store common cell
> >>>>> +    #form_data.cell = _extract_common_cell(form_data.unique_sub_elements,
> >>>>> +    #                                      common_cell)
> >>>>> +    form_data.cell = common_cell
> >>>>> +
> >>>>> +    # Store data related to cell
> >>>>> +    form_data.geometric_dimension = form_data.cell.geometric_dimension()
> >>>>> +    form_data.topological_dimension = form_data.cell.topological_dimension()
> >>>>> +    form_data.num_facets = form_data.cell.num_facets()
> >>>>> +
> >>>>>     # Store some useful dimensions
> >>>>>     form_data.rank = len(form_data.arguments)
> >>>>>     form_data.num_coefficients = len(form_data.coefficients)
> >>>>>
> >>>>>
> >>>>> _______________________________________________
> >>>>> Mailing list: https://launchpad.net/~ufl
> >>>>> Post to     : ufl@xxxxxxxxxxxxxxxxxxx
> >>>>> Unsubscribe : https://launchpad.net/~ufl
> >>>>> More help   : https://help.launchpad.net/ListHelp
> >>>>>
> >>>>>
> >>>
> >
> > _______________________________________________
> > Mailing list: https://launchpad.net/~ufl
> > Post to     : ufl@xxxxxxxxxxxxxxxxxxx
> > Unsubscribe : https://launchpad.net/~ufl
> > More help   : https://help.launchpad.net/ListHelp
>



Follow ups

References