Renamed object 'create' function to 'build'

这个提交包含在:
craig-warren
2023-12-05 10:11:02 +00:00
父节点 12742b2849
当前提交 8657e000a7
共有 18 个文件被更改,包括 55 次插入52 次删除

查看文件

@@ -64,7 +64,7 @@ class AddGrass(UserObjectGeometry):
self.kwargs["p1"] = tuple(rot_pts[0, :]) self.kwargs["p1"] = tuple(rot_pts[0, :])
self.kwargs["p2"] = tuple(rot_pts[1, :]) self.kwargs["p2"] = tuple(rot_pts[1, :])
def create(self, grid, uip): def build(self, grid, uip):
"""Add Grass to fractal box.""" """Add Grass to fractal box."""
try: try:
p1 = self.kwargs["p1"] p1 = self.kwargs["p1"]

查看文件

@@ -65,7 +65,7 @@ class AddSurfaceRoughness(UserObjectGeometry):
self.kwargs["p1"] = tuple(rot_pts[0, :]) self.kwargs["p1"] = tuple(rot_pts[0, :])
self.kwargs["p2"] = tuple(rot_pts[1, :]) self.kwargs["p2"] = tuple(rot_pts[1, :])
def create(self, grid, uip): def build(self, grid, uip):
try: try:
p1 = self.kwargs["p1"] p1 = self.kwargs["p1"]
p2 = self.kwargs["p2"] p2 = self.kwargs["p2"]

查看文件

@@ -60,7 +60,7 @@ class AddSurfaceWater(UserObjectGeometry):
self.kwargs["p1"] = tuple(rot_pts[0, :]) self.kwargs["p1"] = tuple(rot_pts[0, :])
self.kwargs["p2"] = tuple(rot_pts[1, :]) self.kwargs["p2"] = tuple(rot_pts[1, :])
def create(self, grid, uip): def build(self, grid, uip):
""" "Create surface water on fractal box.""" """ "Create surface water on fractal box."""
try: try:
p1 = self.kwargs["p1"] p1 = self.kwargs["p1"]

查看文件

@@ -60,7 +60,7 @@ class Box(UserObjectGeometry):
self.kwargs["p1"] = tuple(rot_pts[0, :]) self.kwargs["p1"] = tuple(rot_pts[0, :])
self.kwargs["p2"] = tuple(rot_pts[1, :]) self.kwargs["p2"] = tuple(rot_pts[1, :])
def create(self, grid, uip): def build(self, grid, uip):
try: try:
p1 = self.kwargs["p1"] p1 = self.kwargs["p1"]
p2 = self.kwargs["p2"] p2 = self.kwargs["p2"]

查看文件

@@ -45,7 +45,7 @@ class UserObjectGeometry:
return f"{self.hash}: {s[:-1]}" return f"{self.hash}: {s[:-1]}"
def create(self, grid, uip): def build(self, grid, uip):
"""Creates object and adds it to the grid.""" """Creates object and adds it to the grid."""
pass pass

查看文件

@@ -48,7 +48,7 @@ class Cone(UserObjectGeometry):
super().__init__(**kwargs) super().__init__(**kwargs)
self.hash = "#cone" self.hash = "#cone"
def create(self, grid, uip): def build(self, grid, uip):
try: try:
p1 = self.kwargs["p1"] p1 = self.kwargs["p1"]
p2 = self.kwargs["p2"] p2 = self.kwargs["p2"]

查看文件

@@ -46,7 +46,7 @@ class Cylinder(UserObjectGeometry):
super().__init__(**kwargs) super().__init__(**kwargs)
self.hash = "#cylinder" self.hash = "#cylinder"
def create(self, grid, uip): def build(self, grid, uip):
try: try:
p1 = self.kwargs["p1"] p1 = self.kwargs["p1"]
p2 = self.kwargs["p2"] p2 = self.kwargs["p2"]

查看文件

@@ -55,7 +55,7 @@ class CylindricalSector(UserObjectGeometry):
super().__init__(**kwargs) super().__init__(**kwargs)
self.hash = "#cylindrical_sector" self.hash = "#cylindrical_sector"
def create(self, grid, uip): def build(self, grid, uip):
try: try:
normal = self.kwargs["normal"].lower() normal = self.kwargs["normal"].lower()
ctr1 = self.kwargs["ctr1"] ctr1 = self.kwargs["ctr1"]

