Changeset 26178 for issm/trunk-jpl/src/m/classes/lovenumbers.py
- Timestamp:
- 04/08/21 03:45:11 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/m/classes/lovenumbers.py
r25688 r26178 1 import numpy as np2 3 1 from checkfield import checkfield 4 2 from fielddisplay import fielddisplay … … 8 6 9 7 10 class lovenumbers(object): #{{{8 class lovenumbers(object): #{{{ 11 9 """LOVENUMBERS class definition 12 10 13 11 Usage: 14 lovenumbers = lovenumbers() #will setup love numbers deg 1001 by default15 lovenumbers = lovenumbers('maxdeg', 10001); #supply numbers of degrees required (here, 10001)12 lovenumbers = lovenumbers() #will setup love numbers deg 1001 by default 13 lovenumbers = lovenumbers('maxdeg', 10001); #supply numbers of degrees required (here, 10001) 16 14 """ 17 15 18 def __init__(self, *args): #{{{16 def __init__(self, *args): #{{{ 19 17 # Regular love numbers 20 self.h = [] # Provided by PREM model21 self.k = [] # idem22 self.l = [] # idem18 self.h = [] # Provided by PREM model 19 self.k = [] # idem 20 self.l = [] # idem 23 21 24 22 # Tidal love numbers for computing rotational feedback … … 26 24 self.tk = [] 27 25 self.tl = [] 28 self.tk2secular = 0 # deg 2 secular number26 self.tk2secular = 0 # deg 2 secular number 29 27 30 28 options = pairoptions(*args) … … 34 32 #}}} 35 33 36 def setdefaultparameters(self, maxdeg, referenceframe): #{{{34 def setdefaultparameters(self, maxdeg, referenceframe): #{{{ 37 35 # Initialize love numbers 38 36 self.h = getlovenumbers('type', 'loadingverticaldisplacement', 'referenceframe', referenceframe, 'maxdeg', maxdeg) … … 48 46 #}}} 49 47 50 def checkconsistency(self, md, solution, analyses): #{{{51 if ('SealevelriseAnalysis' not in analyses) or (solution == 'TransientSolution' and not md.transient.issl r):48 def checkconsistency(self, md, solution, analyses): #{{{ 49 if ('SealevelriseAnalysis' not in analyses) or (solution == 'TransientSolution' and not md.transient.isslc): 52 50 return 53 51 md = checkfield(md, 'fieldname', 'solidearth.lovenumbers.h', 'NaN', 1, 'Inf', 1) … … 64 62 #}}} 65 63 66 def defaultoutputs(self, md): #{{{64 def defaultoutputs(self, md): #{{{ 67 65 return[] 68 66 #}}} 69 67 70 def __repr__(self): #{{{68 def __repr__(self): #{{{ 71 69 s = ' lovenumbers parameters:\n' 72 70 s += '{}\n'.format(fielddisplay(self, 'h', 'load Love number for radial displacement')) … … 79 77 #}}} 80 78 81 def marshall(self, prefix, md, fid): #{{{79 def marshall(self, prefix, md, fid): #{{{ 82 80 WriteData(fid, prefix, 'object', self, 'fieldname', 'h', 'name', 'md.solidearth.lovenumbers.h', 'format', 'DoubleMat', 'mattype', 1) 83 81 WriteData(fid, prefix, 'object', self, 'fieldname', 'k', 'name', 'md.solidearth.lovenumbers.k', 'format', 'DoubleMat', 'mattype', 1) … … 90 88 #}}} 91 89 92 def extrude(self, md): #{{{90 def extrude(self, md): #{{{ 93 91 return 94 92 #}}}
Note:
See TracChangeset
for help on using the changeset viewer.