--- Welcome to the official ADCIRCWiki site! The site is currently under construction, with limited information. ---

For general information, see the ADCIRC site, ADCIRC FAQ, or the ADCIRC Wikipedia page. For model documentation not yet available on the wiki, see the ADCIRC site. New content is being continuously added to the ADCIRCWiki, and material from the main ADCIRC site will be gradually transitioned over to the wiki.

User:Taylorgasher: Difference between revisions

From ADCIRCWiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(41 intermediate revisions by the same user not shown)
Line 1: Line 1:
My user page
My user page
== test ==
:<math> \mathbf y_t + \mathbf A(\mathbf y) \mathbf y_x = 0.</math>


== etc. ==
<nowiki><nowiki>'''not bold text'''  ''not italic text''  not ADC version {{ADC version|version=-4E7|relation=ge}} </nowiki></nowiki>


<nowiki>A redirect: #REDIRECT [[Fort.13_file#Nodal_Attributes]]</nowiki>


==General continuum equations==
<nowiki><!--comment text<br/>
{{Main|Derivation of the Navier–Stokes equations}}
{{see also|Cauchy momentum equation#Conservation form}}


The Navier–Stokes momentum equation can be derived as a particular form of the [[Cauchy momentum equation]], whose general convective form is
:<math> \frac{D \mathbf{u}}{D t} = \frac 1 \rho \nabla \cdot \boldsymbol{\sigma} + \mathbf{g}</math>
By setting the [[Cauchy stress tensor]] <math>\boldsymbol\sigma</math> to be the sum of a viscosity term <math>\boldsymbol\tau</math> (the [[Cauchy stress tensor#Stress deviator tensor|deviatoric stress]]) and a pressure term <math>-p\mathbf{I}</math> (volumetric stress) we arrive at


{{Equation box 1
(that can span multiple lines in the code)--></nowiki><!--the real comment text, sucka!!!-->
|indent=:
|title='''Cauchy momentum equation''' ''(convective form)''
|equation=<math>
\rho\frac{D\mathbf{u}}{Dt} = - \nabla p + \nabla \cdot \boldsymbol \tau + \rho\,\mathbf{g}
</math>
|cellpadding
|border
|border colour = #50C878
|background colour = #ECFCF4
}}


where
== syntax highlivin ==
* <math>\frac{D}{Dt}</math> is the [[convective derivative]],
monty
* {{math|''ρ''}} is the density,
<syntaxhighlight lang="python" line='line'>
* {{math|'''u'''}} is the flow velocity,
def quick_sort(arr):
* <math>\nabla\cdot</math> is the [[divergence]],
less = []
* {{math|''p''}} is the [[pressure]],
pivot_list = []
* {{math|''t''}} is [[time]],
more = []
* <math>\boldsymbol\tau</math> is the derivatoric stress tensor, which has order two,
if len(arr) <= 1:
* {{math|'''g'''}} represents [[body force|body acceleration]]s acting on the continuum, for example [[gravity]], [[Fictitious force|inertial accelerations]], [[Coulomb's law|electrostatic accelerations]], and so on,
return arr
else:
pass
</syntaxhighlight>


In this form, it is apparent that in the assumption of an inviscid fluid -no deviatoric stress- Cauchy equations reduce to the [[Euler equations (fluid dynamics)|Euler equations]].
fortless
<syntaxhighlight lang="fortran" line='line'>
!      I N I T  W I N D  M O D U L E
!    ----------------------------------------------------------------
      subroutine initWindModule()
      use mesh, only : np
      call setMessageSource("initWindModule")
#if defined(WIND_TRACE) || defined(ALL_TRACE)
      call allMessage(DEBUG,"Enter.")
#endif
      allocate ( wvnx1(np),wvny1(np) )
      allocate ( wvnx2(np),wvny2(np) )
      allocate ( prn1(np) )
      allocate ( prn2(np) )


Assuming [[conservation of mass]] we can use the [[Continuity_equation#Differential_form|continuity equation]], <math>\frac{\partial \rho}{\partial t} + \nabla \cdot (\rho\,\mathbf{u}) = 0</math> to arrive to the conservation form of the equations of motion. This is often written:<ref>Batchelor (1967) pp. 137 & 142.</ref>
C      well this commenting approach does not work
      if(yourMom.eq.fat)then
        write(*,*)'ahahahahaha'
      endif  !looks like this doesn't work
        IF((EyeLat(1).EQ.0.D0).OR.(EyeLon(1).EQ.0.D0).OR.
    &      (EyeLat(2).EQ.0.D0).OR.(EyeLon(2).EQ.0.D0).OR.
    &     (EyeLat(3).EQ.0.D0).OR.(EyeLon(3).EQ.0.D0))THEN
            FoundEye = .FALSE.
        ENDIF


{{Equation box 1
!.... tcm v49.16 20100617 added
|indent=:
!.... convert background pressure from millibars to meters of water
|title='''Cauchy momentum equation''' ''(conservation form)''
      PRBCKGRND_MH2O = 100.0D0*PRBCKGRND/(RHOWAT0*G)
|equation=<math>
      prn1 = PRBCKGRND_MH2O
\frac {\partial}{\partial t} (\rho\,\mathbf{u})
      prn2 = PRBCKGRND_MH2O
  + \nabla \cdot (\rho\,\mathbf{u} \otimes \mathbf{u})
= - \nabla p + \nabla \cdot \boldsymbol \tau + \rho\,\mathbf{g}
</math>
|cellpadding
|border
|border colour = #50C878
|background colour = #ECFCF4
}}


where {{math|⊗}} is the [[outer product]]:
      CALL checkWindDragType()
::<math>\mathbf u \otimes \mathbf v = \mathbf u \mathbf v^{\mathrm T}.</math>
      CALL mapWindDragFunctionPointer()


The left side of the equation describes acceleration, and may be composed of time-dependent and convective components (also the effects of non-inertial coordinates if present). The right side of the equation is in effect a summation of hydrostatic effects, the divergence of deviatoric stress and body forces (such as gravity).
#if defined(WIND_TRACE) || defined(ALL_TRACE)
      call allMessage(DEBUG,"Return.")
#endif
      call unsetMessageSource()


All non-relativistic balance equations, such as the Navier–Stokes equations, can be derived by beginning with the Cauchy equations and specifying the stress tensor through a [[constitutive relation]]. By expressing the deviatoric (shear) stress tensor in terms of [[viscosity]] and the fluid [[Shear velocity|velocity]] gradient, and assuming constant viscosity, the above Cauchy equations will lead to the Navier–Stokes equations below.
!    ----------------------------------------------------------------
      END SUBROUTINE initWindModule
!    ----------------------------------------------------------------
</syntaxhighlight>
== some mats ==
:<math>a_b(c)=\left ( \frac{de^2}{\sqrt[6]{f+\alpha(\beta)}} \right ) ^{\Tau^\tau}</math>


===Convective acceleration===
{{see also|Cauchy momentum equation#Convective acceleration}}
[[Image:ConvectiveAcceleration vectorized.svg|thumb|An example of convection. Though the flow may be steady (time-independent), the fluid decelerates as it moves down the diverging duct (assuming incompressible or subsonic compressible flow), hence there is an acceleration happening over position.]]


A significant feature of the Cauchy equation and consequently all other continuum equations (including Euler and Navier–Stokes) is the presence of convective acceleration: the effect of acceleration of a flow with respect to space. While individual fluid particles indeed experience time-dependent acceleration, the convective acceleration of the flow field is a spatial effect, one example being fluid speeding up in a nozzle.
<!--:<math>\{A|A\in\mathbb{E}\land\}</math>-->
 
:<math>\{ A \mid A \in \mathbb{E} \land \mathbb{E} - (N \cup R) \} </math>
for <math>A</math> Andrew, <math>\mathbb{E}</math> the entire space, <math>N</math> Nickelback fans, and <math>R</math> Republicans.
 
== linky ==
<nowiki>[[#test table| link to subsection or anchor in same page]]</nowiki>[[#test table| link to subsection or anchor in same page]]
 
== test table ==
but
 
{| class="wikitable"
|-
| apple || pear
|-
| orange || grape
|}
 
srsly
 
{| style="background-color: orange; border-style: solid; border-width: 2px"
|-
|
{| style="border-style: solid; border-width: 4px"
  | ap || ple
          |}
            |
            {| style="border-style: solid; border-width: 4px"
                | pe || ar
                    |}
|-
|
{| style="border-style: solid; border-width: 4px"
  | ora || nge
          |}
            |
            {| style="border-style: solid; border-width: 4px"
              | gr || ape
                    |}
|}
 
Some norma text
 
 
== wind drag in/out notes ==
see email with John, subject line "Outputting wind drag coefficients"
 
 
winddrag.173
or
winddrag.173.nc
 
outputWindDrag=.true.
 
&metControl
 
from ncdump -h winddrag.173.nc: 
 
        double winddrag(time, node) ;
                winddrag:long_name = "wind drag coefficient at sea level" ;
                winddrag:standard_name = "wind drag coefficient" ;
                winddrag:coordinates = "time y x" ;
                winddrag:location = "node" ;
                winddrag:mesh = "adcirc_mesh" ;
                winddrag:units = "unitless" ;
                winddrag:_FillValue = -99999. ;
 
 
 
 
 
== test transclus ==
<!--{{:Manning's n at sea floor#model specification}}-->
 
 
 
 
== yup ==
Internal tide energy conversion refers to the energy conversion from barotropic to baroclinic modes as surface tides flow over steep and rough topography in the deep ocean generating internal tides. The "lost" barotropic tidal energy is often accounted for through a linear friction term in large-scale numerical models that are barotropic or not fine-scaled enough to resolve the energy conversion. It is implemented in ADCIRC through a spatially varying [[nodal attribute]] called [[internal_tide_friction]], in the [[fort.13 file]].
 
== Background and Theory ==
For a review.<ref>C. Garrett, E. Kunze, Internal Tide Generation in the Deep Ocean, Annu. Rev. Fluid Mech. 39 (2007) 57–87. doi:10.1146/annurev.fluid.39.050905.110227.</ref>
 
How it was known that internal energy conversion is important to the global energy balance of the surface tides.<ref>G.D. Egbert, R.D. Ray, Significant dissipation of tidal energy in the deep ocean inferred from satellite altimeter data, Nature. 405 (2000) 775–778. doi:10.1038/35015531</ref><ref>G.D. Egbert, R.D. Ray, Estimates of M2 tidal energy dissipation from TOPEX/Poseidon altimeter data, J. Geophys. Res. Ocean. 106 (2001) 22475–22502. doi:10.1029/2000JC000699.</ref>
 
== Attribute Summary ==
In a computational domain covering a large portion of the deep ocean it is critical to include the effect of internal tide energy conversion to obtain more accurate tidal solutions. The user should only elect to use the internal_tide_friction nodal attribute when tides are included in the simulation through tidal boundary conditions and tidal potential functions. The attribute is unnecessary for domains that are small in size and/or do not cover a significant portion of the deep ocean (taken here to mean the portion of the ocean excluding the continental shelf).
 
ADCIRC reads the internal_tide_friction attribute in as the ''IT_Fric'' variable, which can have 1 (scalar) or 3 (tensor) dimensions. The attribute has dimensions of [1/time], meaning that it is a linear friction term which is multiplied by the velocity in the governing equations, and is normalized by the ocean depth prior to simulation. Hence, it ignores the water surface elevation portion of the total water depth, which is reasonable since the term and theory it is based on is only applicable to deep ocean. Typically, it is only applied to ocean depths greater than 100-500 m.
 
== Specifying ''IT_Fric'' Values ==
''IT_Fric'' values are determined through analytical formulations based on Bell's linear theory<ref name="Bell1975">{{cite journal|last1=Bell|first1=T.H.|title=Topographically generated internal waves in the open ocean|journal=Journal of Geophysical Research|volume=80|year=1975|pages=320–327|doi=10.1029/JC080i003p00320}}</ref>, valid in what is called sub-critical topography.
 
Recent publications using ADCIRC<ref>W.J. Pringle, D. Wirasaet, A. Suhardjo, J. Meixner, J.J. Westerink, A.B. Kennedy, S. Nong, Finite-Element Barotropic Model for the Indian and Western Pacific Oceans: Tidal Model-Data Comparisons and Sensitivities, Ocean Model. 129 (2018) 13–38. doi:10.1016/j.ocemod.2018.07.003.</ref><ref>W.J. Pringle, D. Wirasaet, J.J. Westerink, Modifications to Internal Tide Conversion Parameterizations and Implementation into Barotropic Ocean Models, EarthArXiv. (2018) 9. doi:10.31223/osf.io/84w53.</ref> provide relevant formulation and implementation details.  
 
==References==
{{Reflist}}

Latest revision as of 12:36, 24 June 2022

My user page

etc.

<nowiki>'''not bold text''' ''not italic text'' not ADC version {{ADC version|version=-4E7|relation=ge}} </nowiki>

A redirect: #REDIRECT [[Fort.13_file#Nodal_Attributes]]

<!--comment text<br/> (that can span multiple lines in the code)-->

syntax highlivin

monty

def quick_sort(arr):
	less = []
	pivot_list = []
	more = []
	if len(arr) <= 1:
		return arr
	else:
		pass

fortless

!       I N I T   W I N D   M O D U L E
!     ----------------------------------------------------------------
      subroutine initWindModule()
      use mesh, only : np
      call setMessageSource("initWindModule")
#if defined(WIND_TRACE) || defined(ALL_TRACE)
      call allMessage(DEBUG,"Enter.")
#endif
      allocate ( wvnx1(np),wvny1(np) )
      allocate ( wvnx2(np),wvny2(np) )
      allocate ( prn1(np) )
      allocate ( prn2(np) )

C      well this commenting approach does not work
      if(yourMom.eq.fat)then
         write(*,*)'ahahahahaha'
      endif   !looks like this doesn't work
         IF((EyeLat(1).EQ.0.D0).OR.(EyeLon(1).EQ.0.D0).OR.
     &      (EyeLat(2).EQ.0.D0).OR.(EyeLon(2).EQ.0.D0).OR.
     &      (EyeLat(3).EQ.0.D0).OR.(EyeLon(3).EQ.0.D0))THEN
            FoundEye = .FALSE.
         ENDIF

!.... tcm v49.16 20100617 added
!.... convert background pressure from millibars to meters of water
      PRBCKGRND_MH2O = 100.0D0*PRBCKGRND/(RHOWAT0*G)
      prn1 = PRBCKGRND_MH2O
      prn2 = PRBCKGRND_MH2O

      CALL checkWindDragType()
      CALL mapWindDragFunctionPointer()

#if defined(WIND_TRACE) || defined(ALL_TRACE)
      call allMessage(DEBUG,"Return.")
#endif
      call unsetMessageSource()

!     ----------------------------------------------------------------
      END SUBROUTINE initWindModule
!     ----------------------------------------------------------------

some mats


for Andrew, the entire space, Nickelback fans, and Republicans.

linky

[[#test table| link to subsection or anchor in same page]] link to subsection or anchor in same page

test table

but

apple pear
orange grape

srsly

ap ple
pe ar
ora nge
gr ape

Some norma text


wind drag in/out notes

see email with John, subject line "Outputting wind drag coefficients"


winddrag.173 or winddrag.173.nc

outputWindDrag=.true.

&metControl

from ncdump -h winddrag.173.nc:

       double winddrag(time, node) ;
               winddrag:long_name = "wind drag coefficient at sea level" ;
               winddrag:standard_name = "wind drag coefficient" ;
               winddrag:coordinates = "time y x" ;
               winddrag:location = "node" ;
               winddrag:mesh = "adcirc_mesh" ;
               winddrag:units = "unitless" ;
               winddrag:_FillValue = -99999. ;



test transclus

== yup ==

Internal tide energy conversion refers to the energy conversion from barotropic to baroclinic modes as surface tides flow over steep and rough topography in the deep ocean generating internal tides. The "lost" barotropic tidal energy is often accounted for through a linear friction term in large-scale numerical models that are barotropic or not fine-scaled enough to resolve the energy conversion. It is implemented in ADCIRC through a spatially varying nodal attribute called internal_tide_friction, in the fort.13 file.

Background and Theory

For a review.[1]

How it was known that internal energy conversion is important to the global energy balance of the surface tides.[2][3]

Attribute Summary

In a computational domain covering a large portion of the deep ocean it is critical to include the effect of internal tide energy conversion to obtain more accurate tidal solutions. The user should only elect to use the internal_tide_friction nodal attribute when tides are included in the simulation through tidal boundary conditions and tidal potential functions. The attribute is unnecessary for domains that are small in size and/or do not cover a significant portion of the deep ocean (taken here to mean the portion of the ocean excluding the continental shelf).

ADCIRC reads the internal_tide_friction attribute in as the IT_Fric variable, which can have 1 (scalar) or 3 (tensor) dimensions. The attribute has dimensions of [1/time], meaning that it is a linear friction term which is multiplied by the velocity in the governing equations, and is normalized by the ocean depth prior to simulation. Hence, it ignores the water surface elevation portion of the total water depth, which is reasonable since the term and theory it is based on is only applicable to deep ocean. Typically, it is only applied to ocean depths greater than 100-500 m.

Specifying IT_Fric Values

IT_Fric values are determined through analytical formulations based on Bell's linear theory[4], valid in what is called sub-critical topography.

Recent publications using ADCIRC[5][6] provide relevant formulation and implementation details.

References

Template:Reflist

  1. C. Garrett, E. Kunze, Internal Tide Generation in the Deep Ocean, Annu. Rev. Fluid Mech. 39 (2007) 57–87. doi:10.1146/annurev.fluid.39.050905.110227.
  2. G.D. Egbert, R.D. Ray, Significant dissipation of tidal energy in the deep ocean inferred from satellite altimeter data, Nature. 405 (2000) 775–778. doi:10.1038/35015531
  3. G.D. Egbert, R.D. Ray, Estimates of M2 tidal energy dissipation from TOPEX/Poseidon altimeter data, J. Geophys. Res. Ocean. 106 (2001) 22475–22502. doi:10.1029/2000JC000699.
  4. Template:Cite journal
  5. W.J. Pringle, D. Wirasaet, A. Suhardjo, J. Meixner, J.J. Westerink, A.B. Kennedy, S. Nong, Finite-Element Barotropic Model for the Indian and Western Pacific Oceans: Tidal Model-Data Comparisons and Sensitivities, Ocean Model. 129 (2018) 13–38. doi:10.1016/j.ocemod.2018.07.003.
  6. W.J. Pringle, D. Wirasaet, J.J. Westerink, Modifications to Internal Tide Conversion Parameterizations and Implementation into Barotropic Ocean Models, EarthArXiv. (2018) 9. doi:10.31223/osf.io/84w53.