查看文件

@@ -54,7 +54,7 @@ class Edge(UserObjectGeometry):
self.kwargs["p1"] = tuple(rot_pts[0, :]) self.kwargs["p1"] = tuple(rot_pts[0, :])
self.kwargs["p2"] = tuple(rot_pts[1, :]) self.kwargs["p2"] = tuple(rot_pts[1, :])
def create(self, grid, uip): def build(self, grid, uip):
"""Creates edge and adds it to the grid.""" """Creates edge and adds it to the grid."""
try: try:
p1 = self.kwargs["p1"] p1 = self.kwargs["p1"]

查看文件

@@ -45,7 +45,7 @@ class Ellipsoid(UserObjectGeometry):
super().__init__(**kwargs) super().__init__(**kwargs)
self.hash = "#ellipsoid" self.hash = "#ellipsoid"
def create(self, grid, uip): def build(self, grid, uip):
try: try:
p1 = self.kwargs["p1"] p1 = self.kwargs["p1"]
xr = self.kwargs["xr"] xr = self.kwargs["xr"]

查看文件

@@ -39,7 +39,7 @@ class GeometryObjectsRead(UserObjectGeometry):
def rotate(self, axis, angle, origin=None): def rotate(self, axis, angle, origin=None):
pass pass
def create(self, grid, uip): def build(self, grid, uip):
"""Creates the object and adds it to the grid.""" """Creates the object and adds it to the grid."""
try: try:
p1 = self.kwargs["p1"] p1 = self.kwargs["p1"]

查看文件

@@ -55,7 +55,7 @@ class Plate(UserObjectGeometry):
self.kwargs["p1"] = tuple(rot_pts[0, :]) self.kwargs["p1"] = tuple(rot_pts[0, :])
self.kwargs["p2"] = tuple(rot_pts[1, :]) self.kwargs["p2"] = tuple(rot_pts[1, :])
def create(self, grid, uip): def build(self, grid, uip):
try: try:
p1 = self.kwargs["p1"] p1 = self.kwargs["p1"]
p2 = self.kwargs["p2"] p2 = self.kwargs["p2"]

查看文件

@@ -43,7 +43,7 @@ class Sphere(UserObjectGeometry):
super().__init__(**kwargs) super().__init__(**kwargs)
self.hash = "#sphere" self.hash = "#sphere"
def create(self, grid, uip): def build(self, grid, uip):
try: try:
p1 = self.kwargs["p1"] p1 = self.kwargs["p1"]
r = self.kwargs["r"] r = self.kwargs["r"]

查看文件

@@ -63,7 +63,7 @@ class Triangle(UserObjectGeometry):
self.kwargs["p2"] = tuple(p2) self.kwargs["p2"] = tuple(p2)
self.kwargs["p3"] = tuple(p3) self.kwargs["p3"] = tuple(p3)
def create(self, grid, uip): def build(self, grid, uip):
try: try:
up1 = self.kwargs["p1"] up1 = self.kwargs["p1"]
up2 = self.kwargs["p2"] up2 = self.kwargs["p2"]

查看文件

