27 #ifndef vtkAMRGaussianPulseSource_h 28 #define vtkAMRGaussianPulseSource_h 30 #include "vtkFiltersAMRModule.h" 51 vtkSetMacro(Dimension,
int);
58 vtkSetMacro(NumberOfLevels,
int);
66 this->RefinmentRatio = r;
76 this->RootSpacing[0] = this->RootSpacing[1] = this->RootSpacing[2] = h0;
85 vtkSetVector3Macro(PulseOrigin,
double);
86 vtkGetVector3Macro(PulseOrigin,
double);
89 this->PulseOrigin[0] = f;
94 this->PulseOrigin[1] = f;
99 this->PulseOrigin[2] = f;
108 vtkSetVector3Macro(PulseWidth,
double);
109 vtkGetVector3Macro(PulseWidth,
double);
112 this->PulseWidth[0] = f;
117 this->PulseWidth[1] = f;
122 this->PulseWidth[2] = f;
131 vtkSetMacro(PulseAmplitude,
double);
132 vtkGetMacro(PulseAmplitude,
double);
157 return (this->ComputePulseAt(xyz));
163 for (
int i = 0; i < this->Dimension; ++i)
165 double d = pt[i] - this->PulseOrigin[i];
167 double L2 = this->PulseWidth[i] * this->PulseWidth[i];
170 pulse = this->PulseAmplitude * std::exp(-r);
190 vtkUniformGrid* GetGrid(
double origin[3],
double h[3],
int ndim[3]);
205 double RootSpacing[3];
206 double PulseOrigin[3];
207 double PulseWidth[3];
void SetZPulseOrigin(double f)
Set & Get macro for the pulse origin.
void SetYPulseWidth(double f)
Set & Get macro for the pulse width.
A base class for all algorithms that take as input vtkOverlappingAMR and produce vtkOverlappingAMR.
A source that generates sample AMR data with gaussian pulse field.
void SetXPulseWidth(double f)
Set & Get macro for the pulse width.
double ComputePulseAt(const double x, const double y, const double z)
Computes the gaussian pulse at the given location based on the user supplied parameters for pulse wid...
a simple class to control print indentation
void SetRootSpacing(double h0)
Set the root spacing.
virtual void Modified()
Update the modification time for this object.
double ComputePulseAt(double pt[3])
Computes the gaussian pulse at the given location based on the user supplied parameters for pulse wid...
void SetYPulseOrigin(double f)
Set & Get macro for the pulse origin.
hierarchical dataset of vtkUniformGrids
void SetZPulseWidth(double f)
Set & Get macro for the pulse width.
void SetRefinementRatio(int r)
Set the refinement ratio.
void SetXPulseOrigin(double f)
Set & Get macro for the pulse origin.
static vtkOverlappingAMRAlgorithm * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.