Loading...
Searching...
No Matches
Assembler.h
// Copyright (C) 2007-2015 Anders Logg
//
// This file is part of DOLFIN.
//
// DOLFIN 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.
//
// DOLFIN 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 DOLFIN. If not, see <http://www.gnu.org/licenses/>.
//
// Modified by Garth N. Wells 2007-2008
// Modified by Ola Skavhaug 2008
// Modified by Joachim B Haga 2012
// Modified by Martin Alnes 2015
#ifndef __ASSEMBLER_H
#define __ASSEMBLER_H
#include <vector>
#include "AssemblerBase.h"
namespace dolfin
{
// Forward declarations
class GenericTensor;
class Form;
class UFC;
template<typename T> class MeshFunction;
class Assembler : public AssemblerBase
{
public:
Assembler() {}
void assemble(GenericTensor& A, const Form& a);
void assemble_cells(GenericTensor& A, const Form& a, UFC& ufc,
std::shared_ptr<const MeshFunction<std::size_t>> domains,
std::vector<double>* values);
void assemble_exterior_facets(GenericTensor& A, const Form& a,
UFC& ufc,
std::shared_ptr<const MeshFunction<std::size_t>> domains,
std::vector<double>* values);
void assemble_interior_facets(GenericTensor& A, const Form& a,
UFC& ufc,
std::shared_ptr<const MeshFunction<std::size_t>> domains,
std::shared_ptr<const MeshFunction<std::size_t>> cell_domains,
std::vector<double>* values);
void assemble_vertices(GenericTensor& A, const Form& a, UFC& ufc,
std::shared_ptr<const MeshFunction<std::size_t>> domains);
};
}
#endif
dolfin::AssemblerBase::AssemblerBase
AssemblerBase()
Constructor.
Definition AssemblerBase.h:46
dolfin::Assembler::assemble_exterior_facets
void assemble_exterior_facets(GenericTensor &A, const Form &a, UFC &ufc, std::shared_ptr< const MeshFunction< std::size_t > > domains, std::vector< double > *values)
Definition Assembler.cpp:196
dolfin::Assembler::assemble_interior_facets
void assemble_interior_facets(GenericTensor &A, const Form &a, UFC &ufc, std::shared_ptr< const MeshFunction< std::size_t > > domains, std::shared_ptr< const MeshFunction< std::size_t > > cell_domains, std::vector< double > *values)
Definition Assembler.cpp:300
dolfin::Assembler::assemble_cells
void assemble_cells(GenericTensor &A, const Form &a, UFC &ufc, std::shared_ptr< const MeshFunction< std::size_t > > domains, std::vector< double > *values)
Definition Assembler.cpp:105
dolfin::Assembler::Assembler
Assembler()
Constructor.
Definition Assembler.h:58
dolfin::Assembler::assemble
void assemble(GenericTensor &A, const Form &a)
Definition Assembler.cpp:52
dolfin::Assembler::assemble_vertices
void assemble_vertices(GenericTensor &A, const Form &a, UFC &ufc, std::shared_ptr< const MeshFunction< std::size_t > > domains)
Definition Assembler.cpp:452
dolfin::Form
Base class for UFC code generated by FFC for DOLFIN with option -l.
Definition Form.h:86
dolfin::GenericTensor
A common interface for arbitrary rank tensors.
Definition GenericTensor.h:49
dolfin::MeshFunction
Definition MeshFunction.h:58
dolfin::UFC
Definition UFC.h:47
dolfin
Definition adapt.h:30