@@ -66,7 +66,7 @@ class UserObjectMulti:
return f"{self.hash}: {s[:-1]}" return f"{self.hash}: {s[:-1]}"
def create(self, grid, uip): def build(self, grid, uip):
"""Creates object and adds it to grid.""" """Creates object and adds it to grid."""
pass pass
@@ -105,7 +105,7 @@ class ExcitationFile(UserObjectMulti):
self.order = 1 self.order = 1
self.hash = "#excitation_file" self.hash = "#excitation_file"
def create(self, grid, uip): def build(self, grid, uip):
try: try:
kwargs = {} kwargs = {}
excitationfile = self.kwargs["filepath"] excitationfile = self.kwargs["filepath"]
@@ -200,7 +200,7 @@ class Waveform(UserObjectMulti):
self.order = 2 self.order = 2
self.hash = "#waveform" self.hash = "#waveform"
def create(self, grid, uip): def build(self, grid, uip):
try: try:
wavetype = self.kwargs["wave_type"].lower() wavetype = self.kwargs["wave_type"].lower()
except KeyError: except KeyError:
@@ -314,7 +314,7 @@ class VoltageSource(UserObjectMulti):
rot_pts = rotate_2point_object(rot_pol_pts, self.axis, self.angle, self.origin) rot_pts = rotate_2point_object(rot_pol_pts, self.axis, self.angle, self.origin)
self.kwargs["p1"] = tuple(rot_pts[0, :]) self.kwargs["p1"] = tuple(rot_pts[0, :])
def create(self, grid, uip): def build(self, grid, uip):
try: try:
p1 = self.kwargs["p1"] p1 = self.kwargs["p1"]
polarisation = self.kwargs["polarisation"].lower() polarisation = self.kwargs["polarisation"].lower()
@@ -438,7 +438,7 @@ class HertzianDipole(UserObjectMulti):
rot_pts = rotate_2point_object(rot_pol_pts, self.axis, self.angle, self.origin) rot_pts = rotate_2point_object(rot_pol_pts, self.axis, self.angle, self.origin)
self.kwargs["p1"] = tuple(rot_pts[0, :]) self.kwargs["p1"] = tuple(rot_pts[0, :])
def create(self, grid, uip): def build(self, grid, uip):
try: try:
polarisation = self.kwargs["polarisation"].lower() polarisation = self.kwargs["polarisation"].lower()
p1 = self.kwargs["p1"] p1 = self.kwargs["p1"]
@@ -579,7 +579,7 @@ class MagneticDipole(UserObjectMulti):
rot_pts = rotate_2point_object(rot_pol_pts, self.axis, self.angle, self.origin) rot_pts = rotate_2point_object(rot_pol_pts, self.axis, self.angle, self.origin)
self.kwargs["p1"] = tuple(rot_pts[0, :]) self.kwargs["p1"] = tuple(rot_pts[0, :])
def create(self, grid, uip): def build(self, grid, uip):
try: try:
polarisation = self.kwargs["polarisation"].lower() polarisation = self.kwargs["polarisation"].lower()
p1 = self.kwargs["p1"] p1 = self.kwargs["p1"]
@@ -702,7 +702,7 @@ class TransmissionLine(UserObjectMulti):
rot_pts = rotate_2point_object(rot_pol_pts, self.axis, self.angle, self.origin) rot_pts = rotate_2point_object(rot_pol_pts, self.axis, self.angle, self.origin)
self.kwargs["p1"] = tuple(rot_pts[0, :]) self.kwargs["p1"] = tuple(rot_pts[0, :])
def create(self, grid, uip): def build(self, grid, uip):
try: try:
polarisation = self.kwargs["polarisation"].lower() polarisation = self.kwargs["polarisation"].lower()
p1 = self.kwargs["p1"] p1 = self.kwargs["p1"]
@@ -852,7 +852,7 @@ class Rx(UserObjectMulti):
except KeyError: except KeyError:
pass pass
def create(self, grid, uip): def build(self, grid, uip):
try: try:
p1 = self.kwargs["p1"] p1 = self.kwargs["p1"]
except KeyError: except KeyError:
@@ -922,7 +922,7 @@ class RxArray(UserObjectMulti):
self.order = 8 self.order = 8
self.hash = "#rx_array" self.hash = "#rx_array"
def create(self, grid, uip): def build(self, grid, uip):
try: try:
p1 = self.kwargs["p1"] p1 = self.kwargs["p1"]
p2 = self.kwargs["p2"] p2 = self.kwargs["p2"]
@@ -1026,7 +1026,7 @@ class Snapshot(UserObjectMulti):
self.order = 9 self.order = 9
self.hash = "#snapshot" self.hash = "#snapshot"
def create(self, grid, uip): def build(self, grid, uip):
if isinstance(grid, SubGridBaseGrid): if isinstance(grid, SubGridBaseGrid):
logger.exception(f"{self.params_str()} do not add snapshots to subgrids.") logger.exception(f"{self.params_str()} do not add snapshots to subgrids.")
raise ValueError raise ValueError
@@ -1139,7 +1139,7 @@ class Material(UserObjectMulti):
self.order = 10 self.order = 10
self.hash = "#material" self.hash = "#material"
def create(self, grid, uip): def build(self, grid, uip):
try: try:
er = self.kwargs["er"] er = self.kwargs["er"]
se = self.kwargs["se"] se = self.kwargs["se"]
@@ -1214,7 +1214,7 @@ class AddDebyeDispersion(UserObjectMulti):
self.order = 11 self.order = 11
self.hash = "#add_dispersion_debye" self.hash = "#add_dispersion_debye"
def create(self, grid, uip): def build(self, grid, uip):
try: try:
poles = self.kwargs["poles"] poles = self.kwargs["poles"]
er_delta = self.kwargs["er_delta"] er_delta = self.kwargs["er_delta"]
@@ -1286,7 +1286,7 @@ class AddLorentzDispersion(UserObjectMulti):
self.order = 12 self.order = 12
self.hash = "#add_dispersion_lorentz" self.hash = "#add_dispersion_lorentz"
def create(self, grid, uip): def build(self, grid, uip):
try: try:
poles = self.kwargs["poles"] poles = self.kwargs["poles"]
er_delta = self.kwargs["er_delta"] er_delta = self.kwargs["er_delta"]
@@ -1363,7 +1363,7 @@ class AddDrudeDispersion(UserObjectMulti):
self.order = 13 self.order = 13
self.hash = "#add_dispersion_drude" self.hash = "#add_dispersion_drude"
def create(self, grid, uip): def build(self, grid, uip):
try: try:
poles = self.kwargs["poles"] poles = self.kwargs["poles"]
omega = self.kwargs["omega"] omega = self.kwargs["omega"]
@@ -1440,7 +1440,7 @@ class SoilPeplinski(UserObjectMulti):
self.order = 14 self.order = 14
self.hash = "#soil_peplinski" self.hash = "#soil_peplinski"
def create(self, grid, uip): def build(self, grid, uip):
try: try:
sand_fraction = self.kwargs["sand_fraction"] sand_fraction = self.kwargs["sand_fraction"]
clay_fraction = self.kwargs["clay_fraction"] clay_fraction = self.kwargs["clay_fraction"]
@@ -1518,7 +1518,7 @@ class MaterialRange(UserObjectMulti):
self.order = 15 self.order = 15
self.hash = "#material_range" self.hash = "#material_range"
def create(self, grid, uip): def build(self, grid, uip):
try: try:
er_lower = self.kwargs["er_lower"] er_lower = self.kwargs["er_lower"]
er_upper = self.kwargs["er_upper"] er_upper = self.kwargs["er_upper"]
@@ -1600,7 +1600,7 @@ class MaterialList(UserObjectMulti):
self.order = 16 self.order = 16
self.hash = "#material_list" self.hash = "#material_list"
def create(self, grid, uip): def build(self, grid, uip):
try: try:
list_of_materials = self.kwargs["list_of_materials"] list_of_materials = self.kwargs["list_of_materials"]
ID = self.kwargs["id"] ID = self.kwargs["id"]
@@ -1641,7 +1641,7 @@ class GeometryView(UserObjectMulti):
self.order = 17 self.order = 17
self.hash = "#geometry_view" self.hash = "#geometry_view"
def geometry_view_constructor(self, grid, output_type): def geometry_view_constructor(self, output_type):
"""Selects appropriate class for geometry view dependent on geometry """Selects appropriate class for geometry view dependent on geometry
view type, i.e. normal or fine. view type, i.e. normal or fine.
""" """
@@ -1653,7 +1653,7 @@ class GeometryView(UserObjectMulti):
return GeometryViewUser return GeometryViewUser
def create(self, grid, uip): def build(self, grid, uip):
try: try:
p1 = self.kwargs["p1"] p1 = self.kwargs["p1"]
p2 = self.kwargs["p2"] p2 = self.kwargs["p2"]
@@ -1664,7 +1664,7 @@ class GeometryView(UserObjectMulti):
logger.exception(f"{self.params_str()} requires exactly eleven parameters.") logger.exception(f"{self.params_str()} requires exactly eleven parameters.")
raise raise
GeometryViewUser = self.geometry_view_constructor(grid, output_type) GeometryViewUser = self.geometry_view_constructor(output_type)
try: try:
p3 = uip.round_to_grid_static_point(p1) p3 = uip.round_to_grid_static_point(p1)
@@ -1730,7 +1730,7 @@ class GeometryObjectsWrite(UserObjectMulti):
self.order = 18 self.order = 18
self.hash = "#geometry_objects_write" self.hash = "#geometry_objects_write"
def create(self, grid, uip): def build(self, grid, uip):
try: try:
p1 = self.kwargs["p1"] p1 = self.kwargs["p1"]
p2 = self.kwargs["p2"] p2 = self.kwargs["p2"]
@@ -1786,7 +1786,7 @@ class PMLCFS(UserObjectMulti):
super().__init__(**kwargs) super().__init__(**kwargs)
self.order = 19 self.order = 19
def create(self, grid, uip): def build(self, grid, uip):
try: try:
alphascalingprofile = self.kwargs["alphascalingprofile"] alphascalingprofile = self.kwargs["alphascalingprofile"]
alphascalingdirection = self.kwargs["alphascalingdirection"] alphascalingdirection = self.kwargs["alphascalingdirection"]

