Skip to content

Commit

Permalink
Merge pull request #72 from johodges/dev
Browse files Browse the repository at this point in the history
add t_begin and t_end parameters
  • Loading branch information
johodges committed Aug 9, 2023
2 parents b9feb53 + 2236fe6 commit 69d5e42
Show file tree
Hide file tree
Showing 3 changed files with 60 additions and 1 deletion.
6 changes: 6 additions & 0 deletions qgis2fds_export_algo.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,8 @@ def initAlgorithm(self, config=None):
NMeshParam.set(**kwargs)
CellSizeParam.set(**kwargs)
ExportOBSTParam.set(**kwargs)
StartTimeParam.set(**kwargs)
EndTimeParam.set(**kwargs)

# Define destination layers

Expand Down Expand Up @@ -132,6 +134,8 @@ def processAlgorithm(self, parameters, context, model_feedback):
nmesh = NMeshParam.get(**kwargs)
cell_size = CellSizeParam.get(**kwargs)
export_obst = ExportOBSTParam.get(**kwargs)
t_begin = StartTimeParam.get(**kwargs)
t_end = EndTimeParam.get(**kwargs)

# Check parameter values

Expand Down Expand Up @@ -470,6 +474,8 @@ def processAlgorithm(self, parameters, context, model_feedback):
terrain=terrain,
texture=texture,
wind=wind,
t_begin=t_begin,
t_end=t_end,
)
fds_case.save()

Expand Down
49 changes: 49 additions & 0 deletions qgis2fds_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -473,3 +473,52 @@ def get(cls, algo, parameters, context, feedback, project):
project.writeEntryBool("qgis2fds", cls.label, value)
feedback.setProgressText(f"{cls.desc}: <{value}>")
return value


class StartTimeParam:
label = "t_begin"
desc = "FDS start time"
default = 0.0
optional = True

@classmethod
def set(cls, algo, config, project):
defaultValue, _ = project.readDoubleEntry("qgis2fds", cls.label, cls.default)
param = QgsProcessingParameterNumber(
cls.label,
cls.desc,
defaultValue=defaultValue,
optional=cls.optional,
)
algo.addParameter(param)

@classmethod
def get(cls, algo, parameters, context, feedback, project):
value = algo.parameterAsString(parameters, cls.label, context)
project.writeEntry("qgis2fds", cls.label, value)
feedback.setProgressText(f"{cls.desc}: <{value}>")
return value

class EndTimeParam:
label = "t_end"
desc = "FDS end time"
default = 0.0
optional = True

@classmethod
def set(cls, algo, config, project):
defaultValue, _ = project.readDoubleEntry("qgis2fds", cls.label, cls.default)
param = QgsProcessingParameterNumber(
cls.label,
cls.desc,
defaultValue=defaultValue,
optional=cls.optional,
)
algo.addParameter(param)

@classmethod
def get(cls, algo, parameters, context, feedback, project):
value = algo.parameterAsString(parameters, cls.label, context)
project.writeEntry("qgis2fds", cls.label, value)
feedback.setProgressText(f"{cls.desc}: <{value}>")
return value
6 changes: 5 additions & 1 deletion types/fds.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ def __init__(
terrain,
texture,
wind,
t_begin,
t_end,
) -> None:
self.feedback = feedback
self.name = name # chid
Expand All @@ -38,6 +40,8 @@ def __init__(
self.terrain = terrain
self.texture = texture
self.wind = wind
self.t_begin = t_begin
self.t_end = t_end

self.filename = f"{name}.fds"
self.filepath = os.path.join(path, self.filename)
Expand Down Expand Up @@ -87,7 +91,7 @@ def get_fds(self):
LEVEL_SET_MODE=1
THICKEN_OBSTRUCTIONS=T /
&TIME T_END=0. /
&TIME T_BEGIN={self.t_begin}, T_END={self.t_end} /
Example REAC, used when LEVEL_SET_MODE=4
_REAC ID='Wood' SOOT_YIELD=0.005 O=2.5 C=3.4 H=6.2
Expand Down

0 comments on commit 69d5e42

Please sign in to comment.