/* $Id: dirichlettr.h,v 1.1.1.1 1996/10/02 10:35:49 roitzsch Exp $ */ #ifndef DIRICHLETTR_H #define DIRICHLETTR_H #include "dirichletA.h" //------------------------------------------------------------------------- class ConstTransDirichlet: public ConstDirichletBCs { public: ConstTransDirichlet(char* fileName); virtual Real initialValue(Vector& x, Real time, int comp=1) const; }; class StepDirichlet: public VarDirichletBCs { protected: Real xStep; virtual Real value(Vector& x) const; public: StepDirichlet(); virtual void setBC(int node, int id, Vector& x, int comp, Real time); virtual Real initialValue(Vector& x, Real time, int comp=1) const; }; //------------------------------------------------------------------------- class UserTransDirichlet: public VarDirichletBCs { public: UserTransDirichlet(); virtual void setBC(int node, int id, Vector& x, int comp, Real time); virtual Real initialValue(Vector& x, Real time, int comp=1) const; protected: virtual Real value(Vector& x) const; virtual Real value(Vector& x, Real time) const; virtual Real userBC1d(Real x, Real t) const; virtual Real userBC2d(Real x, Real y, Real t) const; virtual Real userBC3d(Real x, Real y, Real z, Real t) const; }; //------------------------------------------------------------------------- class JumpDirichlet: public StepDirichlet { virtual Real value(Vector& x) const; public: virtual void setBC(int node, int id, Vector& x, int comp, Real time); virtual Real initialValue(Vector& x, Real time, int comp=1) const; }; //------------------------------------------------------------------------- class TransDirichlet: public VarDirichletBCs { Real value(Vector& x) const; public: virtual void setBC(int node, int id, Vector& x, int comp, Real time); virtual Real initialValue(Vector& x, Real time, int comp=1) const; }; //------------------------------------------------------------------------- //------------------------------------------------------------------------- class StefanDirichletBCs : public VarDirichletBCs { protected: Real kappa0, kappa1, c0, c1, theta1; Real value(Vector& x, Real time) const; public: StefanDirichletBCs(); virtual void setBC(int node, int id, Vector& x, int comp, Real time); virtual Real initialValue(Vector& x, Real time, int comp=1) const; }; //------------------------------------------------------------------------- class CastingDirichletBCs : public VarDirichletBCs { protected: Real kappa0, kappa1, c0, c1, theta1; Real value(Vector& x, Real time) const; public: CastingDirichletBCs(); virtual void setBC(int node, int id, Vector& x, int comp, Real time); virtual Real initialValue(Vector& x, Real time, int comp=1) const; }; //------------------------------------------------------------------------- class PorousMediaDirichletBCs : public VarDirichletBCs { public: PorousMediaDirichletBCs(); virtual void setBC(int node, int id, Vector& x, int comp, Real time); virtual Real initialValue(Vector& x, Real time, int comp=1) const; }; #endif