查看文件

@@ -47,7 +47,7 @@ class UserObjectSingle:
for k, v in kwargs.items(): for k, v in kwargs.items():
setattr(self.props, k, v) setattr(self.props, k, v)
def create(self, grid, uip): def build(self, grid, uip):
pass pass
def rotate(self, axis, angle, origin=None): def rotate(self, axis, angle, origin=None):
@@ -65,7 +65,7 @@ class Title(UserObjectSingle):
super().__init__(**kwargs) super().__init__(**kwargs)
self.order = 1 self.order = 1
def create(self, G, uip): def build(self, G, uip):
try: try:
title = self.kwargs["name"] title = self.kwargs["name"]
G.title = title G.title = title
@@ -85,7 +85,7 @@ class Discretisation(UserObjectSingle):
super().__init__(**kwargs) super().__init__(**kwargs)
self.order = 2 self.order = 2
def create(self, G, uip): def build(self, G, uip):
try: try:
G.dl = np.array(self.kwargs["p1"]) G.dl = np.array(self.kwargs["p1"])
G.dx, G.dy, G.dz = self.kwargs["p1"] G.dx, G.dy, G.dz = self.kwargs["p1"]
@@ -123,7 +123,7 @@ class Domain(UserObjectSingle):
super().__init__(**kwargs) super().__init__(**kwargs)
self.order = 3 self.order = 3
def create(self, G, uip): def build(self, G, uip):
try: try:
G.nx, G.ny, G.nz = uip.discretise_point(self.kwargs["p1"]) G.nx, G.ny, G.nz = uip.discretise_point(self.kwargs["p1"])
except KeyError: except KeyError:
@@ -179,7 +179,7 @@ class TimeStepStabilityFactor(UserObjectSingle):
super().__init__(**kwargs) super().__init__(**kwargs)
self.order = 4 self.order = 4
def create(self, G, uip): def build(self, G, uip):
try: try:
f = self.kwargs["f"] f = self.kwargs["f"]
except KeyError: except KeyError:
@@ -210,7 +210,7 @@ class TimeWindow(UserObjectSingle):
super().__init__(**kwargs) super().__init__(**kwargs)
self.order = 5 self.order = 5
def create(self, G, uip): def build(self, G, uip):
# If number of iterations given # If number of iterations given
# The +/- 1 used in calculating the number of iterations is to account for # The +/- 1 used in calculating the number of iterations is to account for
# the fact that the solver (iterations) loop runs from 0 to < G.iterations # the fact that the solver (iterations) loop runs from 0 to < G.iterations
@@ -251,7 +251,7 @@ class OMPThreads(UserObjectSingle):
super().__init__(**kwargs) super().__init__(**kwargs)
self.order = 6 self.order = 6
def create(self, G, uip): def build(self, G, uip):
try: try:
n = self.kwargs["n"] n = self.kwargs["n"]
except KeyError: except KeyError:
@@ -285,7 +285,7 @@ class PMLProps(UserObjectSingle):
super().__init__(**kwargs) super().__init__(**kwargs)
self.order = 7 self.order = 7
def create(self, G, uip): def build(self, G, uip):
try: try:
G.pmls["formulation"] = self.kwargs["formulation"] G.pmls["formulation"] = self.kwargs["formulation"]
if G.pmls["formulation"] not in PML.formulations: if G.pmls["formulation"] not in PML.formulations:
@@ -335,7 +335,7 @@ class SrcSteps(UserObjectSingle):
super().__init__(**kwargs) super().__init__(**kwargs)
self.order = 8 self.order = 8
def create(self, G, uip): def build(self, G, uip):
try: try:
G.srcsteps = uip.discretise_point(self.kwargs["p1"]) G.srcsteps = uip.discretise_point(self.kwargs["p1"])
except KeyError: except KeyError:
@@ -360,7 +360,7 @@ class RxSteps(UserObjectSingle):
super().__init__(**kwargs) super().__init__(**kwargs)
self.order = 9 self.order = 9
def create(self, G, uip): def build(self, G, uip):
try: try:
G.rxsteps = uip.discretise_point(self.kwargs["p1"]) G.rxsteps = uip.discretise_point(self.kwargs["p1"])
except KeyError: except KeyError:
@@ -385,5 +385,5 @@ class OutputDir(UserObjectSingle):
super().__init__(**kwargs) super().__init__(**kwargs)
self.order = 10 self.order = 10
def create(self, grid, uip): def build(self, grid, uip):
config.get_model_config().set_output_file_path(self.kwargs["dir"]) config.get_model_config().set_output_file_path(self.kwargs["dir"])

