I would like to use Sympy’s Bessel functions for calculating LOSS.
Here’s an example of what I’ve been trying:
import sympy as sp
# INPUT : x , t
# OUTPUT: u
x, t = Symbol("x"), Symbol("t")
geo = Line1D(0, 10)
LOSS_IC = PointwiseInteriorConstraint(
nodes=nodes,
geometry=geo,
outvar={"u": sp.besselj(0, 4*pi*(x/(9.8*0.05))**0.5),"u__t": 0},
parameterization={t: (0)},
batch_size=cfg.batch_size.LOSS_IC,
)
domain.add_constraint(LOSS_IC, "LOSS_IC")
The error message I’m encountering is as follows:
Error executing job with overrides: []
An error occurred during Hydra's exception formatting:
AssertionError()
Traceback (most recent call last):
File "/opt/conda/lib/python3.8/site-packages/hydra/_internal/utils.py", line 252, in run_and_report
assert mdl is not None
AssertionError
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "main.py", line 167, in <module>
run()
File "/modulus/modulus/hydra/utils.py", line 91, in func_decorated
_run_hydra(
File "/opt/conda/lib/python3.8/site-packages/hydra/_internal/utils.py", line 377, in _run_hydra
run_and_report(
File "/opt/conda/lib/python3.8/site-packages/hydra/_internal/utils.py", line 294, in run_and_report
raise ex
File "/opt/conda/lib/python3.8/site-packages/hydra/_internal/utils.py", line 211, in run_and_report
return func()
File "/opt/conda/lib/python3.8/site-packages/hydra/_internal/utils.py", line 378, in <lambda>
lambda: hydra.run(
File "/opt/conda/lib/python3.8/site-packages/hydra/_internal/hydra.py", line 111, in run
_ = ret.return_value
File "/opt/conda/lib/python3.8/site-packages/hydra/core/utils.py", line 233, in return_value
raise self._return_value
File "/opt/conda/lib/python3.8/site-packages/hydra/core/utils.py", line 160, in run_job
ret.return_value = task_function(task_cfg)
File "main", line 112, in run
LOSS_IC = PointwiseInteriorConstraint(
File "/modulus/modulus/domain/constraint/continuous.py", line 440, in __init__
outvar = _compute_outvar(invar, outvar)
File "/modulus/modulus/domain/constraint/utils.py", line 9, in _compute_outvar
outvar[key] = np_lambdify(outvar_sympy[key], {**invar})(**invar)
File "/modulus/modulus/utils/sympy/numpy_printer.py", line 144, in grouped_lambda
output.append(lambdify_f_i(**invar))
File "/modulus/modulus/utils/sympy/numpy_printer.py", line 128, in lambdify_f_i
v = sp_lambdify_f_i(**x)
File "<lambdifygenerated-2>", line 2, in _lambdifygenerated
NameError: name 'besselj' is not defined
Is it possible to use Bessel functions, and what changes should I make?
Thank you.