Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035 #ifndef waveTransmissiveFvPatchField_H
00036 #define waveTransmissiveFvPatchField_H
00037
00038 #include <finiteVolume/advectiveFvPatchFields.H>
00039
00040
00041
00042 namespace Foam
00043 {
00044
00045
00046
00047
00048
00049 template<class Type>
00050 class waveTransmissiveFvPatchField
00051 :
00052 public advectiveFvPatchField<Type>
00053 {
00054
00055
00056
00057
00058 word psiName_;
00059
00060
00061 scalar gamma_;
00062
00063
00064 public:
00065
00066
00067 TypeName("waveTransmissive");
00068
00069
00070
00071
00072
00073 waveTransmissiveFvPatchField
00074 (
00075 const fvPatch&,
00076 const DimensionedField<Type, volMesh>&
00077 );
00078
00079
00080 waveTransmissiveFvPatchField
00081 (
00082 const fvPatch&,
00083 const DimensionedField<Type, volMesh>&,
00084 const dictionary&
00085 );
00086
00087
00088
00089 waveTransmissiveFvPatchField
00090 (
00091 const waveTransmissiveFvPatchField<Type>&,
00092 const fvPatch&,
00093 const DimensionedField<Type, volMesh>&,
00094 const fvPatchFieldMapper&
00095 );
00096
00097
00098 waveTransmissiveFvPatchField
00099 (
00100 const waveTransmissiveFvPatchField&
00101 );
00102
00103
00104 virtual tmp<fvPatchField<Type> > clone() const
00105 {
00106 return tmp<fvPatchField<Type> >
00107 (
00108 new waveTransmissiveFvPatchField<Type>(*this)
00109 );
00110 }
00111
00112
00113 waveTransmissiveFvPatchField
00114 (
00115 const waveTransmissiveFvPatchField&,
00116 const DimensionedField<Type, volMesh>&
00117 );
00118
00119
00120 virtual tmp<fvPatchField<Type> > clone
00121 (
00122 const DimensionedField<Type, volMesh>& iF
00123 ) const
00124 {
00125 return tmp<fvPatchField<Type> >
00126 (
00127 new waveTransmissiveFvPatchField<Type>(*this, iF)
00128 );
00129 }
00130
00131
00132
00133
00134
00135
00136
00137 scalar gamma() const
00138 {
00139 return gamma_;
00140 }
00141
00142
00143 scalar& gamma()
00144 {
00145 return gamma_;
00146 }
00147
00148
00149
00150
00151
00152 virtual tmp<scalarField> advectionSpeed() const;
00153
00154
00155
00156 virtual void write(Ostream&) const;
00157 };
00158
00159
00160
00161
00162 }
00163
00164
00165
00166 #ifdef NoRepository
00167 # include <finiteVolume/waveTransmissiveFvPatchField.C>
00168 #endif
00169
00170
00171
00172 #endif
00173
00174