DOLFIN
DOLFIN C++ interface
Toggle main menu visibility
Loading...
Searching...
No Matches
dolfin
fem
Assembler.h
1
// Copyright (C) 2007-2015 Anders Logg
2
//
3
// This file is part of DOLFIN.
4
//
5
// DOLFIN is free software: you can redistribute it and/or modify
6
// it under the terms of the GNU Lesser General Public License as published by
7
// the Free Software Foundation, either version 3 of the License, or
8
// (at your option) any later version.
9
//
10
// DOLFIN is distributed in the hope that it will be useful,
11
// but WITHOUT ANY WARRANTY; without even the implied warranty of
12
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
// GNU Lesser General Public License for more details.
14
//
15
// You should have received a copy of the GNU Lesser General Public License
16
// along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
17
//
18
// Modified by Garth N. Wells 2007-2008
19
// Modified by Ola Skavhaug 2008
20
// Modified by Joachim B Haga 2012
21
// Modified by Martin Alnes 2015
22
23
#ifndef __ASSEMBLER_H
24
#define __ASSEMBLER_H
25
26
#include <vector>
27
#include "AssemblerBase.h"
28
29
namespace
dolfin
30
{
31
32
// Forward declarations
33
class
GenericTensor
;
34
class
Form
;
35
class
UFC
;
36
template
<
typename
T>
class
MeshFunction
;
37
52
53
class
Assembler
:
public
AssemblerBase
54
{
55
public
:
56
58
Assembler
() {}
59
66
void
assemble
(
GenericTensor
& A,
const
Form
& a);
67
78
void
assemble_cells
(
GenericTensor
& A,
const
Form
& a,
UFC
& ufc,
79
std::shared_ptr<
const
MeshFunction<std::size_t>
> domains,
80
std::vector<double>* values);
81
93
void
assemble_exterior_facets
(
GenericTensor
& A,
const
Form
& a,
94
UFC
& ufc,
95
std::shared_ptr<
const
MeshFunction<std::size_t>
> domains,
96
std::vector<double>* values);
97
110
void
assemble_interior_facets
(
GenericTensor
& A,
const
Form
& a,
111
UFC
& ufc,
112
std::shared_ptr<
const
MeshFunction<std::size_t>
> domains,
113
std::shared_ptr<
const
MeshFunction<std::size_t>
> cell_domains,
114
std::vector<double>* values);
115
125
void
assemble_vertices
(
GenericTensor
& A,
const
Form
& a,
UFC
& ufc,
126
std::shared_ptr<
const
MeshFunction<std::size_t>
> domains);
127
128
};
129
130
}
131
132
#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:59
dolfin::UFC
Definition
UFC.h:47
dolfin
Definition
adapt.h:30
Generated by
1.17.0