Loading...
Searching...
No Matches
MixedAssembler.h
// 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 Cecile Daversin-Catty 2017
#ifndef __MIXED_ASSEMBLER_H
#define __MIXED_ASSEMBLER_H
#include <vector>
#include "AssemblerBase.h"
namespace dolfin
{
// Forward declarations
class GenericTensor;
class Form;
class UFC;
template<typename T> class MeshFunction;
class MixedAssembler : public AssemblerBase
{
public:
MixedAssembler() {}
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::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::MixedAssembler::MixedAssembler
MixedAssembler()
Constructor.
Definition MixedAssembler.h:50
dolfin::MixedAssembler::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 MixedAssembler.cpp:458
dolfin::MixedAssembler::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 MixedAssembler.cpp:354
dolfin::MixedAssembler::assemble_vertices
void assemble_vertices(GenericTensor &A, const Form &a, UFC &ufc, std::shared_ptr< const MeshFunction< std::size_t > > domains)
Definition MixedAssembler.cpp:610
dolfin::MixedAssembler::assemble
void assemble(GenericTensor &A, const Form &a)
Definition MixedAssembler.cpp:49
dolfin::MixedAssembler::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 MixedAssembler.cpp:102
dolfin::UFC
Definition UFC.h:47
dolfin
Definition adapt.h:30