Skip to content

Commit

Permalink
Merge pull request #13 from fabricix/nodal_point_load
Browse files Browse the repository at this point in the history
Nodal point load for Boussinesq's problem
  • Loading branch information
fabricix authored Jan 2, 2025
2 parents def2cbb + 1674220 commit f144b9d
Show file tree
Hide file tree
Showing 176 changed files with 4,433 additions and 1,257 deletions.
4 changes: 2 additions & 2 deletions build/msbuild/MPM-Geomechanics.vcxproj.user
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LocalDebuggerCommandArguments>seismic-column.json</LocalDebuggerCommandArguments>
<LocalDebuggerWorkingDirectory>C:\Users\fabri\MPM\MPM-Geomechanics\tests\seismic-load</LocalDebuggerWorkingDirectory>
<LocalDebuggerCommandArguments>boussinesq-problem.json</LocalDebuggerCommandArguments>
<LocalDebuggerWorkingDirectory>C:\Users\fabri\MPM\MPM-Geomechanics\tests\boussinesq problem</LocalDebuggerWorkingDirectory>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
</PropertyGroup>
</Project>
Binary file added docs/Boussinesq-problem.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions docs/Input_8h.html
Original file line number Diff line number Diff line change
Expand Up @@ -280,6 +280,9 @@
<tr class="memitem:a38dd844d4e499c46c0e7530a83939fb4" id="r_a38dd844d4e499c46c0e7530a83939fb4"><td class="memItemLeft" align="right" valign="top">vector&lt; <a class="el" href="structLoads_1_1LoadDistributedBox.html">Loads::LoadDistributedBox</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceInput.html#a38dd844d4e499c46c0e7530a83939fb4">Input::getLoadDistributedBox</a> ()</td></tr>
<tr class="memdesc:a38dd844d4e499c46c0e7530a83939fb4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return loads distributed in particles inside a box. <br /></td></tr>
<tr class="separator:a38dd844d4e499c46c0e7530a83939fb4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4af9571f7842a96471572cd550d598a9" id="r_a4af9571f7842a96471572cd550d598a9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structLoads_1_1NodalPointLoadData.html">Loads::NodalPointLoadData</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceInput.html#a4af9571f7842a96471572cd550d598a9">Input::readNodalPointLoads</a> ()</td></tr>
<tr class="memdesc:a4af9571f7842a96471572cd550d598a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">read nodal point loads This function reads a points from input file in the following format: "nodal_point_loads": [[p1x,p1y,p1z],[p1x,p1y,p1z]],...,[[pnx,pny,pnz],[pnx,pny,pnz]] <br /></td></tr>
<tr class="separator:a4af9571f7842a96471572cd550d598a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a22ce7cc2c2261b0784b944184c7efcb2" id="r_a22ce7cc2c2261b0784b944184c7efcb2"><td class="memItemLeft" align="right" valign="top">vector&lt; <a class="el" href="structLoads_1_1PressureBox.html">Loads::PressureBox</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceInput.html#a22ce7cc2c2261b0784b944184c7efcb2">Input::getPrescribedPressureBox</a> ()</td></tr>
<tr class="memdesc:a22ce7cc2c2261b0784b944184c7efcb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return prescribed pressure in particles inside a box. <br /></td></tr>
<tr class="separator:a22ce7cc2c2261b0784b944184c7efcb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
Expand Down
1 change: 1 addition & 0 deletions docs/Input_8h.js
Original file line number Diff line number Diff line change
Expand Up @@ -30,5 +30,6 @@ var Input_8h =
[ "getSolver", "Input_8h.html#a0aaddb07cda3d6c988f2c5db52bb488e", null ],
[ "getTimeStep", "Input_8h.html#a62b6f277358d9dd6b95f39001e12bae4", null ],
[ "readInputFile", "Input_8h.html#abb1fa3d31849a7acf80a9796da0242b0", null ],
[ "readNodalPointLoads", "Input_8h.html#a4af9571f7842a96471572cd550d598a9", null ],
[ "readSeismicData", "Input_8h.html#ab7aeff2285506645ef6c121dec4a0d44", null ]
];
30 changes: 17 additions & 13 deletions docs/Input_8h_source.html
Original file line number Diff line number Diff line change
Expand Up @@ -223,18 +223,20 @@
<div class="line"><a id="l00597" name="l00597"></a><span class="lineno"> 597</span> </div>
<div class="line"><a id="l00600" name="l00600"></a><span class="lineno"><a class="line" href="namespaceInput.html#a38dd844d4e499c46c0e7530a83939fb4"> 600</a></span> vector&lt;Loads::LoadDistributedBox&gt; <a class="code hl_function" href="namespaceInput.html#a38dd844d4e499c46c0e7530a83939fb4">getLoadDistributedBox</a>();</div>
<div class="line"><a id="l00601" name="l00601"></a><span class="lineno"> 601</span> </div>
<div class="line"><a id="l00604" name="l00604"></a><span class="lineno"><a class="line" href="namespaceInput.html#a22ce7cc2c2261b0784b944184c7efcb2"> 604</a></span> vector&lt;Loads::PressureBox&gt; <a class="code hl_function" href="namespaceInput.html#a22ce7cc2c2261b0784b944184c7efcb2">getPrescribedPressureBox</a>();</div>
<div class="line"><a id="l00605" name="l00605"></a><span class="lineno"> 605</span> </div>
<div class="line"><a id="l00608" name="l00608"></a><span class="lineno"><a class="line" href="namespaceInput.html#a97422e69d79524393797b06479882bb6"> 608</a></span> vector&lt;Loads::PressureBox&gt; <a class="code hl_function" href="namespaceInput.html#a97422e69d79524393797b06479882bb6">getInitialPressureBox</a>();</div>
<div class="line"><a id="l00609" name="l00609"></a><span class="lineno"> 609</span> </div>
<div class="line"><a id="l00612" name="l00612"></a><span class="lineno"><a class="line" href="namespaceInput.html#ae05caa1f4428920ef08d379cdc897d2e"> 612</a></span> vector&lt;Loads::PressureMaterial&gt; <a class="code hl_function" href="namespaceInput.html#ae05caa1f4428920ef08d379cdc897d2e">getInitialPressureMaterial</a>();</div>
<div class="line"><a id="l00613" name="l00613"></a><span class="lineno"> 613</span> </div>
<div class="line"><a id="l00616" name="l00616"></a><span class="lineno"><a class="line" href="namespaceInput.html#a938199e6c47c007f37b518b559e2ee43"> 616</a></span> vector&lt;Loads::PressureBoundaryForceBox&gt; <a class="code hl_function" href="namespaceInput.html#a938199e6c47c007f37b518b559e2ee43">getPressureBoundaryForceBox</a>();</div>
<div class="line"><a id="l00617" name="l00617"></a><span class="lineno"> 617</span> </div>
<div class="line"><a id="l00618" name="l00618"></a><span class="lineno"><a class="line" href="namespaceInput.html#ab7aeff2285506645ef6c121dec4a0d44"> 618</a></span> <a class="code hl_struct" href="structLoads_1_1SeismicData.html">Loads::SeismicData</a> <a class="code hl_function" href="namespaceInput.html#ab7aeff2285506645ef6c121dec4a0d44">readSeismicData</a>(<span class="keyword">const</span> std::string&amp; filename, <span class="keywordtype">bool</span> hasHeader);</div>
<div class="line"><a id="l00619" name="l00619"></a><span class="lineno"> 619</span>};</div>
<div class="line"><a id="l00620" name="l00620"></a><span class="lineno"> 620</span> </div>
<div class="line"><a id="l00621" name="l00621"></a><span class="lineno"> 621</span><span class="preprocessor">#endif </span><span class="comment">/* INPUT_H_ */</span><span class="preprocessor"></span></div>
<div class="line"><a id="l00606" name="l00606"></a><span class="lineno"><a class="line" href="namespaceInput.html#a4af9571f7842a96471572cd550d598a9"> 606</a></span> <a class="code hl_struct" href="structLoads_1_1NodalPointLoadData.html">Loads::NodalPointLoadData</a> <a class="code hl_function" href="namespaceInput.html#a4af9571f7842a96471572cd550d598a9">readNodalPointLoads</a>();</div>
<div class="line"><a id="l00607" name="l00607"></a><span class="lineno"> 607</span> </div>
<div class="line"><a id="l00610" name="l00610"></a><span class="lineno"><a class="line" href="namespaceInput.html#a22ce7cc2c2261b0784b944184c7efcb2"> 610</a></span> vector&lt;Loads::PressureBox&gt; <a class="code hl_function" href="namespaceInput.html#a22ce7cc2c2261b0784b944184c7efcb2">getPrescribedPressureBox</a>();</div>
<div class="line"><a id="l00611" name="l00611"></a><span class="lineno"> 611</span> </div>
<div class="line"><a id="l00614" name="l00614"></a><span class="lineno"><a class="line" href="namespaceInput.html#a97422e69d79524393797b06479882bb6"> 614</a></span> vector&lt;Loads::PressureBox&gt; <a class="code hl_function" href="namespaceInput.html#a97422e69d79524393797b06479882bb6">getInitialPressureBox</a>();</div>
<div class="line"><a id="l00615" name="l00615"></a><span class="lineno"> 615</span> </div>
<div class="line"><a id="l00618" name="l00618"></a><span class="lineno"><a class="line" href="namespaceInput.html#ae05caa1f4428920ef08d379cdc897d2e"> 618</a></span> vector&lt;Loads::PressureMaterial&gt; <a class="code hl_function" href="namespaceInput.html#ae05caa1f4428920ef08d379cdc897d2e">getInitialPressureMaterial</a>();</div>
<div class="line"><a id="l00619" name="l00619"></a><span class="lineno"> 619</span> </div>
<div class="line"><a id="l00622" name="l00622"></a><span class="lineno"><a class="line" href="namespaceInput.html#a938199e6c47c007f37b518b559e2ee43"> 622</a></span> vector&lt;Loads::PressureBoundaryForceBox&gt; <a class="code hl_function" href="namespaceInput.html#a938199e6c47c007f37b518b559e2ee43">getPressureBoundaryForceBox</a>();</div>
<div class="line"><a id="l00623" name="l00623"></a><span class="lineno"> 623</span> </div>
<div class="line"><a id="l00624" name="l00624"></a><span class="lineno"><a class="line" href="namespaceInput.html#ab7aeff2285506645ef6c121dec4a0d44"> 624</a></span> <a class="code hl_struct" href="structLoads_1_1SeismicData.html">Loads::SeismicData</a> <a class="code hl_function" href="namespaceInput.html#ab7aeff2285506645ef6c121dec4a0d44">readSeismicData</a>(<span class="keyword">const</span> std::string&amp; filename, <span class="keywordtype">bool</span> hasHeader);</div>
<div class="line"><a id="l00625" name="l00625"></a><span class="lineno"> 625</span>};</div>
<div class="line"><a id="l00626" name="l00626"></a><span class="lineno"> 626</span> </div>
<div class="line"><a id="l00627" name="l00627"></a><span class="lineno"> 627</span><span class="preprocessor">#endif </span><span class="comment">/* INPUT_H_ */</span><span class="preprocessor"></span></div>
<div class="ttc" id="aBoundary_8h_html"><div class="ttname"><a href="Boundary_8h.html">Boundary.h</a></div></div>
<div class="ttc" id="aInput_8h_html_ab701e3ac61a85b337ec5c1abaad6742d"><div class="ttname"><a href="Input_8h.html#ab701e3ac61a85b337ec5c1abaad6742d">json</a></div><div class="ttdeci">nlohmann::json json</div><div class="ttdef"><b>Definition</b> Input.h:15</div></div>
<div class="ttc" id="aLoads_8h_html"><div class="ttname"><a href="Loads_8h.html">Loads.h</a></div></div>
Expand All @@ -253,6 +255,7 @@
<div class="ttc" id="anamespaceInput_html_a38dd844d4e499c46c0e7530a83939fb4"><div class="ttname"><a href="namespaceInput.html#a38dd844d4e499c46c0e7530a83939fb4">Input::getLoadDistributedBox</a></div><div class="ttdeci">vector&lt; Loads::LoadDistributedBox &gt; getLoadDistributedBox()</div><div class="ttdoc">Return loads distributed in particles inside a box.</div></div>
<div class="ttc" id="anamespaceInput_html_a439b092b2d3d47fab42c5de5fa494a67"><div class="ttname"><a href="namespaceInput.html#a439b092b2d3d47fab42c5de5fa494a67">Input::getJson</a></div><div class="ttdeci">const json &amp; getJson()</div><div class="ttdoc">Return the data file structure.</div></div>
<div class="ttc" id="anamespaceInput_html_a4855a7486e30198da32c4b2c5cc31379"><div class="ttname"><a href="namespaceInput.html#a4855a7486e30198da32c4b2c5cc31379">Input::getGravity</a></div><div class="ttdeci">Vector3d getGravity()</div><div class="ttdoc">Return the gravity force.</div></div>
<div class="ttc" id="anamespaceInput_html_a4af9571f7842a96471572cd550d598a9"><div class="ttname"><a href="namespaceInput.html#a4af9571f7842a96471572cd550d598a9">Input::readNodalPointLoads</a></div><div class="ttdeci">Loads::NodalPointLoadData readNodalPointLoads()</div><div class="ttdoc">read nodal point loads This function reads a points from input file in the following format: &quot;nodal_p...</div></div>
<div class="ttc" id="anamespaceInput_html_a4eeba9dd74dc17cee6267ba774ca8a78"><div class="ttname"><a href="namespaceInput.html#a4eeba9dd74dc17cee6267ba774ca8a78">Input::getMeshBoundaryConditions</a></div><div class="ttdeci">vector&lt; Boundary::BoundaryType &gt; getMeshBoundaryConditions()</div><div class="ttdoc">Return the mesh boundary conditions.</div></div>
<div class="ttc" id="anamespaceInput_html_a5bf735c8349c8f8e8498d4759b537346"><div class="ttname"><a href="namespaceInput.html#a5bf735c8349c8f8e8498d4759b537346">Input::getCellsNum</a></div><div class="ttdeci">Vector3i getCellsNum()</div><div class="ttdoc">Return the number of cells in each direction.</div></div>
<div class="ttc" id="anamespaceInput_html_a5de246ace76db47015f0af32c9e7eea6"><div class="ttname"><a href="namespaceInput.html#a5de246ace76db47015f0af32c9e7eea6">Input::getResultFields</a></div><div class="ttdeci">vector&lt; string &gt; getResultFields()</div><div class="ttdoc">Return the fields to be written.</div></div>
Expand All @@ -275,7 +278,8 @@
<div class="ttc" id="anamespaceInput_html_afba47624d2c22b55c4d2a38f4790de7e"><div class="ttname"><a href="namespaceInput.html#afba47624d2c22b55c4d2a38f4790de7e">Input::getSaveState</a></div><div class="ttdeci">bool getSaveState()</div><div class="ttdoc">Return save state activated.</div></div>
<div class="ttc" id="anamespaceModelSetup_html_a00e7195f09f9bd709ef76fce4eb77698"><div class="ttname"><a href="namespaceModelSetup.html#a00e7195f09f9bd709ef76fce4eb77698">ModelSetup::DampingType</a></div><div class="ttdeci">DampingType</div><div class="ttdoc">Defines the type of damping.</div><div class="ttdef"><b>Definition</b> Model.h:29</div></div>
<div class="ttc" id="anamespaceModelSetup_html_a73c7cfb411f9b3b1062e5fbe694051ab"><div class="ttname"><a href="namespaceModelSetup.html#a73c7cfb411f9b3b1062e5fbe694051ab">ModelSetup::InterpolationFunctionType</a></div><div class="ttdeci">InterpolationFunctionType</div><div class="ttdoc">Defines the type of interpolation function.</div><div class="ttdef"><b>Definition</b> Model.h:37</div></div>
<div class="ttc" id="astructLoads_1_1SeismicData_html"><div class="ttname"><a href="structLoads_1_1SeismicData.html">Loads::SeismicData</a></div><div class="ttdoc">Seismic data structure to manage acceleration and velocity of an earthquake record.</div><div class="ttdef"><b>Definition</b> Loads.h:88</div></div>
<div class="ttc" id="astructLoads_1_1NodalPointLoadData_html"><div class="ttname"><a href="structLoads_1_1NodalPointLoadData.html">Loads::NodalPointLoadData</a></div><div class="ttdef"><b>Definition</b> Loads.h:36</div></div>
<div class="ttc" id="astructLoads_1_1SeismicData_html"><div class="ttname"><a href="structLoads_1_1SeismicData.html">Loads::SeismicData</a></div><div class="ttdoc">Seismic data structure to manage acceleration and velocity of an earthquake record.</div><div class="ttdef"><b>Definition</b> Loads.h:97</div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
Expand Down
8 changes: 8 additions & 0 deletions docs/Loads_8h.html
Original file line number Diff line number Diff line change
Expand Up @@ -184,6 +184,8 @@
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structLoads_1_1LoadDistributedBox.html">Loads::LoadDistributedBox</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure to define a distributed load in particles inside the cuboid defined by point p1 and p2. <a href="structLoads_1_1LoadDistributedBox.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structLoads_1_1NodalPointLoadData.html">Loads::NodalPointLoadData</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structLoads_1_1PressureBox.html">Loads::PressureBox</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure to represent a box with a pressure. Pressure in applied to particles inside the cuboid defined by point p1 and p2. <a href="structLoads_1_1PressureBox.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
Expand Down Expand Up @@ -238,6 +240,12 @@
<tr class="memitem:a9d91d188d9343c0d4b35705604b6b3d1" id="r_a9d91d188d9343c0d4b35705604b6b3d1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceLoads.html#a9d91d188d9343c0d4b35705604b6b3d1">Loads::setInitialVelocity</a> (vector&lt; <a class="el" href="classBody.html">Body</a> * &gt; &amp;bodies)</td></tr>
<tr class="memdesc:a9d91d188d9343c0d4b35705604b6b3d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set initial velocity in bodies. <br /></td></tr>
<tr class="separator:a9d91d188d9343c0d4b35705604b6b3d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70b671a26b22a970ebdb930b2c43a505" id="r_a70b671a26b22a970ebdb930b2c43a505"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceLoads.html#a70b671a26b22a970ebdb930b2c43a505">Loads::configureNodalPointLoads</a> (<a class="el" href="classMesh.html">Mesh</a> *)</td></tr>
<tr class="memdesc:a70b671a26b22a970ebdb930b2c43a505"><td class="mdescLeft">&#160;</td><td class="mdescRight">configure nodeid-point-load data for nodal force application <br /></td></tr>
<tr class="separator:a70b671a26b22a970ebdb930b2c43a505"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a67971878871ece27ff54401ffcd9a5ff" id="r_a67971878871ece27ff54401ffcd9a5ff"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structLoads_1_1NodalPointLoadData.html">NodalPointLoadData</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceLoads.html#a67971878871ece27ff54401ffcd9a5ff">Loads::getNodalPointList</a> ()</td></tr>
<tr class="memdesc:a67971878871ece27ff54401ffcd9a5ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get (node-id load) vector for set nodal point load. <br /></td></tr>
<tr class="separator:a67971878871ece27ff54401ffcd9a5ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div><!-- doc-content -->
Expand Down
3 changes: 3 additions & 0 deletions docs/Loads_8h.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
var Loads_8h =
[
[ "Loads::LoadDistributedBox", "structLoads_1_1LoadDistributedBox.html", "structLoads_1_1LoadDistributedBox" ],
[ "Loads::NodalPointLoadData", "structLoads_1_1NodalPointLoadData.html", "structLoads_1_1NodalPointLoadData" ],
[ "Loads::PressureBox", "structLoads_1_1PressureBox.html", "structLoads_1_1PressureBox" ],
[ "Loads::PressureBoundaryForceBox", "structLoads_1_1PressureBoundaryForceBox.html", "structLoads_1_1PressureBoundaryForceBox" ],
[ "Loads::PressureMaterial", "structLoads_1_1PressureMaterial.html", "structLoads_1_1PressureMaterial" ],
[ "Loads::PrescribedPorePressure", "structLoads_1_1PrescribedPorePressure.html", "structLoads_1_1PrescribedPorePressure" ],
[ "Loads::SeismicData", "structLoads_1_1SeismicData.html", "structLoads_1_1SeismicData" ],
[ "configureNodalPointLoads", "Loads_8h.html#a70b671a26b22a970ebdb930b2c43a505", null ],
[ "getNodalPointList", "Loads_8h.html#a67971878871ece27ff54401ffcd9a5ff", null ],
[ "getSeismicData", "Loads_8h.html#ac2794cc202d1527d21f610dd1bfc4310", null ],
[ "setGravity", "Loads_8h.html#a1a2299651bd04336c8233e10785aca1b", null ],
[ "setInitialPorePressureBox", "Loads_8h.html#ab69a7f18bdaf04c6fd6197f465ac9446", null ],
Expand Down
Loading

0 comments on commit f144b9d

Please sign in to comment.