[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[ff3d-users] Re: problem
From: |
Stephane Del Pino |
Subject: |
[ff3d-users] Re: problem |
Date: |
Tue, 03 Feb 2004 10:37:51 +0100 |
Robert Li wrote:
>
> Dear Stephane Del Pino,
Dear Robert.
> When I tested my sample, I found that the result of
> FEM and FDM is similiar, but is different. It seems
> that there is scale between them.
> When I traced the source,I found that there are
> differnet Vertex coordinate value to same Verter
> No(eg. I=78 or i=78) in
> template <typename SurfaceMeshType>
> void eval(const SurfaceMeshType& surfMesh) const
> and
> void InstructionSaveFunction::execute().
> Is this right?
I am not sure I understand what your problem is.
I will try to give here an answer...
First you have to note that BoundaryConditionDiscretisationElimination
does only concern FDM. FEM boundary conditions are defined in a slightly
different way, even if elimination is also used...
If you meant that value is defined multiple times in FDM elimination, it
is true. The reason for that is that we impose the conditions using a
surface mesh that is "smaller" than the background mesh: it means that
each surface mesh element is embedded in a volume element. To impose
Dirichlet condition, the surface mesh is browsed and for each element
the boundary function is evaluated at quadrature points and affected to
the clossest background mesh vertex. This implies that a value can be
overwritten: last value is used ...
Concerning the difference of values, looking at figures, it does not
seem to me that differences are so important. FEM should definitely be
better, and in your case FDM uses less degrees of freedom: your FEM
discretization uses 20x20x20 mesh while approximatly only 10x10x10
vertices are inside your domain for FDM.
You shoud try to refine your FDM mesh and probably use a smaller
security zone:
try with a = (-2.1,-2.1,-2.1) and b = (2.1, 2.1, 2.1).
To be convinced that results are ok, you can compute the error between
your solutions.
You are allowed to solve multiple problems in one ff3d file and then
compute the error between the two solutions on your FEM mesh for
instance.
I hope that helps.
Best Regards,
Stephane.