[mesa-users] gradient control for mesh adjustment

Bill Paxton paxton at kitp.ucsb.edu
Fri Aug 10 12:20:10 EDT 2012


Hi,

At the start of each timestep, star does a "remesh" that splits or merges cells.
To make those split or merge decisions, it considers the change from cell to cell
of a set of "mesh functions".  The "gradient" mentioned below is the magnitude
of the difference from one cell to the next.  If the gradient of any mesh function
is greater than 1, then we split the cell.  Alternatively, if the merger of two adjacent
cells would give a new cell with gradients all below 1, then we merge them.
The actual details are a bit more complicated of course -- but that gives the idea.

So what sort of mesh spacing you get will depend on the set of mesh functions
you have selected.   For example, the P_function is defined as a weight times log10(P).
Changing the weight will change the gradient and that will effect the split/merge
decisions.  Setting the weight to 0 removes that mesh function from consideration.

For most situations, the built-in set of mesh functions are enough.
But since mesa is about extensibility, I've also provided a hook so that
users can add their own special purpose mesh functions.
You define your own functions following the instructions found in
mesa/publis/other_mesh_functions.f --- then you enable them
by setting use_other_mesh_functions = .true.

For example, I recently tried adding a mesh function based on opacities.
It is included as an example in other_mesh_functions.f.

I hope that helps.

-Bill




On Aug 10, 2012, at 8:04 AM, Abhisek Datta wrote:

> Hi,
> 
> I cant understand the gradient controls for mesh adjustment as given in mesa/star/public/star_defaults.dek .
> 
>          ! gradient controls for mesh adjustment
>          ! "gradient" here means the difference in value from one grid point to the next.
>          
>          
>          use_other_mesh_functions = .false.
> 
>          
>          ! pressure gradient
>          ! P_function = P_function_weight*log10(P)
>            P_function_weight = 30
> 
>          
>          ! temperature gradient
>          ! T_function1 = T_function1_weight*log10(T)
>            T_function1_weight = 80
> 
> What does changing this line - use_other_mesh_functions = .false. to true do?
> 
> Also what is the meaning of P_function ? Which is the pressure gradient? How does it control the mesh adjustment?
> 
> Can anyone help me out to understand these?
> 
> Abhisek
> 
> ------------------------------------------------------------------------------
> Live Security Virtual Conference
> Exclusive live event will cover all the ways today's security and 
> threat landscape has changed and how IT managers can respond. Discussions 
> will include endpoint security, mobile security and the latest in malware 
> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/_______________________________________________
> mesa-users mailing list
> mesa-users at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/mesa-users





More information about the Mesa-users mailing list