Open qgs17 opened 10 months ago
The parameter should be in the PDE. You can first solve the PDE without BC, and then use the PDE solution at boundary to compute C1.
@lululxvi Actually the parameter does not have to be in the PDE, I solved an example where the unknown parameter is in the set of a BC.
@tsarikahin This is interesting and good to know. Could you show me a simple demo about how you do it?
@lululxvi We generated a repository (namely pinns_for_comp_mech) based on DeepXDE with a focus on computational mechanics. Here's an example of the Lame problem in elasticity. We define inlet pressure (pressure_inlet_predicted
) as a tensor Variable (line 60) and use that in the boundary condition function (line 67 and line 97).
FIY: @maxdanwitz
Here is the outcome. Pressure (defined in BC), Youngs modulus (defined in PDE) and Poissons (defined in PDE) ratio are set as variables and calculated by solving the inverse problem.
@tsarikahin Could you explain how the predicted values align if we examine the data more closely, particularly ~30,000 iterations and beyond? I am also solving an inverse problem with a trainable parameter in my boundary conditions. Despite the predicted values being reasonably close, I'm not observing the perfect overlap of the two lines that typically occurs with conventional numerical methods.
Dear Dr.Lulu and developers, I want to solve for a parameter inversely based on some data. This parameter is not in the differential equation but is expressed in the boundary conditions.Can DeepXDE solve this problem?
Part of my code is below:
error info: RuntimeError: Trying to backward through the graph a second time (or directly access saved tensors after they have already been freed). Saved intermediate values of the graph are freed when you call .backward() or autograd.grad(). Specify retain_graph=True if you need to backward through the graph a second time or if you need to access saved tensors after calling backward.