Alamo
CahnHilliard.H
Go to the documentation of this file.
1 //
2 // CahnHilliard
3 //
4 
5 #ifndef INTEGRATOR_CAHNHILLIARD_H
6 #define INTEGRATOR_CAHNHILLIARD_H
7 
8 #include <iostream>
9 #include <fstream>
10 #include <iomanip>
11 
12 #include "AMReX.H"
13 #include "AMReX_ParmParse.H"
14 #include "AMReX_ParallelDescriptor.H"
15 #include <AMReX_MLMG.H>
16 
17 #include "IC/Random.H"
18 #include "Integrator/Integrator.H"
19 #include "BC/Nothing.H"
21 
22 namespace Integrator
23 {
24 
25 class CahnHilliard : public Integrator
26 {
27 public:
28  CahnHilliard();
29 
30 protected:
31 
32  void Initialize (int lev) override;
33  void TimeStepBegin(amrex::Real /*time*/, int /*iter*/) override;
34  void Advance (int lev, Set::Scalar time, Set::Scalar dt) override;
35  void TagCellsForRefinement (int lev, amrex::TagBoxArray& tags, amrex::Real time, int ngrow) override;
36 
37 private:
38 
42 
43  const int nghost = 1;
44  const int ncomp = 1;
47 
48  const Set::Scalar gamma = 0.0005;
49 
51 };
52 }
53 #endif
Nothing.H
Integrator::CahnHilliard::op
Operator::Implicit::Implicit op
Definition: CahnHilliard.H:50
Integrator::CahnHilliard::ic
IC::IC * ic
Definition: CahnHilliard.H:46
Integrator::CahnHilliard::Advance
void Advance(int lev, Set::Scalar time, Set::Scalar dt) override
Definition: CahnHilliard.cpp:44
IC::IC
Pure abstract IC object from which all other IC objects inherit.
Definition: IC.H:12
BC::BC< Set::Scalar >
Integrator::CahnHilliard::intermediate
Set::Field< Set::Scalar > intermediate
Definition: CahnHilliard.H:41
Integrator.H
Integrator::CahnHilliard::nghost
const int nghost
Definition: CahnHilliard.H:43
Set::Field< Set::Scalar >
Definition: Set.H:236
Integrator::CahnHilliard::etanewmf
Set::Field< Set::Scalar > etanewmf
Definition: CahnHilliard.H:39
Operator::Implicit::Implicit
Definition: Implicit.H:17
Integrator::CahnHilliard::CahnHilliard
CahnHilliard()
Definition: CahnHilliard.cpp:9
Integrator::CahnHilliard::gamma
const Set::Scalar gamma
Definition: CahnHilliard.H:48
Set::Scalar
amrex::Real Scalar
Definition: Base.H:19
Integrator::CahnHilliard::bc
BC::BC< Set::Scalar > * bc
Definition: CahnHilliard.H:45
Integrator::CahnHilliard::ncomp
const int ncomp
Definition: CahnHilliard.H:44
Integrator::CahnHilliard::TagCellsForRefinement
void TagCellsForRefinement(int lev, amrex::TagBoxArray &tags, amrex::Real time, int ngrow) override
Definition: CahnHilliard.cpp:91
Integrator::CahnHilliard::Initialize
void Initialize(int lev) override
Definition: CahnHilliard.cpp:81
Integrator
Collection of numerical integrator objects.
Definition: AllenCahn.H:39
Random.H
Integrator::CahnHilliard::etaoldmf
Set::Field< Set::Scalar > etaoldmf
Definition: CahnHilliard.H:40
Integrator::CahnHilliard::TimeStepBegin
void TimeStepBegin(amrex::Real, int) override
Definition: CahnHilliard.cpp:22
Integrator::CahnHilliard
Definition: CahnHilliard.H:25
Integrator::Integrator::dt
amrex::Vector< amrex::Real > dt
Timesteps for each level of refinement.
Definition: Integrator.H:303
Implicit.H