CompositeFEMMethods.h 2.45 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// ============================================================================
// ==                                                                        ==
// == AMDiS - Adaptive multidimensional simulations                          ==
// ==                                                                        ==
// ============================================================================
// ==                                                                        ==
// ==  TU Dresden                                                            ==
// ==                                                                        ==
// ==  Institut fr Wissenschaftliches Rechnen                               ==
// ==  Zellescher Weg 12-14                                                  ==
// ==  01069 Dresden                                                         ==
// ==  germany                                                               ==
// ==                                                                        ==
// ============================================================================
// ==                                                                        ==
// ==  https://gforge.zih.tu-dresden.de/projects/amdis/                      ==
// ==                                                                        ==
// ============================================================================

/** \file CompositeFEMMethods.h */

22
23
24
25
26
27
28
29
30
31
32
33
#ifndef AMDIS_COMPOSITEFEMMETHODS_H
#define AMDIS_COMPOSITEFEMMETHODS_H

#include "AbstractFunction.h"
#include "DOFVector.h"
#include "FiniteElemSpace.h"
#include "ElementLevelSet.h"

using namespace AMDiS;

class CompositeFEMMethods
{
34
35
public:
  /// Set all dof-values on domain with positive level set function values to val.
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
  static void setPosLsToVal(
	      DOFVector<double> *dof,
	      const double &val,
	      const DOFVector<double> *lsFct_dof);

  /**
   * Set all dof-values on domain with positive level set function values
   * to values of function fct.
   */
  static void setPosLsToFct(
	      DOFVector<double> *dof,
	      const AbstractFunction<double, WorldVector<double> > *fct,
	      const DOFVector<double> *lsFct_dof);

  /**
   * Print coordinates of all boundary elements to file. Name of file is 
   * read from init file.
   */
  static void printBoundaryElements(const std::string fn_str,
				    ElementLevelSet *elLS,
				    FiniteElemSpace *feSpace);
};

#endif  // AMDIS_COMPOSITEFEMMETHODS_H