Exemplo n.º 1
0
sysArgs = sys.argv
utils.easy_args(sysArgs, pd)
utils.easy_args(sysArgs, md)

# ## Non-dimensionalisation
#
# This section defines a set of scaling parameters, which dertermine how the system will be non-dimensionalized.
#
# The `build_nondim_dict` function creates dimensionless versions of the parameter dictionaries (called `npd`, `nmd`)
#
# The Rayleigh number is defined, as well as a scale called `pressureDepthGrad', which is used to non-dimensonalise the  coefficient of friction , so it can written as a coefficient that multiplies the dimensionless depth (rather than the dimensionless pressure)

# In[36]:

scaling_coefficients = sca.get_coefficients()

#instead of importing from the params submodule, we'll explicity set the scaling values
KL = pd.refLength
KT = pd.potentialTemp - pd.surfaceTemp
Kt = KL**2 / pd.refDiffusivity  #we use a diffusive time scale
KM = pd.refViscosity * KL * Kt

scaling_coefficients["[length]"] = KL.to_base_units()
scaling_coefficients["[temperature]"] = KT.to_base_units()
scaling_coefficients["[mass]"] = KM.to_base_units()
scaling_coefficients["[time]"] = Kt.to_base_units()

#build the dimensionless paramter / model dictionaries
npd = params.build_nondim_dict(pd, sca)
nmd = params.build_nondim_dict(md, sca)
Exemplo n.º 2
0
from __future__ import print_function, absolute_import
import warnings

try:
    import underworld
    uw = underworld
except ImportError:
    raise ImportError(
        "Can not find Underworld, please check your installation")

from underworld.scaling import get_coefficients
from underworld.scaling import units as UnitRegistry
from underworld.scaling import non_dimensionalise
from underworld.scaling import dimensionalise

scaling_coefficients = get_coefficients()
nd = non_dimensionalise
dim = dimensionalise
u = UnitRegistry

try:
    import underworld.visualisation as visualisation
except ImportError:
    try:
        import glucifer as visualisation
    except ImportError:
        print("No visualisation module found")
        pass

import sys
import os
Exemplo n.º 3
0
from UWsubduction import params

paramDict_dim = pd
modelDict_dim = md

#####################
#Next, define a standard set of scale factors used to non-dimensionalize the system
#####################


KL = pd.refLength
KT = pd.potentialTemp - pd.surfaceTemp
Kt = KL**2/pd.refDiffusivity
KM = pd.refViscosity * KL * Kt

scaling_coefficients = sub_scaling.get_coefficients()

scaling_coefficients["[length]"]      = KL.to_base_units()
scaling_coefficients["[temperature]"] = KT.to_base_units()
scaling_coefficients["[mass]"]        = KM.to_base_units()
scaling_coefficients["[time]"] =        Kt.to_base_units()


#Moved to utils.py
#####################
#Now we map pd, md to non-nonDimensionalized dictionaries, paramDict, modelDict
#####################

#def build_nondim_dict(d, sca):
#    ndd = edict({})
#    for key, val in d.items():