I am interesting in modelling a damage model, where if a PINNs output exceeds a value then the governing equations changes, in linear elastic model only i need to check for the energy associated with deformation, and when it exceeds a certain value it needs to change the governing equation.
I am interested in solving: {r1, r2 are pre-defined, |p| is value associated with energy, f is variable of interest}
f = -Max(|p| - r1,0)/r2
Unfortunately, the Max is not working,
Thus I tried to approach the same by defining criteria check on by importing the equations for the same. But then it encounters type error with Sympy and float and I am unable to convert the sympy to numpy/float
...
DM1 = PointwiseInteriorConstraint(
nodes=nodes,
geometry=geo,
outvar={"f1":0},
criteria = Equations.equations["p"] < r1,
batch_size=cfg.batch_size.lr_interior,
bounds={x: bounds_x, y: bounds_y, t: bounds_t},
lambda_weighting = {"f1": 1.0},
parameterization={t: bounds_t, x: bounds_x, y: bounds_y},
batch_per_epoch=500,
)
domain.add_constraint(DM1, "damage_model_1")
...
Please help me with this,
Thank you
Sincerely,
Nihal