Gradient variation for ice phase-field model in PRISMS-PF

11 views
Skip to first unread message

Jorge Barrios

unread,
Jan 25, 2026, 5:59:26 AMJan 25
to PRISMS-PF Users

Hello everyone,

I am implementing an ice phase-field model in PRISMS-PF and need to introduce a modified gradient operator acting on the field , as part of the model formulation.

Specifically, I would like to define a gradient variant of the form:

  • grad_gamma(u, gamma)

As a first step, I plan to implement a fixed version:

  • grad2(u) corresponding to gamma = 2

before generalizing it to a user-defined parameter gamma.

My questions are:

  1. Has a similar gradient variation (e.g., scaled, weighted, or gamma-dependent gradient) already been implemented in any existing PRISMS-PF ice or phase-field applications?

  2. In PRISMS-PF, is the recommended approach to:

    • construct this directly in the RHS evaluation using grad(u) and returning a modified scalargradType, or

    • introduce a new helper/operator at a lower level?

  3. If gamma should be user-defined via the parameter file, is there a preferred pattern for passing it cleanly into the gradient calculation?

Any references to existing examples or guidance on best practices would be greatly appreciated.

Thank you.

David Montiel

unread,
Jan 25, 2026, 6:40:29 PMJan 25
to Jorge Barrios, PRISMS-PF Users
Hello, Jorge

Can you clarify a little more (perhaps using an example) of how you want the gradient to depend on the parameter gamma? 

Is it in some way that cannot be reduced to the following form:

grad_gamma(u, gamma) = f(gamma,u)*grad(u)

where f is an arbitrary function of gamma and (possibly) u? 

If it can be reduced to the form above, you would not need to calculate a special gradient that depends on gamma. 

Best,

David

--
You received this message because you are subscribed to the Google Groups "PRISMS-PF Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to prisms-pf-use...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/prisms-pf-users/d33e72d5-a899-4b9a-b31a-7d4152808be0n%40googlegroups.com.

Jorge Barrios

unread,
Jan 26, 2026, 5:11:20 AMJan 26
to PRISMS-PF Users
Hello David,

Thank you for your response. I am implementing the PRISMS-PF equations for the ice growth model and I am trying to understand how to correctly implement the term referred to as “grad_Gamma”.

From the paper, I see gradient terms written with a subscript Gamma (∇_Γ), which appears to indicate an interface/surface gradient, while elsewhere Gamma (Γ) is also used as a model parameter listed in the table of constants.

I am currently unsure whether:

  1. this requires implementing a new gradient operator (e.g., a surface/interface gradient), or

  2. Gamma is meant to be used only as a parameter that scales existing coefficients multiplying the standard gradient.

I will provide the relevant equations, parameter table, and a link to the paper PDF for reference. https://www.nature.com/articles/s41524-017-0015-1.pdf

Any guidance on the intended interpretation and recommended implementation approach in PRISMS-PF would be greatly appreciated.

Thank you.


Screenshot 2026-01-26 100734.pngScreenshot 2026-01-26 110422.png

David Montiel

unread,
Jan 26, 2026, 7:59:04 AMJan 26
to Jorge Barrios, PRISMS-PF Users
Thank you, Jorge

I suspect you will not need a special implementation for the gradient but let  have a look at the paper you shared and get back to you. 

Best,

David

David Montiel

unread,
Jan 26, 2026, 11:13:08 AMJan 26
to Jorge Barrios, PRISMS-PF Users
Hello, Jorge

I've had a look at the paper and I see that the grad_gamma term just an anisotropic gradient, defined as:

image.png

(See the end of the first paragraph on the right column in page 1)

It seems to me that, if gamma is a user defined constant, you can calculate this gradient via the following matrix multiplication:

image.png

where image.png is a 3x3 diagonal matrix that you can define as:

image.png
To make things neat, I would suggest replacing the image.png operator in Eqs. (1) and (2) of the paper with image.png
and just obtain the weak form of the equations, keeping in mind that image.png is a constant matrix. 

Let me know if you have any questions about this or on how to implement it. 

Best,

David


Jorge Barrios

unread,
Jan 27, 2026, 9:56:25 AMJan 27
to PRISMS-PF Users

Hello David,

Thank you very much for the explanation, that cleared things up for me. I can see now how the grad_gamma term is defined and how it can be implemented as an anisotropic bulk gradient using the constant matrix.

I’ll go ahead and try implementing it following your suggestion. If I run into any questions or issues along the way, I’ll reach out.

Thanks again for taking the time to help.

Best regards,
Jorge

Reply all
Reply to author
Forward
0 new messages