/usr/lib/python2.7/dist-packages/ufl/algorithms/__init__.py is in python-ufl 1.4.0-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 | "This module collects algorithms and utility functions operating on UFL objects."
# Copyright (C) 2008-2014 Martin Sandve Alnes
#
# This file is part of UFL.
#
# UFL is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# UFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with UFL. If not, see <http://www.gnu.org/licenses/>.
#
# Modified by Anders Logg, 2008-2009.
# Utilities for traversing over expression trees in different ways
from ufl.algorithms.traversal import iter_expressions, \
traverse_terminals, traverse_unique_terminals, \
post_traversal, pre_traversal, \
post_walk, pre_walk, walk
# Class for simple extraction of form meta data
from ufl.algorithms.formdata import FormData
# Function for preprocessing a form
from ufl.algorithms.preprocess import preprocess, preprocess_expression
# Utilities for extracting information from forms and expressions
from ufl.algorithms.analysis import extract_classes, extract_type, has_type, \
extract_arguments, extract_coefficients, \
extract_arguments_and_coefficients, \
extract_elements, extract_unique_elements, \
extract_sub_elements, extract_unique_sub_elements, \
extract_variables, extract_duplications, \
extract_max_quadrature_element_degree, \
estimate_quadrature_degree, \
sort_elements
# Utilities for checking properties of forms
from ufl.algorithms.predicates import is_multilinear
from ufl.algorithms.signature import compute_form_signature
# Utilities for error checking of forms
from ufl.algorithms.checks import validate_form
# Utilites for modifying expressions and forms
from ufl.algorithms.multifunction import MultiFunction
from ufl.algorithms.transformer import Transformer, is_post_handler, \
transform, transform_integrands, apply_transformer, \
ReuseTransformer, ufl2ufl, \
CopyTransformer, ufl2uflcopy, \
VariableStripper, strip_variables
from ufl.algorithms.replace import Replacer, replace
from ufl.algorithms.change_to_reference import change_to_reference_grad
from ufl.algorithms.expand_compounds import CompoundExpander, expand_compounds, \
CompoundExpanderPreDiff, expand_compounds_prediff, \
CompoundExpanderPostDiff, expand_compounds_postdiff
from ufl.algorithms.estimate_degrees import SumDegreeEstimator, estimate_total_polynomial_degree
from ufl.algorithms.argument_dependencies import ArgumentDependencyExtracter, extract_argument_dependencies, NotMultiLinearException
from ufl.algorithms.renumbering import renumber_indices
from ufl.algorithms.expand_indices import expand_indices, purge_list_tensors
from ufl.algorithms.propagate_restrictions import propagate_restrictions
# Utilities for transforming complete Forms into other Forms
from ufl.algorithms.formtransformations import compute_form_adjoint, compute_form_action, compute_energy_norm, \
compute_form_lhs, compute_form_rhs, compute_form_functional, \
compute_form_arities
# Utilities for Automatic Functional Differentiation
from ufl.algorithms.ad import expand_derivatives #, compute_diff, propagate_spatial_derivatives, compute_form_derivative
# Utilities for working with linearized computational graphs
from ufl.algorithms.graph import Graph, format_graph, rebuild_tree, partition # TODO: Add more imports here
# Utilities for UFL object printing
from ufl.algorithms.printing import integral_info, form_info, tree_format
from ufl.algorithms.ufl2latex import ufl2latex, ufl2tex, ufl2pdf, forms2latexdocument
from ufl.algorithms.ufl2dot import ufl2dot
# Utilities for form file handling
from ufl.algorithms.formfiles import read_ufl_file, load_ufl_file, load_forms
# State of files (in the opinion of Martin):
# traversal.py - Ok.
# analysis.py - Ok, some unused stuff.
# formdata.py - Probably don't need both self.unique_elements and self.sub_elements?
# Need to improve quadrature order estimation.
# graph.py - Work in progress, works ok so far.
# predicates.py - is_multilinear seems ok but needs testing.
# checks.py - Ok, more checks are welcome.
# formfiles.py - Ok.
# transformations.py - Ok.
# formtransformations.py - Ok? Needs testing.
# ad.py - Ok?
# printing.py - Ok.
# latextools.py - Ok.
# ufl2latex.py - Fix precedence stuff.
# ufl2dot.py - Rework with graph tools.
|