Reduced Lagrange Multipliers
Loading...
Searching...
No Matches
immersed_repartitioner.h
Go to the documentation of this file.
1
// ---------------------------------------------------------------------
2
//
3
// Copyright (C) 2024 by Luca Heltai
4
//
5
// This file is part of the reduced_lagrange_multipliers application, based on
6
// the deal.II library.
7
//
8
// The reduced_lagrange_multipliers application is free software; you can use
9
// it, redistribute it, and/or modify it under the terms of the Apache-2.0
10
// License WITH LLVM-exception as published by the Free Software Foundation;
11
// either version 3.0 of the License, or (at your option) any later version. The
12
// full text of the license can be found in the file LICENSE.md at the top level
13
// of the reduced_lagrange_multipliers distribution.
14
//
15
// ---------------------------------------------------------------------
16
17
#ifndef rdl_immersed_repartitioner_h
18
#define rdl_immersed_repartitioner_h
19
20
#include <
deal.II/distributed/fully_distributed_tria.h
>
21
#include <
deal.II/distributed/repartitioning_policy_tools.h
>
22
#include <
deal.II/distributed/tria.h
>
23
24
#include <
deal.II/fe/fe_q.h
>
25
#include <
deal.II/fe/mapping_q1.h
>
26
27
#include <
deal.II/lac/la_parallel_vector.h
>
28
29
using namespace
dealii
;
30
46
template
<
int
dim,
int
spacedim = dim>
47
class
ImmersedRepartitioner
48
:
public
RepartitioningPolicyTools::Base
<dim, spacedim>
49
{
50
public
:
57
ImmersedRepartitioner
(
const
Triangulation<spacedim>
&
tria_background
);
58
68
virtual
LinearAlgebra::distributed::Vector<double>
69
partition
(
const
Triangulation<dim, spacedim>
&tria_immersed)
const override
;
70
71
private
:
75
const
Triangulation<spacedim>
&
tria_background
;
76
80
const
MappingQ1<spacedim>
mapping
;
81
};
82
83
#endif
LinearAlgebra::distributed::Vector
MappingQ1
RepartitioningPolicyTools::Base
Triangulation
ImmersedRepartitioner::ImmersedRepartitioner
ImmersedRepartitioner(const Triangulation< spacedim > &tria_background)
Constructor for the ImmersedRepartitioner class.
Definition
immersed_repartitioner.cc:22
ImmersedRepartitioner::mapping
const MappingQ1< spacedim > mapping
A mapping object for the background triangulation.
Definition
immersed_repartitioner.h:80
ImmersedRepartitioner::partition
virtual LinearAlgebra::distributed::Vector< double > partition(const Triangulation< dim, spacedim > &tria_immersed) const override
Repartition the given immersed triangulation.
Definition
immersed_repartitioner.cc:29
ImmersedRepartitioner::tria_background
const Triangulation< spacedim > & tria_background
A reference to the background triangulation used for repartitioning.
Definition
immersed_repartitioner.h:75
tria.h
fe_q.h
fully_distributed_tria.h
la_parallel_vector.h
mapping_q1.h
dealii
repartitioning_policy_tools.h
github
workspace
include
immersed_repartitioner.h
Generated on Sun May 18 2025 21:39:32 for Reduced Lagrange Multipliers by
1.13.2