Skip to content

Commit 854b5f0

Browse files
fix bug: add an '-' to ref_sol and update correct visual result pic
1 parent 635e564 commit 854b5f0

File tree

2 files changed

+14
-15
lines changed

2 files changed

+14
-15
lines changed

docs/images/darcy2d/darcy2d_v2.png

154 KB
Loading

examples/darcy/darcy2d_v2.py

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
# set random seed for reproducibility
2424
ppsci.utils.misc.set_random_seed(42)
2525
# set output directory
26-
output_dir = "./output_darcy2d_coslr" if not args.output_dir else args.output_dir
26+
output_dir = "./output_darcy2d" if not args.output_dir else args.output_dir
2727
# initialize logger
2828
logger.init_logger("ppsci", f"{output_dir}/train.log", "info")
2929

@@ -50,14 +50,17 @@
5050
NPOINT_RIGHT = 99
5151

5252
# set constraint
53-
pde_constraint = ppsci.constraint.InteriorConstraint(
54-
equation["Poisson"].equations,
55-
{
56-
"poisson": lambda _in: 8.0
57-
* np.pi**2
53+
def poisson_ref_compute_func(_in):
54+
return (
55+
-8.0
56+
* (np.pi**2)
5857
* np.sin(2.0 * np.pi * _in["x"])
5958
* np.cos(2.0 * np.pi * _in["y"])
60-
},
59+
)
60+
61+
pde_constraint = ppsci.constraint.InteriorConstraint(
62+
equation["Poisson"].equations,
63+
{"poisson": poisson_ref_compute_func},
6164
geom["rect"],
6265
{**train_dataloader_cfg, "batch_size": NPOINT_PDE},
6366
ppsci.loss.MSELoss("sum"),
@@ -123,11 +126,12 @@
123126

124127
# set training hyper-parameters
125128
epochs = 10000 if not args.epochs else args.epochs
126-
lr_scheduler = ppsci.optimizer.lr_scheduler.Cosine(
129+
lr_scheduler = ppsci.optimizer.lr_scheduler.MultiStepDecay(
127130
epochs,
128131
ITERS_PER_EPOCH,
129132
0.001,
130-
warmup_epoch=int(0.05 * epochs),
133+
(4000, 6000, 8000),
134+
0.1,
131135
)()
132136

133137
# set optimizer
@@ -137,12 +141,7 @@
137141
NPOINTS_EVAL = NPOINT_PDE
138142
residual_validator = ppsci.validate.GeometryValidator(
139143
equation["Poisson"].equations,
140-
{
141-
"poisson": lambda _in: 8.0
142-
* np.pi**2
143-
* np.sin(2.0 * np.pi * _in["x"])
144-
* np.cos(2.0 * np.pi * _in["y"])
145-
},
144+
{"poisson": poisson_ref_compute_func},
146145
geom["rect"],
147146
{
148147
"dataset": "NamedArrayDataset",

0 commit comments

Comments
 (0)