查看文件

@@ -89,13 +89,16 @@ class GeometryView:
self.dy = dy self.dy = dy
self.dz = dz self.dz = dz
self.filename = filename self.filename = filename
self.filenamebase = filename
self.grid = grid self.grid = grid
self.nbytes = None self.nbytes = None
def set_filename(self): def set_filename(self):
"""Constructs filename from user-supplied name and model run number.""" """Constructs filename from user-supplied name and model run number."""
parts = config.get_model_config().output_file_path.parts parts = config.get_model_config().output_file_path.parts
self.filename = Path(*parts[:-1], self.filename + config.get_model_config().appendmodelnumber) self.filename = Path(*parts[:-1],
self.filenamebase +
config.get_model_config().appendmodelnumber)
class GeometryViewLines(GeometryView): class GeometryViewLines(GeometryView):
@@ -324,10 +327,10 @@ class Comments:
return sc return sc
def dx_dy_dz_comment(self): def dx_dy_dz_comment(self):
return numeric_list_to_float_list([self.grid.dx, self.grid.dy, self.grid.dz]) return list(map(float, [self.grid.dx, self.grid.dy, self.grid.dz]))
def nx_ny_nz_comment(self): def nx_ny_nz_comment(self):
return numeric_list_to_int_list([self.grid.nx, self.grid.ny, self.grid.nz]) return list(map(int, [self.grid.nx, self.grid.ny, self.grid.nz]))
def materials_comment(self): def materials_comment(self):
if not self.averaged_materials: if not self.averaged_materials:

查看文件

@@ -121,7 +121,7 @@ class SubGridBase(UserObjectMulti):
sg.timewindow = grid.timewindow sg.timewindow = grid.timewindow
# Copy a subgrid reference to self so that children.create(grid, uip) # Copy a subgrid reference to self so that children.build(grid, uip)
# can access the correct grid. # can access the correct grid.
self.subgrid = sg self.subgrid = sg
@@ -192,7 +192,7 @@ class SubGridHSG(SubGridBase):
self.order = 18 self.order = 18
self.hash = "#subgrid_hsg" self.hash = "#subgrid_hsg"
def create(self, grid, uip): def build(self, grid, uip):
sg = SubGridHSGUser(**self.kwargs) sg = SubGridHSGUser(**self.kwargs)
self.setup(sg, grid, uip) self.setup(sg, grid, uip)
return sg return sg