My problem ought to have a fairly straightforward solution.
The Friction_Coulomb function calculates the basal drag (BDrag) and effective pressure (Ne). I'd simply like to be able to output these values into my .vtu files. Could somebody please show me how this is done?
.sif file attached, it's pretty standard.
Thanks
Matt
Output basal drag and effective pressure
Output basal drag and effective pressure
- Attachments
-
- example.sif
- (13.3 KiB) Downloaded 547 times
Re: Output basal drag and effective pressure
I've tried the following...
Under the body forces (BF3 refers to the basal boundary):
Then, a new solver:
I get the following when I run it:
Plus a set of vtus/case0001.pvtu which contains the mesh but no variable values. Is someone able to explain what I'm doing wrong?
Thanks
Matt
Under the body forces (BF3 refers to the basal boundary):
Code: Select all
Body Force 3
Zb Accumulation = Real 0.0e0
BDrag = Variable Coordinate 2
Real Procedure "ElmerIceUSF" "SlidCoef_Contact"
End
Code: Select all
Solver 11
Exec Solver = Always
Equation = Result Output
Procedure = "ResultOutputSolve" "ResultOutputSolver"
Vtu Format = Logical True
! Exported Variable 1 = BDrag
Vector Field 1 = String BDrag
! Scalar Field 1 = String Ne
End
Code: Select all
WARNING:: WriteVtuXMLFile: Nonexistent variable: bdrag
WARNING:: WriteVtuFile: Are there really no scalars or vectors?
Thanks
Matt
Re: Output basal drag and effective pressure
Hi Matt,
as I see it, there are three misunderstandings here:
1) SlidCoeff_Contact is a user function that would deliver you (based on grounding line dynamics) the corresponding sliding coefficient on the bedrock (you can switch the "Coulomb"-law in there). Hence, the BDrag value would be a scalar, rather than a vector and it would not contain the drag itself, but only the sliding coefficient
2) In view of the first issue, applying SlidCoeff_Contact in the body-force does not make sense to me. You also seem to not have declared BDrag as a variable somewhere else (preferably in a Solver executed on bedrock)
3) The effective pressure in SlidCoeff_Contact is either something you prescribe or is computed from the "External Pressure" (given in BC) and the Cauchy Stress tensor at the surface (see: http://elmerice.elmerfem.org/wiki/doku. ... ns:contact)
In order to resolve your problem, you should apply the sliding law, as is, and write out the computed the Stress (http://elmerice.elmerfem.org/wiki/doku. ... ers:stress); in fact, as you give the suffix .vtu in the post-processing file name in Simulation section, you do not need Solver 11. As you additionally export the surface normal (http://elmerice.elmerfem.org/wiki/doku. ... ers:normal), you can - for instance in ParaView - very easily compute the drag on the surface (you project stress tensor into normal direction and take the tangential part of the resulting vector)
Regards,
Thomas
as I see it, there are three misunderstandings here:
1) SlidCoeff_Contact is a user function that would deliver you (based on grounding line dynamics) the corresponding sliding coefficient on the bedrock (you can switch the "Coulomb"-law in there). Hence, the BDrag value would be a scalar, rather than a vector and it would not contain the drag itself, but only the sliding coefficient
2) In view of the first issue, applying SlidCoeff_Contact in the body-force does not make sense to me. You also seem to not have declared BDrag as a variable somewhere else (preferably in a Solver executed on bedrock)
3) The effective pressure in SlidCoeff_Contact is either something you prescribe or is computed from the "External Pressure" (given in BC) and the Cauchy Stress tensor at the surface (see: http://elmerice.elmerfem.org/wiki/doku. ... ns:contact)
In order to resolve your problem, you should apply the sliding law, as is, and write out the computed the Stress (http://elmerice.elmerfem.org/wiki/doku. ... ers:stress); in fact, as you give the suffix .vtu in the post-processing file name in Simulation section, you do not need Solver 11. As you additionally export the surface normal (http://elmerice.elmerfem.org/wiki/doku. ... ers:normal), you can - for instance in ParaView - very easily compute the drag on the surface (you project stress tensor into normal direction and take the tangential part of the resulting vector)
Regards,
Thomas
Re: Output basal drag and effective pressure
Thanks Thomas!