Liebe Gitlab-Nutzerin, lieber Gitlab-Nutzer,
es ist nun möglich sich mittels des ZIH-Logins/LDAP an unserem Dienst anzumelden. Die Konten der externen Nutzer:innen sind über den Reiter "Standard" erreichbar.
Die Administratoren


Dear Gitlab user,
it is now possible to log in to our service using the ZIH login/LDAP. The accounts of external users can be accessed via the "Standard" tab.
The administrators

CahnHilliard.h 1.75 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
/******************************************************************************
 *
 * Extension of AMDiS - Adaptive multidimensional simulations
 *
 * Copyright (C) 2013 Dresden University of Technology. All Rights Reserved.
 * Web: https://fusionforge.zih.tu-dresden.de/projects/amdis
 *
 * Authors: Simon Praetorius et al.
 *
 * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
 * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
 *
 *
 * See also license.opensource.txt in the distribution.
 * 
 ******************************************************************************/
17 18 19 20 21 22

#ifndef CAHN_HILLIARD_H
#define CAHN_HILLIARD_H

#include "AMDiS.h"
#include "BaseProblem.h"
23
#include "chns.h"
24
    
Praetorius, Simon's avatar
Praetorius, Simon committed
25 26 27 28 29 30
namespace detail {
  
  template<typename ProblemStatType>
  class CahnHilliard : public BaseProblem<ProblemStatType>
  {
  public: // definition of types
31

Praetorius, Simon's avatar
Praetorius, Simon committed
32 33
    typedef BaseProblem<ProblemStatType> super;
    typedef CahnHilliard<ProblemStatType> self;
34

Praetorius, Simon's avatar
Praetorius, Simon committed
35
  public: // public methods
36

Praetorius, Simon's avatar
Praetorius, Simon committed
37 38
    CahnHilliard(const std::string &name_);
    ~CahnHilliard() {};
39

Praetorius, Simon's avatar
Praetorius, Simon committed
40
    void solveInitialProblem(AMDiS::AdaptInfo *adaptInfo) override;
41

Praetorius, Simon's avatar
Praetorius, Simon committed
42 43
    double getEpsilon() { return eps; }
    int getDoubleWellType() { return doubleWell; }
44

Praetorius, Simon's avatar
Praetorius, Simon committed
45 46 47 48
    void fillOperators() override;
    void fillBoundaryConditions() override {}
    
    void finalizeData() override;
49

Praetorius, Simon's avatar
Praetorius, Simon committed
50
  protected: // protected variables
51

Praetorius, Simon's avatar
Praetorius, Simon committed
52 53
    bool useMobility;
    bool useReinit;
54

Praetorius, Simon's avatar
Praetorius, Simon committed
55
    unsigned dim;
56

Praetorius, Simon's avatar
Praetorius, Simon committed
57
    int doubleWell;
58

Praetorius, Simon's avatar
Praetorius, Simon committed
59 60 61 62 63 64 65 66 67 68 69 70 71 72
    double gamma;
    double eps;
    double minusEps;
    double epsInv;
    double minusEpsInv;
    double epsSqr;
    double minusEpsSqr;
  };

} // end namespace detail

#include "CahnHilliard.hh"

typedef ::detail::CahnHilliard<AMDiS::ProblemStat> CahnHilliard;
73

74 75

#endif // CAHN_HILLIARD_H