Package hedge :: Module optemplate
[hide private]
[frames] | no frames]

Module optemplate

source code

Building blocks and mappers for operator expression trees.


Copyright: Copyright (C) 2008 Andreas Kloeckner

License: This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program 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 General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see U{http://www.gnu.org/licenses/}.

Classes [hide private]
  ScalarParameter
  BoundaryNormalComponent
  PrioritizedSubexpression
When the optemplate-to-code transformation is performed, prioritized subexpressions work like common subexpression in that they are assigned their own separate identifier/register location.
  Operator
  StatelessOperator
  OperatorBinding
  DiffOperatorBase
  DifferentiationOperator
  MInvSTOperator
  StiffnessOperator
  StiffnessTOperator
  MassOperatorBase
  MassOperator
  InverseMassOperator
  ElementwiseMaxOperator
  BoundarizeOperator
  FluxExchangeOperator
An operator that results in the sending and receiving of boundary information for its argument fields.
  BoundaryPair
Represents a pairing of a volume and a boundary field, used for the application of boundary fluxes.
  FluxOperatorBase
  FluxOperator
  LiftingFluxOperator
  VectorFluxOperator
  LocalOpReducerMixin
Reduces calls to mapper methods for all local differentiation operators to a single mapper method, and likewise for mass operators.
  FluxOpReducerMixin
Reduces calls to mapper methods for all flux operators to a smaller number of mapper methods.
  OperatorReducerMixin
Reduces calls to *any* operator mapping function to just one.
  CombineMapperMixin
  CombineMapper
  IdentityMapperMixin
  DependencyMapper
  FlopCounter
  CommutativeConstantFoldingMapper
  IdentityMapper
  SubstitutionMapper
  StringifyMapper
  NoCSEStringifyMapper
  BoundOpMapperMixin
  EmptyFluxKiller
  OperatorBinder
  _InnerInverseMassContractor
  InverseMassContractor
  BCToFluxRewriter
Operates on FluxOperator instances bound to BoundaryPairs.
  CollectorMixin
  FluxCollector
  BoundaryTagCollector
  BoundOperatorCollector
  Evaluator
Functions [hide private]
 
make_common_subexpression(fields) source code
 
make_field(var_or_string) source code
 
make_normal(tag, dimensions) source code
 
DiffOperatorVector(els) source code
 
pair_with_boundary(field, bfield, tag=<class 'hedge.mesh.TAG_ALL'>) source code
 
make_vector_field(name, components) source code
 
get_flux_operator(flux)
Return a flux operator that can be multiplied with a volume field to obtain the lifted interior fluxes or with a boundary pair to obtain the lifted boundary flux.
source code
 
make_nabla(dim) source code
 
make_minv_stiffness_t(dim) source code
 
make_stiffness(dim) source code
 
make_stiffness_t(dim) source code
 
split_optemplate_for_multirate(state_vector, op_template, index_groups) source code