Good to hear that things are coming together. It is extremely good for us to get feedback,
especially from US industry.

On Aug 7, 2006, at 6:41 PM, [EMAIL PROTECTED] wrote:

Dan,
   Thanks for all of this help.  Now, after a little tweaking of your
settings, I am getting quite sensible results that I can actually make use
of.
Seeing how your 'print' statements worked, I am now printing the elapsed
time as the solution evolves.  I am tweaking the EFFECTIVE thermal
transport parameters
(conductivity, specific heat --> diffusivity) of the thick outer buffer
layers to get the peak temperature to come into line with experiment, and
it all appears to
be quite self-consistent.
Terry McDaniel
Seagate Research     (209) 295-6735



             Daniel Wheeler                                            
             <[EMAIL PROTECTED]                                         
             ist.gov>                                                   To
             No Phone Info             [EMAIL PROTECTED]    
             Available                                                  cc
                                       [email protected]                   
                                                                   Subject
             08/07/2006 01:40          Re: Seeing solution on variable 
             PM                        mesh                            










Hi Terry,

Answers below.

On Aug 5, 2006, at 4:36 PM, [EMAIL PROTECTED] wrote:

      Dan,
          I've been poking around with my 1D thermal problem.  The main
      change
      that I am trying to make is to expand the mesh GREATLY around the
      solution
      region.  You may recall that originally the total
      span of x was about 270 nm.   Now, I want to add material on the low
      and
      high x sides so that the original thin film structure is embedded in
      the
      center (roughly) of a 10 mm long model.

I have solved problems with a great deal of different mesh sizes, the key
is to taper the mesh from course
to fine in a sensible way. Basically, adjacent elements should not have
massive size differences, it effects accuracy.
Also the matrix should not have rows that are numerically insignificant,
this can cause problems. I have worked with meshes
that vary from 5nm to 1 micron. You will probably be alright with the
dimensions you are suggesting since you are in 1D.

          This code seems to run without errors.    (See attached file:
      Yukiko_DW3d.py)
           However, the output plot is uninteresting, showing T=0 for all
      visible
      x.  I realize that my "interesting" region is initially TINY in the
      center
      of the 10 mm wide model, BUT the heat should diffuse outward to a
      noticeable degree during the solution.  And what I really am after is
      a
      reliable peak temperature rise, given this extensive buffer material
      surrounding the heated zone.  Before, my peak temperature rise
      was NOT reliable because my T=0 boundaries were far too close to the
      heated
      zone.
          Can you see why I am not observing any non-zero temperature
      rise?   Is
      the mesh size too variable for the solver to get a sensible
      solution?  Is
      the plot resolution insufficient to discern anything?

Changed a few things and it seems to be doing something. Don't know if it
makes sense:

     [attachment "Yukiko_DW3d.py" deleted by Terry W McDaniel/Seagate]
You were setting the source term to zero everywhere. The source in this
case is an implicitly defined variable that is
automatically updated if anything it depends on is changed, "time" in this
case. The element wise conditional
operations have to be part of the _expression_ in order to work correctly.
Also asking if "X > 0" returns an array if X is an
array and thus you can't very well use conditionals with an array of ones
and zeros.

           One tricky thing that I had to do was define the non-zero SOURCE
      term
      only in the thin film region, lest I get some numerical overflow
      (probably
      from the exp function, I imagine).  I got past that error using
      your old SHIFT variable, along with my new BOT variable.  But now I
      don't
      know if my source is actually non-zero anywhere, given the large
      dynamic
      range of my spatial variable x.

All you have to do is print its value to see.

    >>> print ' my source term',source

          Another thing here that is bit awkward for me is the
      specification of
      the mesh INTERVALS dx instead of the mesh nodes x.  Can I just as
      well
      define the mesh nodes along x directly?

Yes, define X, the array of nodal positions, then do,

    >>> dx = X[1:] - X[:-1]

to define dx.

      I realize that FiPy
      wants to use cell CENTERS in the solution, and that's OK.  I would
      just
      like to specify my mesh nodes [x1, x2, ...., xn] directly for input
      and for
      plotting output.

You can ask the mesh for its vertex coordinates;

    >>> mesh.getVertexCoords()


          Thanks.
      Terry McDaniel
      Seagate Research     (209) 295-6735
      <Yukiko_DW3d.py>


Daniel Wheeler







Daniel Wheeler


Reply via email to