-
Notifications
You must be signed in to change notification settings - Fork 32
Closed
Labels
enhancementNew feature or requestNew feature or requestgood first issueGood for newcomersGood for newcomers
Milestone
Description
Users should be able to do:
import festim as F
my_model = F.Simulation()
my_model.mesh = F.MeshFromVertices([1, 2, 3, 4])
my_model.materials = F.Material(id=1, D_0=1, E_D=0)
my_model.T = 300
my_model.settings = F.Settings(
absolute_tolerance=1e-10,
relative_tolerance=1e-10,
transient=True,
final_time=10,
)
my_model.dt = 1 # <------- provide stepsize as int or float
my_model.initialise()
my_model.run()And not provide the stepsize as a F.Stepsize object for simple cases like this.
To do so, all we need is to write a setter function in Simulation
@property
def dt(self):
return self._dt
@dt.setter
def dt(self, value):
if isinstance(value, (int, float)):
self._dt = F.Stepsize(value)
elif isinstance(value, F.Stepsize):
self._dt = value
else:
raise TypeError("dt must be an int, float, or festim.Stepsize")Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestgood first issueGood for newcomersGood for newcomers