5 #ifndef MERCURYDPM_MERCURYOS_H
6 #define MERCURYDPM_MERCURYOS_H
84 return 1. / ((1 -
v1 *
v1) / E1 + (1 -
v2 *
v2) / E2);
92 double G1 = E1 / 2 / (1 +
v1), G2 = E2 / 2 / (1 +
v2);
93 return 1. / ((2 -
v1) / G1 + (2 -
v2) / G2);
107 double E1 = 1e9, E2 = 0.5e9, ES = 210e9;
108 double v1 = 0.2,
v2 = 0.2, vS = 0.2;
130 double r11 = 0.5, r12 = 0.45, r1S = 0.4, r22 = 0.4, r2S = 0.4, rSS = 0.6;
132 double mu11 = 0.3, mu12 = 0.2, mu1S = 0.2, mu22 = 0.4, mu2S = 0.2, muSS = 0.5;
135 species.setEffectiveElasticModulusAndRestitutionCoefficient(E11, r11);
136 species.setEffectiveShearModulus(G11);
137 species.setSlidingFrictionCoefficient(mu11);
141 species.setEffectiveElasticModulusAndRestitutionCoefficient(E22, r22);
142 species.setEffectiveShearModulus(G22);
143 species.setSlidingFrictionCoefficient(mu22);
147 species.setEffectiveElasticModulusAndRestitutionCoefficient(ESS, rSS);
148 species.setEffectiveShearModulus(GSS);
149 species.setSlidingFrictionCoefficient(muSS);
154 m12->setEffectiveElasticModulusAndRestitutionCoefficient(E12, r12);
155 m12->setEffectiveShearModulus(G12);
156 m12->setSlidingFrictionCoefficient(mu12);
159 m1S->setEffectiveElasticModulusAndRestitutionCoefficient(E1S, r1S);
160 m1S->setEffectiveShearModulus(G1S);
161 m1S->setSlidingFrictionCoefficient(mu1S);
164 m2S->setEffectiveElasticModulusAndRestitutionCoefficient(E2S, r2S);
165 m2S->setEffectiveShearModulus(G2S);
166 m2S->setSlidingFrictionCoefficient(mu2S);
Map< RowVectorXf > v2(M2.data(), M2.size())
M1<< 1, 2, 3, 4, 5, 6, 7, 8, 9;Map< RowVectorXf > v1(M1.data(), M1.size())
std::enable_if<!std::is_pointer< U >::value, U * >::type copyAndAddObject(const U &object)
Creates a copy of a Object and adds it to the BaseHandler.
Definition: BaseHandler.h:360
SpeciesHandler speciesHandler
A handler to that stores the species type i.e. LinearViscoelasticSpecies, etc.
Definition: DPMBase.h:1433
This adds on the hierarchical grid code for 3D problems.
Definition: Mercury3D.h:16
Definition: MercuryOS.h:17
static double getEffectiveElasticModulus(double E1, double v1, double E2, double v2)
Definition: MercuryOS.h:82
bool writeOutput() const
Definition: MercuryOS.h:36
static double getEffectiveShearModulus(double E1, double v1, double E2, double v2)
Definition: MercuryOS.h:90
bool test() const
Definition: MercuryOS.h:48
void setMaterialProperties()
Definition: MercuryOS.h:104
bool test_
Definition: MercuryOS.h:21
bool soft() const
Definition: MercuryOS.h:60
bool useMercuryWalls_
Definition: MercuryOS.h:23
void soft(bool soft)
Definition: MercuryOS.h:54
void useMercuryWalls(bool useMercuryWalls)
Definition: MercuryOS.h:66
void test(bool test)
Definition: MercuryOS.h:42
HertzianViscoelasticMindlinSpecies * m1
Definition: MercuryOS.h:98
bool soft_
Definition: MercuryOS.h:25
void writeOutput(bool writeOutput)
Definition: MercuryOS.h:30
HertzianViscoelasticMindlinSpecies * steel
Definition: MercuryOS.h:98
bool writeOutput_
Definition: MercuryOS.h:19
HertzianViscoelasticMindlinSpecies * m2
Definition: MercuryOS.h:98
bool useMercuryWalls() const
Definition: MercuryOS.h:72
void setDensity(Mdouble density)
Definition: ParticleSpecies.cc:88
std::enable_if<!std::is_pointer< typename U::MixedSpeciesType >::value, typename U::MixedSpeciesType * >::type getMixedObject(const U *S, const U *T)
Definition: SpeciesHandler.h:52
Contains material and contact force properties.
Definition: Species.h:14
Definition: indexed_view.cpp:20