@@ -151,11 +151,12 @@ To avoid having to make a whole load of statements for large projects with many
151151
152152 .. code-block :: Python
153153
154- pGroup = [RAT .models.Parameter(name = ' Layer thick' , min = 10 , value = 20 , max = 30 , fit = True ),
155- RAT .models.Parameter(name = ' Layer SLD' , min = 1e-6 , value = 3e-6 , max = 5e-6 , fit = True ),
156- RAT .models.Parameter(name = ' Layer rough' , min = 5 , value = 7 , max = 10 , fit = True )]
157-
158- problem.parameters.extend(pGroup)
154+ pGroup = [[' Layer thick' , 10 , 20 , 30 , True ,],
155+ [' Layer SLD' , 1e-6 , 3e-6 , 5e-6 , True ,],
156+ [' Layer rough' , 5 , 7 , 10 , True ]]
157+
158+ for param in pGroup:
159+ problem.parameters.append(name = param[0 ], min = param[1 ], value = param[2 ], max = param[3 ], fit = param[4 ])
159160
160161 The resulting parameters block looks like this:
161162
@@ -185,8 +186,8 @@ The resulting parameters block looks like this:
185186 problem.parameters.append(name='My new param', min=1, value=2, max=3)
186187 problem.parameters.append(name='My other new param', min=10, value=20, max=30, fit=False)
187188 pGroup = [RAT.models.Parameter(name='Layer thick', min=10, value=20, max=30, fit=True),
188- RAT.models.Parameter(name='Layer SLD', min=1e-6, value=3e-6, max=5e-6, fit=True),
189- RAT.models.Parameter(name='Layer rough', min=5, value=7, max=10, fit=True)]
189+ RAT.models.Parameter(name='Layer SLD', min=1e-6, value=3e-6, max=5e-6, fit=True),
190+ RAT.models.Parameter(name='Layer rough', min=5, value=7, max=10, fit=True)]
190191
191192 problem.parameters.extend(pGroup)
192193 print(problem.parameters)
@@ -379,13 +380,15 @@ Start by making a new project, and adding the parameters we will need:
379380
380381 problem = RAT .Project(name = ' Layers Example' )
381382
382- params = [RAT .models.Parameter( name = ' Layer Thickness' , min = 10 , value = 20 , max = 30 , fit = False ) ,
383- RAT .models.Parameter( name = ' H SLD' , min = - 6e-6 , value = - 4e-6 , max = - 1e-6 , fit = False ) ,
384- RAT .models.Parameter( name = ' D SLD' , min = 5e-6 , value = 7e-6 , max = 9e-6 , fit = True ) ,
385- RAT .models.Parameter( name = ' Layer rough' , min = 3 , value = 5 , max = 7 , fit = True ) ,
386- RAT .models.Parameter( name = ' Layer hydr' , min = 0 , value = 10 , max = 20 , fit = True )]
383+ params = [[ ' Layer Thickness' , 10 , 20 , 30 , False ] ,
384+ [ ' H SLD' , - 6e-6 , - 4e-6 , - 1e-6 , False ] ,
385+ [ ' D SLD' , 5e-6 , 7e-6 , 9e-6 , True ] ,
386+ [ ' Layer rough' , 3 , 5 , 7 , True ] ,
387+ [ ' Layer hydr' , 0 , 10 , 20 , True ]]
387388
388- problem.parameters.extend(params)
389+ for param in params:
390+ problem.parameters.append(name = param[0 ], min = param[1 ], value = param[2 ], max = param[3 ], fit = param[4 ])
391+
389392
390393 A layer is defined in terms of a name, thickness, SLD, roughness and (optional) hydration, along with details of which bulk phase is hydrating the layer.
391394The easiest way to define these is to group the parameters into cell arrays, and then add them to the project as a layers group:
@@ -441,10 +444,10 @@ Our two layers now appear in the ``layers`` block of the project:
441444
442445 problem = RAT.Project(name='Layers Example')
443446 params = [RAT.models.Parameter(name='Layer Thickness', min=10, value=20, max=30, fit=False),
444- RAT.models.Parameter(name='H SLD', min=-6e-6, value=-4e-6, max=-1e-6, fit=False),
445- RAT.models.Parameter(name='D SLD', min=5e-6, value=7e-6, max=9e-6, fit=True),
446- RAT.models.Parameter(name='Layer rough', min=3, value=5, max=7, fit=True),
447- RAT.models.Parameter(name='Layer hydr', min=0, value=10, max=20, fit=True)]
447+ RAT.models.Parameter(name='H SLD', min=-6e-6, value=-4e-6, max=-1e-6, fit=False),
448+ RAT.models.Parameter(name='D SLD', min=5e-6, value=7e-6, max=9e-6, fit=True),
449+ RAT.models.Parameter(name='Layer rough', min=3, value=5, max=7, fit=True),
450+ RAT.models.Parameter(name='Layer hydr', min=0, value=10, max=20, fit=True)]
448451 problem.parameters.extend(params)
449452
450453 problem.layers.append(name='H Layer', thickness='Layer Thickness', SLD='H SLD',
@@ -977,18 +980,20 @@ Then we need to define the parameters we need. We'll do this by making a paramet
977980 .. code-block :: Python
978981
979982 parameters = [
980- RAT .models.Parameter( name = ' Tails Thickness' , min = 10 , value = 20 , max = 30 , fit = True ) ,
981- RAT .models.Parameter( name = ' Heads Thickness' , min = 3 , value = 11 , max = 16 , fit = True ) ,
982- RAT .models.Parameter( name = ' Tails Roughness' , min = 2 , value = 5 , max = 9 , fit = True ) ,
983- RAT .models.Parameter( name = ' Heads Roughness' , min = 2 , value = 5 , max = 9 , fit = True ) ,
984- RAT .models.Parameter( name = ' Deuterated Tails SLD' , min = 4e-6 , value = 6e-6 , max = 2e-5 , fit = True ) ,
985- RAT .models.Parameter( name = ' Hydrogenated Tails SLD' , min = - 0.6e-6 , value = - 0.4e-6 , max = 0 , fit = True ) ,
986- RAT .models.Parameter( name = ' Deuterated Heads SLD' , min = 1e-6 , value = 3e-6 , max = 8e-6 , fit = True ) ,
987- RAT .models.Parameter( name = ' Hydrogenated Heads SLD' , min = 0.1e-6 , value = 1.4e-6 , max = 3e-6 , fit = True ) ,
988- RAT .models.Parameter( name = ' Heads Hydration' , min = 0 , value = 0.3 , max = 0.5 , fit = True )
983+ [ ' Tails Thickness' , 10 , 20 , 30 , True ] ,
984+ [ ' Heads Thickness' , 3 , 11 , 16 , True ] ,
985+ [ ' Tails Roughness' , 2 , 5 , 9 , True ] ,
986+ [ ' Heads Roughness' , 2 , 5 , 9 , True ] ,
987+ [ ' Deuterated Tails SLD' , 4e-6 , 6e-6 , 2e-5 , True ] ,
988+ [ ' Hydrogenated Tails SLD' , - 0.6e-6 , - 0.4e-6 , 0 , True ] ,
989+ [ ' Deuterated Heads SLD' , 1e-6 , 3e-6 , 8e-6 , True ] ,
990+ [ ' Hydrogenated Heads SLD' , 0.1e-6 , 1.4e-6 , 3e-6 , True ] ,
991+ [ ' Heads Hydration' , 0 , 0.3 , 0.5 , True ]
989992 ]
990993
991- problem.parameters.extend(parameters)
994+ for param in params:
995+ problem.parameters.append(name = param[0 ], min = param[1 ], value = param[2 ], max = param[3 ], fit = param[4 ])
996+
992997
993998 Next we need to group the parameters into our layers. We need four layers in all, representing deuterated and hydrogenated versions of the heads and tails:
994999
0 commit comments