Electrowetting on dielectric
/export/home/gkanscha/ANS/submissions/Salgado/include/CHNSE.h
Go to the documentation of this file.
00001 #ifndef _CHNSE_H_
00002 #define _CHNSE_H_
00003 
00004 #include <deal.II/base/conditional_ostream.h>
00005 
00006 #include "FileReader.h"
00007 #include "CahnHilliard.h"
00008 #include "NSE.h"
00009 
00017 template<int dim> class CHNSE{
00018   public:
00026     CHNSE( const Triangulation<dim> &tria, const DataStorage<dim> &data, ConditionalOStream &costream );
00030     ~CHNSE();
00034     void set_dt( const double _dt );
00038     void init();
00046     void solve( std::vector< AsFunction<dim> *> &ph_params, std::vector< AsFunction<dim> *> v_params,
00047                 std::vector< AsFunction<dim> *> &p_params, const double time );
00052     unsigned size() const;
00053   protected:
00054     Material_Parameters params; 
00055     CahnHilliard<dim> ch; 
00056     Velocity<dim> vel; 
00057     Pressure<dim> pres; 
00058     ConditionalOStream &v_cout; 
00059   public:
00060     AsFunction<dim> &get_phase, 
00061                     &get_potential, 
00062                     &get_old_phase, 
00063                     &get_velocity, 
00064                     &get_pressure, 
00065                     &get_extrapolated_pressure; 
00066 
00069     const hp::FECollection<dim> &get_ph_mu_fe() const { return ch.get_fe(); }
00073     const hp::FECollection<dim> &get_vel_fe() const { return vel.get_fe(); }
00077     const hp::FECollection<dim> &get_pres_fe() const { return pres.get_fe(); }
00078 };
00079 
00080 #endif //_CHNSE_H_