Hi David,
On 01/04/2017 10:28 AM, David Jessop wrote:
> Hi,
>
> I need to set insulated boundaries on two edges of my problem, and set the
> flux on a third. I've specified material properties (2D problem) as
> ins = Material('ins', val=[[0.0, 0.0], [0.0, 0.0]])
> flux = Material('flux', val=[[-1.0, 0.0], [0.0, -1.0]])
>
> and then I write my BCs as
> tSurfInsT = Term.new('dw_surface_flux(ins.val, u, v)', integral, Top, ins=
> ins, u=u, v=v)
> tSurfInsL = Term.new('dw_surface_flux(ins.val, u, v)', integral, Left, ins=
> ins, u=u, v=v)
The "insulated" boundary condition is equavalent to omitting the above two
terms (ins.val is zero). Does that work?
> tSurfFluxR = Term.new('dw_surface_flux(flux.val, u, v)', integral, Right,
> flux=flux, u=u, v=v)
On the other hand omitting this term should make also the 'Right' region
insulated, so a change in solution should be visible.
> As you might infer from the visualisation of the solution below, thes BCs
> are not being met (slope of the contours should be flat on the LHS and not
> flat on the right). Indeed, if I comment these out of the equation
> definition, the solution remains unchanged. What is going on?
Not sure - try sending me the example. Also, double check your region
definitions. You can use problem.save_regions_as_groups('regions') to see the
actual regions.
r.
> Thanks,
> David
>
> <
https://lh3.googleusercontent.com/-cTRMmEvK4b0/WGy-o0MCHaI/AAAAAAAAA8s/F0T6S8bll4IFiFHlTUCMd810VOg3cWNugCLcB/s1600/NLP_surfFlux-reduced.png>
>