[Nek5000-users] perturbing interior variables

nek5000-users at lists.mcs.anl.gov nek5000-users at lists.mcs.anl.gov
Mon May 10 11:15:38 CDT 2010


The heat solver calls BCDIRSC which will apply Dirichlet bcs. All 't  ' boundary points call userbc so you have the full control over the values at the boundary.

Stefan

 


On May 10, 2010, at 6:00 PM, nek5000-users at lists.mcs.anl.gov wrote:

> Hi Frank,
> 
> 
> I assume that you refer to t(i,j,k,iel) as temperature -- to be safe it should be t(i,j,k,iel,1)...
> 
> 
> In timestepping loop, subroutine userchk is called last by one -- right before the last one -- prepost which dumps field files .f or .fld -- see nek5_svn/trunk/nek/drive1.f:
> 
>      DO ISTEP=1,NSTEPS
>         call nek_advance
>         call userchk
>         call prepost (.false.,'his')
>         if (lastep .eq. 1) goto 1001B
>      ENDDO
> 
> while, as I can see, userbc for a passive scalar is called from a chain of subroutines nek_advance > heat > cdscal > BCNEUSC/BCDIRSC
> 
> This means that perturbation of temperature at the boundary won't be overwritten in userbc.
> 
> 
> One way to apply perturbation everywhere including the element faces that are not on the boundary of your domain is simply to multiply your perturbation factor by a function that goes to zero on the boundaries, e.g.:
> 
>   t(i,j,k,iel,1)=.99*t(i,j,k,iel,1)*(xm1(i,j,k,iel)**2.-1.)
> 
> in case the boundary surface plane is at x=1 & x=-1
> 
> Best,
> Aleks
> 
> 
> 
> 
> 
> 
> On Mon, 10 May 2010, nek5000-users at lists.mcs.anl.gov wrote:
> 
>> Hello all,
> 
> I am trying to perturb the temperature in a small part of the flow.
> However, I only wish to perturb in the interior and not on a boundary.
> I have the following in "userchk".  If I instead looped from "k=1,nz1"
> instead of "k=2,nz1-1", would this change the BC's?  The general
> question would be, does changing uvw & T in "userchk" change BC's or
> does "userbc" override what is done in "userchk"?
> 
> Cheers,
> Frank
> 
>        do 100 iel=1,nelv
>        do 100 k=2,nz1-1
>        do 100 j=2,ny1-1
>        do 100 i=2,nx1-1
>        if(((xm1(i,j,k,iel)-1.1)**2
>     &    + (ym1(i,j,k,iel)-1.1)**2
>     &    + (zm1(i,j,k,iel)-.45)**2)**.5.le..25)then
>           t(i,j,k,iel)=.99*t(i,j,k,iel)
>        endif
>          enddo !n
> 100     continue
> 
> 
> 
> 
> -- 
> Frank Herbert Muldoon, Ph.D. Mechanical Engineering
> Technische Universität Wien (Technical University of Vienna)
> Inst. f. Strömungsmechanik und Wärmeübertragung (Institute of Fluid
> Mechanics and Heat Transfer)
> Resselgasse 3
> 1040 Wien
> Tel: +4315880132232
> Fax: +4315880132299 Cell:+436765203470
> fmuldoo (skype)
> http://tetra.fluid.tuwien.ac.at/fmuldoo/public_html/webpage/frank-muldoon.html
> 
> _______________________________________________
> Nek5000-users mailing list
> Nek5000-users at lists.mcs.anl.gov
> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users_______________________________________________
> Nek5000-users mailing list
> Nek5000-users at lists.mcs.anl.gov
> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users




More information about the Nek5000-users mailing list