Enable boundary conditions ONLY on one side of the geometry/domain/grid
yibaoj opened this issue · comments
I am solving a simple 1-D time-dependent PDE as follow (
The initial and boundary conditions are given by:
In simplest form,
Following is my code snippet. However, I couldn't find a easy way to implement the boundary conditions ONLY on one side of axis
Do you have any suggestions to fix the problem?
T, L = 300, 150
a, b = 0.5, 0.002
grid = pde.CartesianGrid([[0, L]], [100], periodic=False)
state = pde.ScalarField(grid, data=80)
bc = [{"value": 80}, ]
eq = pde.PDE({"u": f"- {a} * d_dx(u) - {b} * u"}, bc=bc)
print(eq.expressions)
sol = eq.solve(state, t_range=T, dt=10, tracker=pde.PlotTracker())
![image](https://private-user-images.githubusercontent.com/24381205/288449196-aeffb607-4459-4ce0-80e6-4b62b4005367.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjAyNzYyMjMsIm5iZiI6MTcyMDI3NTkyMywicGF0aCI6Ii8yNDM4MTIwNS8yODg0NDkxOTYtYWVmZmI2MDctNDQ1OS00Y2UwLTgwZTYtNGI2MmI0MDA1MzY3LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MDYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzA2VDE0MjUyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWQxMWJjNWFjMmQxZmQ0MGJmY2Q2MjkyMTg3YzFlMjljYTY4MDZiNWNlY2M2ZmVmNDMxM2RjNTk2NmViNjkyZjEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.4c1JMmJG0O0rekPFBcQOTeAzamGBaiApuMdR7ZvQxvA)
![image](https://private-user-images.githubusercontent.com/24381205/288449384-282fbd87-cb8f-40d7-b0d7-bdb7e8d66ad5.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjAyNzYyMjMsIm5iZiI6MTcyMDI3NTkyMywicGF0aCI6Ii8yNDM4MTIwNS8yODg0NDkzODQtMjgyZmJkODctY2I4Zi00MGQ3LWIwZDctYmRiN2U4ZDY2YWQ1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MDYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzA2VDE0MjUyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTQ3YmM0NzRlZWU4MjIxMGIzNmZhZDkzYzBmZTM5NjU1OTdlN2VkN2ViY2RiYjE5MGVlZGQzZjE0NGYwNGYyYzImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.bDxdTe5mm5MWValXwonjuHDHwL6-MYMyU7G-9s55OmU)