/* $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<Real>& x, Real time, int comp=1) const;
};
class StepDirichlet: public VarDirichletBCs
{
protected:
Real xStep;
virtual Real value(Vector<Real>& x) const;
public:
StepDirichlet();
virtual void setBC(int node, int id, Vector<Real>& x, int comp, Real time);
virtual Real initialValue(Vector<Real>& x, Real time, int comp=1) const;
};
//-------------------------------------------------------------------------
class UserTransDirichlet: public VarDirichletBCs
{
public:
UserTransDirichlet();
virtual void setBC(int node, int id, Vector<Real>& x, int comp, Real time);
virtual Real initialValue(Vector<Real>& x, Real time, int comp=1) const;
protected:
virtual Real value(Vector<Real>& x) const;
virtual Real value(Vector<Real>& 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<Real>& x) const;
public:
virtual void setBC(int node, int id, Vector<Real>& x, int comp, Real time);
virtual Real initialValue(Vector<Real>& x, Real time, int comp=1) const;
};
//-------------------------------------------------------------------------
class TransDirichlet: public VarDirichletBCs
{
Real value(Vector<Real>& x) const;
public:
virtual void setBC(int node, int id, Vector<Real>& x, int comp, Real time);
virtual Real initialValue(Vector<Real>& x, Real time, int comp=1) const;
};
//-------------------------------------------------------------------------
//-------------------------------------------------------------------------
class StefanDirichletBCs : public VarDirichletBCs
{
protected:
Real kappa0, kappa1, c0, c1, theta1;
Real value(Vector<Real>& x, Real time) const;
public:
StefanDirichletBCs();
virtual void setBC(int node, int id, Vector<Real>& x, int comp, Real time);
virtual Real initialValue(Vector<Real>& x, Real time, int comp=1) const;
};
//-------------------------------------------------------------------------
class CastingDirichletBCs : public VarDirichletBCs
{
protected:
Real kappa0, kappa1, c0, c1, theta1;
Real value(Vector<Real>& x, Real time) const;
public:
CastingDirichletBCs();
virtual void setBC(int node, int id, Vector<Real>& x, int comp, Real time);
virtual Real initialValue(Vector<Real>& x, Real time, int comp=1) const;
};
//-------------------------------------------------------------------------
class PorousMediaDirichletBCs : public VarDirichletBCs
{
public:
PorousMediaDirichletBCs();
virtual void setBC(int node, int id, Vector<Real>& x, int comp, Real time);
virtual Real initialValue(Vector<Real>& x, Real time, int comp=1) const;
};
#endif
syntax highlighted by Code2HTML, v. 0.9.1