#include <DirichletProblem.h>
Inheritance diagram for DirichletProblem:
Brownian motion can be used to compute f(x) as follows: let X be a Brownian motion starting at the point x in G. If the function f satisfies then is a martingale and hence , for each stopping time . In particular if is the first exit time from G (equivalently the hitting time for the boundary of G), then since f=h on the boundary of G. Consequently we can compute f(x) as
where is the first exit time from G.
Definition at line 64 of file DirichletProblem.h.
Public Member Functions  
virtual Real  boundaryFunction (const RealVector &u)=0 
DirichletProblem (EuclideanRegion *D, int T, Real dt=0.01)  
Real  solution (const RealVector &x, int nPath=50000, bool reportHits=false) 
Protected Attributes  
int  dim 
EuclideanRegion *  G 
VectorBrownianMotion *  X 
StoppingTime *  tau 

The number T of time steps is fixed in advance to enable a Quasi Monte Carlo computation where this number determines the dimension of the Sobol generator driving the Brownian motion. This number has to be large enough to ensure that the boundary is hit. The solution routine can report what percentage of paths hit the boundary. If this is too small increase T.


The boundary function h. Implemented in DirichletProblemExample. 

The solution , each value computed from nPath paths of X.


Definition at line 68 of file DirichletProblem.h. 

Definition at line 69 of file DirichletProblem.h. 

Definition at line 70 of file DirichletProblem.h. 

Definition at line 71 of file DirichletProblem.h. 