|
1 | 1 | from nutils import cli, export, function, testing |
2 | 2 | from nutils.mesh import gmsh |
3 | 3 | from nutils.solver import System |
4 | | -from nutils.SI import Length, Density, Viscosity, Velocity, Time, Pressure, Acceleration |
| 4 | +try: |
| 5 | + from nutils.units.typing import Length, Density, Viscosity, Velocity, Time, Pressure, Acceleration |
| 6 | +except ModuleNotFoundError as e: |
| 7 | + if hasattr(e, 'add_note'): |
| 8 | + e.add_note("Consider installing the units package via: pip install nutils-units") |
| 9 | + raise |
5 | 10 | from nutils.expression_v2 import Namespace |
6 | 11 | from collections import defaultdict, deque |
7 | 12 | from dataclasses import dataclass |
@@ -221,7 +226,7 @@ def main(domain: Domain = Domain(), solid: Optional[Solid] = Solid(), fluid: Opt |
221 | 226 | if dynamic: |
222 | 227 | ns.v, ns.a = dynamic.newmark_defo(ns.d) |
223 | 228 | else: |
224 | | - ns.a = Acceleration.wrap(function.zeros((2,))) |
| 229 | + ns.a = numpy.repeat(Acceleration.zero, 2) |
225 | 230 |
|
226 | 231 | # Deformed geometry |
227 | 232 | ns.x_i = 'xref_i + d_i' |
@@ -260,8 +265,8 @@ def main(domain: Domain = Domain(), solid: Optional[Solid] = Solid(), fluid: Opt |
260 | 265 | else: # fully rigid solid |
261 | 266 |
|
262 | 267 | ns.x = ns.xref |
263 | | - ns.v = Velocity.wrap(function.zeros((2,))) |
264 | | - ns.a = Acceleration.wrap(function.zeros((2,))) |
| 268 | + ns.v = numpy.repeat(Velocity.zero, 2) |
| 269 | + ns.a = numpy.repeat(Acceleration.zero, 2) |
265 | 270 |
|
266 | 271 | if fluid: |
267 | 272 |
|
@@ -339,7 +344,7 @@ def main(domain: Domain = Domain(), solid: Optional[Solid] = Solid(), fluid: Opt |
339 | 344 |
|
340 | 345 | DL = uxy = None # for unit tests only |
341 | 346 |
|
342 | | - for t in log.iter.fraction('timestep', dynamic.times) if dynamic else [Time.wrap(float('inf'))]: |
| 347 | + for t in log.iter.fraction('timestep', dynamic.times) if dynamic else [Time.zero * float('inf')]: |
343 | 348 |
|
344 | 349 | if dynamic: |
345 | 350 | if solid: |
|
0 commit comments