Skip to content
Snippets Groups Projects
Commit d6b6754f authored by Pospelov, Gennady's avatar Pospelov, Gennady
Browse files

User examples modified to correspond to changes in IParticle

parent fe158076
No related branches found
No related tags found
No related merge requests found
Showing
with 44 additions and 29 deletions
......@@ -68,7 +68,7 @@ const IMaterial *MaterialManager::this_getHomogeneousMaterial(
HomogeneousMaterial *non_const_mat =
const_cast<HomogeneousMaterial *>(old);
non_const_mat->setRefractiveIndex(refractive_index);
msglog(MSG::WARNING) << "MaterialManager::addHomogeneousMaterial()" <<
msglog(MSG::ERROR) << "MaterialManager::addHomogeneousMaterial()" <<
"-> Redefining refractive index for material '" << name << "'";
}
return mat;
......
......@@ -18,17 +18,19 @@ def RunSimulation():
# defining materials
mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 )
mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8 )
mParticle = MaterialManager.getHomogeneousMaterial("Particle", 6e-4, 2e-8 )
# collection of particles
n_particle = complex(1.0-6e-4, 2e-8)
cylinder_ff = FormFactorCylinder(5*nanometer, 5*nanometer)
cylinder = Particle(n_particle, cylinder_ff)
cylinder = Particle(mParticle, cylinder_ff)
prism_ff = FormFactorPrism3(5*nanometer, 5*nanometer)
prism = Particle(n_particle, prism_ff)
prism = Particle(mParticle, prism_ff)
particle_decoration = ParticleDecoration()
particle_decoration.addParticle(cylinder, 0.0, 0.5)
particle_decoration.addParticle(prism, 0.0, 0.5)
interference = InterferenceFunctionNone()
particle_decoration.addInterferenceFunction(interference)
# air layer with particles and substrate form multi layer
air_layer = Layer(mAmbience)
air_layer.setDecoration(particle_decoration)
......
......@@ -16,16 +16,17 @@ from utils.show2d import PlotNumpyArray
def RunSimulation():
# defining materials
mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 )
mParticle = MaterialManager.getHomogeneousMaterial("Particle", 6e-4, 2e-8 )
# collection of particles
n_particle = complex(1.0-6e-4, 2e-8)
radius1 = 5.0*nanometer
radius2 = 10.0*nanometer
height1 = radius1
height2 = radius2
cylinder_ff1 = FormFactorCylinder(height1, radius1)
cylinder1 = Particle(n_particle, cylinder_ff1)
cylinder1 = Particle(mParticle, cylinder_ff1)
cylinder_ff2 = FormFactorCylinder(height2, radius2)
cylinder2 = Particle(n_particle, cylinder_ff2)
cylinder2 = Particle(mParticle, cylinder_ff2)
nbins = 150
sigma1 = radius1*0.2
sigma2 = radius2*0.02
......
......@@ -19,10 +19,11 @@ def RunSimulation():
# defining materials
mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 )
mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8 )
mParticle = MaterialManager.getHomogeneousMaterial("Particle", 6e-4, 2e-8 )
# collection of particles
n_particle = complex(1.0-6e-4, 2e-8)
cylinder_ff = FormFactorCylinder(5*nanometer, 5*nanometer)
cylinder = Particle(n_particle, cylinder_ff)
cylinder = Particle(mParticle, cylinder_ff)
particle_decoration = ParticleDecoration()
particle_decoration.addParticle(cylinder, 0.0, 1.0)
interference = InterferenceFunctionNone()
......
......@@ -19,16 +19,16 @@ def RunSimulation():
# defining materials
mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 )
mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8 )
mParticle = MaterialManager.getHomogeneousMaterial("Particle", 6e-4, 2e-8 )
multi_layer = MultiLayer()
n_particle = complex(1.0-6e-4, 2e-8)
cylinder_ff = FormFactorCylinder(5*nanometer, 5*nanometer)
particle_decoration = ParticleDecoration()
# preparing prototype of nano particle
radius = 5*nanometer
sigma = 0.2*radius
nano_particle = Particle(n_particle, cylinder_ff)
nano_particle = Particle(mParticle, cylinder_ff)
# radius of nanoparticles will be sampled with gaussian probability
nbins = 100
nfwhm = 2
......
......@@ -20,10 +20,12 @@ def RunSimulation():
# defining materials
mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 )
mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8 )
mParticle = MaterialManager.getHomogeneousMaterial("Particle", 6e-4, 2e-8 )
# collection of particles
n_particle = complex(1.0-6e-4, 2e-8)
cylinder_ff = FormFactorCylinder(5*nanometer, 5*nanometer)
cylinder = Particle(n_particle, cylinder_ff)
cylinder = Particle(mParticle, cylinder_ff)
particle_decoration = ParticleDecoration()
particle_decoration.addParticle(cylinder, 0.0, 1.0)
interference = InterferenceFunctionNone()
......
......@@ -18,10 +18,11 @@ def RunSimulation():
# defining materials
mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 )
mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8 )
mParticle = MaterialManager.getHomogeneousMaterial("Particle", 6e-4, 2e-8 )
# collection of particles
n_particle = complex(1.0-6e-4, 2e-8)
cylinder_ff = FormFactorCylinder(5*nanometer, 5*nanometer)
cylinder = Particle(n_particle, cylinder_ff)
cylinder = Particle(mParticle, cylinder_ff)
interference = InterferenceFunction1DParaCrystal(20.0*nanometer,7*nanometer, 1e3*nanometer)
particle_decoration = ParticleDecoration()
particle_decoration.addParticle(cylinder, 0.0, 1.0)
......
......@@ -18,11 +18,12 @@ def RunSimulation():
# defining materials
mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 )
mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8 )
mParticle = MaterialManager.getHomogeneousMaterial("Particle", 6e-4, 2e-8 )
# collection of particles
n_particle = complex(1.0-6e-4, 2e-8)
cylinder_ff = FormFactorCylinder(5*nanometer, 5*nanometer)
cylinder = Particle(n_particle, cylinder_ff)
cylinder = Particle(mParticle, cylinder_ff)
interference = InterferenceFunction2DParaCrystal.createHexagonal(20.0*nanometer, 0.0,20.0*micrometer, 20.0*micrometer)
pdf = FTDistribution2DCauchy(1.0*nanometer, 1.0*nanometer)
......
......@@ -19,6 +19,8 @@ def RunSimulation():
# defining materials
mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 )
mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8 )
mParticle = MaterialManager.getHomogeneousMaterial("Particle", 6e-4, 2e-8 )
# collection of particles
lattice_params = Lattice2DIFParameters()
lattice_params.m_length_1 = 10.0*nanometer
......@@ -36,7 +38,7 @@ def RunSimulation():
n_particle = complex(1.0-6e-4, 2e-8)
cylinder_ff = FormFactorCylinder(5*nanometer, 5*nanometer)
cylinder = Particle(n_particle, cylinder_ff.clone())
cylinder = Particle(mParticle, cylinder_ff.clone())
position = kvector_t(0.0, 0.0, 0.0)
particle_decoration = ParticleDecoration()
particle_info = PositionParticleInfo(cylinder, position, 1.0)
......
......@@ -19,6 +19,8 @@ def RunSimulation():
# defining materials
mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 )
mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8 )
mParticle = MaterialManager.getHomogeneousMaterial("Particle", 6e-4, 2e-8 )
# collection of particles
lattice_params = Lattice2DIFParameters()
lattice_params.m_length_1 = 10.0*nanometer
......@@ -33,12 +35,11 @@ def RunSimulation():
pdf = FTDistribution2DCauchy(300.0*nanometer/2.0/M_PI, 100.0*nanometer/2.0/M_PI)
interference.setProbabilityDistribution(pdf)
n_particle = complex(1.0-6e-4, 2e-8)
particle_decoration = ParticleDecoration()
position = kvector_t(0.0, 0.0, 0.0)
# particle 1
cylinder_ff = FormFactorCylinder(5*nanometer, 5*nanometer)
cylinder = Particle(n_particle, cylinder_ff)
cylinder = Particle(mParticle, cylinder_ff)
position = kvector_t(0.0, 0.0, 0.0)
particle_info = PositionParticleInfo(cylinder, position, 1.0)
particle_decoration.addParticleInfo(particle_info)
......
......@@ -19,6 +19,8 @@ def RunSimulation():
# defining materials
mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 )
mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8 )
mParticle = MaterialManager.getHomogeneousMaterial("Particle", 6e-4, 2e-8 )
# collection of particles
lattice_params = Lattice2DIFParameters()
lattice_params.m_length_1 = 10.0*nanometer
......@@ -34,9 +36,8 @@ def RunSimulation():
pdf.setGamma(30.0*degree)
interference.setProbabilityDistribution(pdf)
n_particle = complex(1.0-6e-4, 2e-8)
cylinder_ff = FormFactorCylinder(5*nanometer, 5*nanometer)
cylinder = Particle(n_particle, cylinder_ff)
cylinder = Particle(mParticle, cylinder_ff)
position = kvector_t(0.0, 0.0, 0.0)
particle_decoration = ParticleDecoration()
particle_info = PositionParticleInfo(cylinder, position, 1.0)
......
......@@ -51,9 +51,10 @@ def RunSimulation():
# IsGISAXS6 functional test sample builder for varying xi angle
def buildSample(xi_value):
n_particle = complex(1.0-6e-4, 2e-8)
mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 )
mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8 )
mParticle = MaterialManager.getHomogeneousMaterial("Particle", 6e-4, 2e-8 )
air_layer = Layer(mAmbience)
substrate_layer = Layer(mSubstrate)
......@@ -74,7 +75,7 @@ def buildSample(xi_value):
# particle
ff_cyl = FormFactorCylinder(5.0*nanometer, 5.0*nanometer)
position = kvector_t(0.0, 0.0, 0.0)
cylinder = Particle(n_particle, ff_cyl.clone())
cylinder = Particle(mParticle, ff_cyl.clone())
particle_info = PositionParticleInfo( cylinder, position, 1.0)
particle_decoration.addParticleInfo(particle_info)
particle_decoration.addInterferenceFunction(p_interference_function)
......
......@@ -18,10 +18,11 @@ def RunSimulation():
# defining materials
mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 )
mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8 )
mParticle = MaterialManager.getHomogeneousMaterial("Particle", 6e-4, 2e-8 )
# collection of particles
n_particle = complex(1.0-6e-4, 2e-8)
pyramid_ff = FormFactorPyramid(5*nanometer, 5*nanometer, deg2rad(54.73 ) )
pyramid = Particle(n_particle, pyramid_ff)
pyramid = Particle(mParticle, pyramid_ff)
interference = InterferenceFunctionNone()
particle_decoration = ParticleDecoration()
particle_decoration.addParticle(pyramid, 0.0, 1.0)
......
......@@ -17,10 +17,11 @@ def RunSimulation():
# defining materials
mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 )
mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8 )
mParticle = MaterialManager.getHomogeneousMaterial("Particle", 6e-4, 2e-8 )
# collection of particles
n_particle = complex(1.0-6e-4, 2e-8)
pyramid_ff = FormFactorPyramid(5*nanometer, 5*nanometer, deg2rad(54.73 ) )
pyramid = Particle(n_particle, pyramid_ff)
pyramid = Particle(mParticle, pyramid_ff)
interference = InterferenceFunctionNone()
angle_around_z = 45.*degree
#rotatez3d = RotateZ3D(angle_around_z)
......
......@@ -73,8 +73,6 @@ TEST_F(ParticleTest, ParticleConstructors)
delete p3;
delete p4;
}
......
......@@ -210,6 +210,8 @@ def ManualClassTunings(mb):
# including back methods which have been excluded by our pointer policy
for fun in cl.member_functions():
if fun.name == "setMaterial":fun.include()
for fun in cl.member_functions():
print "XXX", fun
cl.constructors().include() # including back constructors with pointers
#
cl = mb.class_("Simulation")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment