Electrowetting on dielectric
|
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_