def __repr__(self): # {{{ string=' masks:' string="%s\n%s"%(string,fielddisplay(self,'groundedice_levelset','is ice grounded ? grounded ice if > 0, grounding line position if = 0, floating ice if < 0')) string="%s\n%s"%(string,fielddisplay(self,'ice_levelset','presence of ice if < 0, icefront position if = 0, no ice if > 0')) string="%s\n%s"%(string,fielddisplay(self,'ocean_levelset','is the vertex on the ocean ? yes if = 1, no if = 0')) string="%s\n%s"%(string,fielddisplay(self,'land_levelset','is the vertex on the land ? yes if = 1, no if = 0')) return string
def __repr__(self): # {{{ string = " MISMIP+ basal melt parameterization\n" string = "%s\n%s" % ( string, fielddisplay(self, "groundedice_melting_rate", "basal melting rate (positive if melting) [m/yr]")) string = "%s\n%s" % ( string, fielddisplay( self, "meltrate_factor", "Melt-rate rate factor [1/yr] (sign is opposite to MISMIP+ benchmark to remain consistent with ISSM convention of positive values for melting)" )) string = "%s\n%s" % ( string, fielddisplay( self, "threshold_thickness", "Threshold thickness for saturation of basal melting [m]")) string = "%s\n%s" % (string, fielddisplay( self, "upperdepth_melt", "Depth above which melt rate is zero [m]")) string = "%s\n%s" % (string, fielddisplay(self, "geothermalflux", "Geothermal heat flux [W/m^2]")) return string
def __repr__(self): # {{{ string = "Weertman sliding law parameters: Sigma_b = C^(-1/m) * |u_b|^(1/m-1) * u_b" string = "%s\n%s" % ( string, fielddisplay(self, "C", "friction coefficient [SI]")) string = "%s\n%s" % (string, fielddisplay(self, "m", "m exponent")) return string
def __repr__(self): # {{{ s = " automatic differentiation parameters:\n" s += "%s\n" % fielddisplay( self, 'isautodiff', "indicates if the automatic differentiation is activated") s += "%s\n" % fielddisplay(self, 'dependents', "list of dependent variables") s += "%s\n" % fielddisplay(self, 'independents', "list of independent variables") s += "%s\n" % fielddisplay( self, 'driver', "ADOLC driver ('fos_forward' or 'fov_forward')") s += "%s\n" % fielddisplay( self, 'obufsize', "Number of operations per buffer (==OBUFSIZE in usrparms.h)") s += "%s\n" % fielddisplay( self, 'lbufsize', "Number of locations per buffer (==LBUFSIZE in usrparms.h)") s += "%s\n" % fielddisplay( self, 'cbufsize', "Number of values per buffer (==CBUFSIZE in usrparms.h)") s += "%s\n" % fielddisplay( self, 'tbufsize', "Number of taylors per buffer (<=TBUFSIZE in usrparms.h)") s += "%s\n" % fielddisplay( self, 'gcTriggerRatio', "free location block sorting/consolidation triggered if the ratio between allocated and used locations exceeds gcTriggerRatio" ) s += "%s\n" % fielddisplay( self, 'gcTriggerMaxSize', "free location block sorting/consolidation triggered if the allocated locations exceed gcTriggerMaxSize)" ) return s
def __repr__(self): # {{{ string = " surface forcings parameters:" string = "%s\n%s" % ( string, fielddisplay( self, 'isd18opd', 'is delta18o parametrisation from present day temperature and precipitation activated (0 or 1, default is 0)' )) string = "%s\n%s" % ( string, fielddisplay( self, 'desfac', 'desertification elevation factor (between 0 and 1, default is 0.5) [m]' )) string = "%s\n%s" % ( string, fielddisplay( self, 's0p', 'should be set to elevation from precip source (between 0 and a few 1000s m, default is 0) [m]' )) string = "%s\n%s" % ( string, fielddisplay( self, 's0t', 'should be set to elevation from temperature source (between 0 and a few 1000s m, default is 0) [m]' )) string = "%s\n%s" % ( string, fielddisplay(self, 'rlaps', 'present day lapse rate [degree/km]')) if self.isd18opd: string = "%s\n%s" % ( string, fielddisplay( self, 'temperatures_presentday', 'monthly present day surface temperatures [K], required if delta18o/mungsm is activated' )) string = "%s\n%s" % ( string, fielddisplay( self, 'precipitations_presentday', 'monthly surface precipitation [m/yr water eq], required if delta18o or mungsm is activated' )) string = "%s\n%s" % ( string, fielddisplay( self, 'delta18o', 'delta18o [per mil], required if pdd is activated and delta18o activated' )) string = "%s\n%s" % ( string, fielddisplay( self, 'dpermil', 'degree per mil, required if d18opd is activated')) string = "%s\n%s" % (string, fielddisplay(self, 'requested_outputs', 'additional outputs requested')) return string
def __repr__(self): # {{{ string=' balance thickness solution parameters:' string="%s\n%s"%(string,fielddisplay(self,'spcthickness','thickness constraints (NaN means no constraint) [m]')) string="%s\n%s"%(string,fielddisplay(self,'thickening_rate','ice thickening rate used in the mass conservation (dh/dt) [m/yr]')) string="%s\n%s"%(string,fielddisplay(self,'stabilization',"0: None, 1: SU, 2: SSA's artificial diffusivity, 3:DG")) return string
def __repr__(self): # {{{ string = "Basal shear stress parameters: Sigma_b = coefficient^2 * Neff ^r * |u_b|^(s-1) * u_b,\n(effective stress Neff=rho_ice*g*thickness+rho_water*g*bed, r=q/p and s=1/p)" string = "%s\n%s" % (string, fielddisplay(self, "coefficient", "friction coefficient [SI]")) string = "%s\n%s" % (string, fielddisplay(self, "p", "p exponent")) string = "%s\n%s" % (string, fielddisplay(self, "q", "q exponent")) return string
def __repr__(self): # {{{ string = " surface forcings parameters:" string = "%s\n%s" % (string, fielddisplay( self, 'mass_balance', 'surface mass balance [m/yr ice eq]')) string = "%s\n%s" % (string, fielddisplay(self, 'requested_outputs', 'additional outputs requested')) return string
def __repr__(self): # {{{ string = ' Calving parameters:' string = "%s\n%s" % (string, fielddisplay( self, 'calvingrate', 'calving rate at given location [m/a]')) string = "%s\n%s" % (string, fielddisplay( self, 'meltingrate', 'melting rate at given location [m/a]')) return string
def __repr__(self): # {{{ string = "Basal shear stress parameters: Sigma_b = min(coefficient^2 * Neff ^r * |u_b|^(s-1) * u_b,\n coefficientcoulomb^2 * rho_i * g * (h-h_f)), (effective stress Neff=rho_ice*g*thickness+rho_water*g*bed, r=q/p and s=1/p)." string = "%s\n%s" % ( string, fielddisplay(self, "coefficient", "power law (Weertman) friction coefficient [SI]")) string = "%s\n%s" % (string, fielddisplay(self, "coefficientcoulomb", "Coulomb friction coefficient [SI]")) string = "%s\n%s" % (string, fielddisplay(self, "p", "p exponent")) string = "%s\n%s" % (string, fielddisplay(self, "q", "q exponent")) return string
def __repr__(self): # {{{ string = " basal forcings parameters:" string = "%s\n%s" % ( string, fielddisplay(self, "groundedice_melting_rate", "basal melting rate (positive if melting) [m/yr]")) string = "%s\n%s" % ( string, fielddisplay(self, "floatingice_melting_rate", "basal melting rate (positive if melting) [m/yr]")) string = "%s\n%s" % (string, fielddisplay(self, "geothermalflux", "geothermal heat flux [W/m^2]")) return string
def __repr__(self): # {{{ s = " independent variable:\n" s += "%s\n" % fielddisplay( self, 'name', "variable name (must match corresponding String)") s += "%s\n" % fielddisplay(self, 'type', "type of variable ('vertex' or 'scalar')") if not np.isnan(self.fos_forward_index): s += "%s\n" % fielddisplay(self, 'fos_forward_index', "index for fos_foward driver of ADOLC") if np.any(np.logical_not(np.isnan(self.fov_forward_indices))): s += "%s\n" % fielddisplay( self, 'fov_forward_indices', "indices for fov_foward driver of ADOLC") return s
def __repr__(self): # {{{ string = " constants parameters:" string = "%s\n%s" % ( string, fielddisplay(self, "g", "gravitational acceleration [m/s^2]")) string = "%s\n%s" % ( string, fielddisplay(self, "yts", "number of seconds in a year [s/yr]")) string = "%s\n%s" % ( string, fielddisplay( self, "referencetemperature", "reference temperature used in the enthalpy model [K]")) return string
def __repr__(self): # {{{ string = " debug parameters:" string = "%s\n%s" % (string, fielddisplay(self, "valgrind", "use Valgrind to debug (0 or 1)")) string = "%s\n%s" % ( string, fielddisplay( self, "gprof", "use gnu-profiler to find out where the time is spent")) string = "%s\n%s" % (string, fielddisplay( self, 'profiling', 'enables profiling (memory, flops, time)')) return string
def __repr__(self): # {{{ string = " masks:" string = "%s\n%s" % ( string, fielddisplay( self, "groundedice_levelset", "is ice grounded ? grounded ice if > 0, grounding line position if = 0, floating ice if < 0" )) string = "%s\n%s" % ( string, fielddisplay( self, "ice_levelset", "presence of ice if < 0, icefront position if = 0, no ice if > 0" )) return string
def __repr__(self): # {{{ s = " dependent variable:\n" s += "%s\n" % fielddisplay( self, 'name', "variable name (must match corresponding String)") s += "%s\n" % fielddisplay(self, 'type', "type of variable ('vertex' or 'scalar')") if not np.isnan(self.fos_reverse_index): s += "%s\n" % fielddisplay( self, 'fos_reverse_index', "index for fos_reverse driver of ADOLC") if self.exp: s += "%s\n" % fielddisplay( self, 'exp', "file needed to compute dependent variable") s += "%s\n" % fielddisplay(self, 'segments', "mass flux segments") return s
def __repr__(self): # {{{ string = " surface forcings parameters (SMB=accumulation-runoff-evaporation) :" string = "%s\n%s" % (string, fielddisplay(self, 'accumulation', 'accumulated snow [m/yr ice eq]')) string = "%s\n%s" % ( string, fielddisplay( self, 'runoff', 'amount of ice melt lost from the ice column [m/yr ice eq]')) string = "%s\n%s" % ( string, fielddisplay( self, 'evaporation', 'mount of ice lost to evaporative processes [m/yr ice eq]')) string = "%s\n%s" % (string, fielddisplay(self, 'requested_outputs', 'additional outputs requested')) return string
def __repr__(self): # {{{ string = " Massfluxatgate:" string = "%s\n%s" % ( string, fielddisplay(self, 'name', 'identifier for this massfluxatgate response')) string = "%s\n%s" % ( string, fielddisplay( self, 'definitionstring', 'string that identifies this output definition uniquely, from Outputdefinition[1-10]' )) string = "%s\n%s" % ( string, fielddisplay( self, 'profilename', 'name of file (shapefile or argus file) defining a profile (or gate)' )) return string
def __repr__(self): # {{{ string = ' giaivins solution parameters:' string = "%s\n%s" % ( string, fielddisplay( self, 'mantle_viscosity', 'mantle viscosity constraints (NaN means no constraint) (Pa s)' )) string = "%s\n%s" % ( string, fielddisplay( self, 'lithosphere_thickness', 'lithosphere thickness constraints (NaN means no constraint) (m)' )) string = "%s\n%s" % ( string, fielddisplay(self, 'cross_section_shape', "1: square-edged, 2: elliptical-edged surface")) return string
def __repr__(self): # {{{ string = ' Masstransport solution parameters:' string = "%s\n%s" % ( string, fielddisplay( self, 'spcthickness', 'thickness constraints (NaN means no constraint) [m]')) string = "%s\n%s" % ( string, fielddisplay( self, 'isfreesurface', 'do we use free surfaces (FS only) are mass conservation')) string = "%s\n%s" % (string, fielddisplay(self, 'min_thickness', 'minimum ice thickness allowed [m]')) string = "%s\n%s" % ( string, fielddisplay( self, 'hydrostatic_adjustment', 'adjustment of ice shelves surface and bed elevations: ' 'Incremental' ' or ' 'Absolute' ' ')) string = "%s\n%s" % ( string, fielddisplay( self, 'stabilization', '0: no, 1: artificial_diffusivity, 2: streamline upwinding, 3: discontinuous Galerkin, 4: Flux Correction Transport' )) string = "%s\n%s" % (string, fielddisplay(self, 'requested_outputs', 'additional outputs requested')) return string
def __repr__(self): # {{{ string = ' esa parameters:' string = "%s\n%s" % ( string, fielddisplay(self, 'deltathickness', 'thickness change: ice height equivalent [m]')) string = "%s\n%s" % (string, fielddisplay( self, 'love_h', 'load Love number for radial displacement')) string = "%s\n%s" % ( string, fielddisplay(self, 'love_l', 'load Love number for horizontal displaements')) string = "%s\n%s" % ( string, fielddisplay( self, 'degacc', 'accuracy (default .01 deg) for numerical discretization of the Green' 's functions')) string = "%s\n%s" % ( string, fielddisplay( self, 'transitions', 'indices into parts of the mesh that will be icecaps')) string = "%s\n%s" % ( string, fielddisplay(self, 'requested_outputs', 'additional outputs requested (default: EsaUmotion)')) return string
def __repr__(self): # {{{ string = ' Level-set parameters:' string = "%s\n%s" % ( string, fielddisplay( self, 'stabilization', '0: no, 1: artificial_diffusivity, 2: streamline upwinding')) string = "%s\n%s" % ( string, fielddisplay(self, 'spclevelset', 'levelset constraints (NaN means no constraint)')) string = "%s\n%s" % ( string, fielddisplay( self, 'reinit_frequency', 'Amount of time steps after which the levelset function in re-initialized' )) string = "%s\n%s" % (string, fielddisplay( self, 'calving_max', 'maximum allowed calving rate (m/a)')) return string
def __repr__(self): # {{{ string = " surface forcings parameters with melt (SMB=accumulation-evaporation-melt+refreeze) :" string = "%s\n%s" % (string, fielddisplay(self, 'accumulation', 'accumulated snow [m/yr ice eq]')) string = "%s\n%s" % ( string, fielddisplay( self, 'evaporation', 'mount of ice lost to evaporative processes [m/yr ice eq]')) string = "%s\n%s" % ( string, fielddisplay(self, 'melt', 'amount of ice melt in the ice column [m/yr ice eq]')) string = "%s\n%s" % ( string, fielddisplay( self, 'refreeze', 'amount of ice melt refrozen in the ice column [m/yr ice eq]')) string = "%s\n%s" % (string, fielddisplay(self, 'requested_outputs', 'additional outputs requested')) return string
def __repr__(self): # {{{ # display the object s = "class cyclone object:" s = "%s\n%s" % (s, fielddisplay(self, 'name', 'name of the cluster')) s = "%s\n%s" % (s, fielddisplay(self, 'login', 'login')) s = "%s\n%s" % (s, fielddisplay(self, 'np', 'number of processes')) s = "%s\n%s" % ( s, fielddisplay(self, 'time', 'walltime requested in minutes')) s = "%s\n%s" % ( s, fielddisplay(self, 'codepath', 'code path on the cluster')) s = "%s\n%s" % (s, fielddisplay(self, 'executionpath', 'execution path on the cluster')) return s
def __repr__(self): # {{{ string = " surface forcings parameters:" string = "%s\n%s" % ( string, fielddisplay( self, 'issmbgradientsela', 'is smb gradients ela method activated (0 or 1, default is 0)') ) string = "%s\n%s" % ( string, fielddisplay( self, 'ela', ' equilibrium line altitude from which deviation is used to calculate smb using the smb gradients ela method [m a.s.l.]' )) string = "%s\n%s" % (string, fielddisplay( self, 'b_pos', ' vertical smb gradient (dB/dz) above ela')) string = "%s\n%s" % (string, fielddisplay( self, 'b_neg', ' vertical smb gradient (dB/dz) below ela')) string = "%s\n%s" % ( string, fielddisplay( self, 'b_max', ' upper cap on smb rate, default: 9999 (no cap) [m ice eq./yr]' )) string = "%s\n%s" % ( string, fielddisplay( self, 'b_min', ' lower cap on smb rate, default: -9999 (no cap) [m ice eq./yr]' )) string = "%s\n%s" % (string, fielddisplay(self, 'requested_outputs', 'additional outputs requested')) return string
def __repr__(self): # {{{ string = " surface forcings parameters:" string = "%s\n%s" % ( string, fielddisplay( self, 'issmbgradients', 'is smb gradients method activated (0 or 1, default is 0)')) string = "%s\n%s" % ( string, fielddisplay( self, 'href', ' reference elevation from which deviation is used to calculate SMB adjustment in smb gradients method' )) string = "%s\n%s" % ( string, fielddisplay( self, 'smbref', ' reference smb from which deviation is calculated in smb gradients method' )) string = "%s\n%s" % ( string, fielddisplay( self, 'b_pos', ' slope of hs - smb regression line for accumulation regime required if smb gradients is activated' )) string = "%s\n%s" % ( string, fielddisplay( self, 'b_neg', ' slope of hs - smb regression line for ablation regime required if smb gradients is activated' )) string = "%s\n%s" % (string, fielddisplay(self, 'requested_outputs', 'additional outputs requested')) return string
def __repr__(self): # {{{ string = ' flow equation parameters:' string = "%s\n%s" % ( string, fielddisplay(self, 'isSIA', "is the Shallow Ice Approximation (SIA) used ?")) string = "%s\n%s" % ( string, fielddisplay(self, 'isSSA', "is the Shelfy-Stream Approximation (SSA) used ?")) string = "%s\n%s" % ( string, fielddisplay(self, 'isL1L2', "are L1L2 equations used ?")) string = "%s\n%s" % ( string, fielddisplay(self, 'isHO', "is the Higher-Order (HO) approximation used ?")) string = "%s\n%s" % (string, fielddisplay( self, 'isFS', "are the Full-FS (FS) equations used ?")) string = "%s\n%s" % ( string, fielddisplay( self, 'fe_SSA', "Finite Element for SSA: 'P1', 'P1bubble' 'P1bubblecondensed' 'P2'" )) string = "%s\n%s" % ( string, fielddisplay( self, 'fe_HO', "Finite Element for HO: 'P1' 'P1bubble' 'P1bubblecondensed' 'P1xP2' 'P2xP1' 'P2'" )) string = "%s\n%s" % ( string, fielddisplay( self, 'fe_FS', "Finite Element for FS: 'P1P1' (debugging only) 'P1P1GLS' 'MINIcondensed' 'MINI' 'TaylorHood' 'LATaylorHood' 'XTaylorHood'" )) string = "%s\n%s" % (string, fielddisplay(self, 'vertex_equation', "flow equation for each vertex")) string = "%s\n%s" % (string, fielddisplay(self, 'element_equation', "flow equation for each element")) string = "%s\n%s" % (string, fielddisplay( self, 'borderSSA', "vertices on SSA's border (for tiling)")) string = "%s\n%s" % (string, fielddisplay( self, 'borderHO', "vertices on HO's border (for tiling)")) string = "%s\n%s" % (string, fielddisplay( self, 'borderFS', "vertices on FS' border (for tiling)")) return string
def __repr__(self): # {{{ string = " surface forcings parameters:" string = "%s\n%s" % ( string, fielddisplay( self, 'isdelta18o', 'is temperature and precipitation delta18o parametrisation activated (0 or 1, default is 0)' )) string = "%s\n%s" % ( string, fielddisplay( self, 'ismungsm', 'is temperature and precipitation mungsm parametrisation activated (0 or 1, default is 0)' )) string = "%s\n%s" % ( string, fielddisplay( self, 'desfac', 'desertification elevation factor (between 0 and 1, default is 0.5) [m]' )) string = "%s\n%s" % ( string, fielddisplay( self, 's0p', 'should be set to elevation from precip source (between 0 and a few 1000s m, default is 0) [m]' )) string = "%s\n%s" % ( string, fielddisplay( self, 's0t', 'should be set to elevation from temperature source (between 0 and a few 1000s m, default is 0) [m]' )) string = "%s\n%s" % ( string, fielddisplay(self, 'rlaps', 'present day lapse rate [degree/km]')) string = "%s\n%s" % (string, fielddisplay(self, 'rlapslgm', 'LGM lapse rate [degree/km]')) if not (self.isdelta18o and self.ismungsm): string = "%s\n%s" % ( string, fielddisplay(self, 'monthlytemperatures', [ 'monthly surface temperatures [K], required if pdd is activated and delta18o not activated' ])) string = "%s\n%s" % ( string, fielddisplay(self, 'precipitation', [ 'monthly surface precipitation [m/yr water eq], required if pdd is activated and delta18o or mungsm not activated' ])) if self.isdelta18o: string = "%s\n%s" % ( string, fielddisplay( self, 'delta18o', 'delta18o [per mil], required if pdd is activated and delta18o activated' )) string = "%s\n%s" % ( string, fielddisplay( self, 'delta18o_surface', 'surface elevation of the delta18o site, required if pdd is activated and delta18o activated' )) string = "%s\n%s" % ( string, fielddisplay( self, 'temperatures_presentday', 'monthly present day surface temperatures [K], required if delta18o/mungsm is activated' )) string = "%s\n%s" % ( string, fielddisplay( self, 'temperatures_lgm', 'monthly LGM surface temperatures [K], required if delta18o or mungsm is activated' )) string = "%s\n%s" % ( string, fielddisplay( self, 'precipitations_presentday', 'monthly surface precipitation [m/yr water eq], required if delta18o or mungsm is activated' )) string = "%s\n%s" % ( string, fielddisplay( self, 'precipitations_lgm', 'monthly surface precipitation [m/yr water eq], required if delta18o or mungsm is activated' )) string = "%s\n%s" % ( string, fielddisplay( self, 'Tdiff', 'time interpolation parameter for temperature, 1D(year), required if mungsm is activated' )) string = "%s\n%s" % ( string, fielddisplay( self, 'sealev', 'sea level [m], 1D(year), required if mungsm is activated' )) if self.ismungsm: string = "%s\n%s" % ( string, fielddisplay( self, 'temperatures_presentday', 'monthly present day surface temperatures [K], required if delta18o/mungsm is activated' )) string = "%s\n%s" % ( string, fielddisplay( self, 'temperatures_lgm', 'monthly LGM surface temperatures [K], required if delta18o or mungsm is activated' )) string = "%s\n%s" % ( string, fielddisplay( self, 'precipitations_presentday', 'monthly surface precipitation [m/yr water eq], required if delta18o or mungsm is activated' )) string = "%s\n%s" % ( string, fielddisplay( self, 'precipitations_lgm', 'monthly surface precipitation [m/yr water eq], required if delta18o or mungsm is activated' )) string = "%s\n%s" % ( string, fielddisplay( self, 'Pfac', 'time interpolation parameter for precipitation, 1D(year), required if mungsm is activated' )) string = "%s\n%s" % ( string, fielddisplay( self, 'Tdiff', 'time interpolation parameter for temperature, 1D(year), required if mungsm is activated' )) string = "%s\n%s" % ( string, fielddisplay( self, 'sealev', 'sea level [m], 1D(year), required if mungsm is activated' )) string = "%s\n%s" % (string, fielddisplay(self, 'requested_outputs', 'additional outputs requested')) return string
def __repr__(self): # {{{ string=' Calving Levermann parameters:' string="%s\n%s"%(string,fielddisplay(self,'coeff','proportionality coefficient in Levermann model')) string="%s\n%s"%(string,fielddisplay(self,'meltingrate','melting rate at given location [m/a]')) return string
def __repr__(self): # {{{ s = ' Damage:\n' s += "%s\n" % fielddisplay( self, "isdamage", "is damage mechanics being used? [0 (default) or 1]") if self.isdamage: s += "%s\n" % fielddisplay(self, "D", "damage tensor (scalar for now)") s += "%s\n" % fielddisplay( self, "law", "damage law ['0: analytical','1: pralong']") s += "%s\n" % fielddisplay( self, "spcdamage", "damage constraints (NaN means no constraint)") s += "%s\n" % fielddisplay( self, "max_damage", "maximum possible damage (0<=max_damage<1)") s += "%s\n" % fielddisplay( self, "stabilization", "0: no, 1: artificial_diffusivity, 2: SUPG (not working), 4: Flux corrected transport" ) s += "%s\n" % fielddisplay( self, "maxiter", "maximum number of non linear iterations") s += "%s\n" % fielddisplay( self, "elementinterp", "interpolation scheme for finite elements [''P1'',''P2'']") s += "%s\n" % fielddisplay( self, "stress_threshold", "stress threshold for damage initiation [Pa]") s += "%s\n" % fielddisplay( self, "kappa", "ductility parameter for stress softening and damage [>1]") s += "%s\n" % fielddisplay(self, "c1", "damage parameter 1 ") s += "%s\n" % fielddisplay(self, "c2", "damage parameter 2 ") s += "%s\n" % fielddisplay(self, "c3", "damage parameter 3 ") s += "%s\n" % fielddisplay(self, "c4", "damage parameter 4 ") s += "%s\n" % fielddisplay(self, "healing", "damage healing parameter") s += "%s\n" % fielddisplay(self, "equiv_stress", "0: von Mises, 1: max principal") s += "%s\n" % fielddisplay(self, 'requested_outputs', 'additional outputs requested') return s