Reg. swapping of boundary conditions with time

Dear Sir,

I am solving a consolidated drained test using the Mohr-Coulomb model. I would like to shift between Dirichlet and Neumann-type boundaries with time in a mechanics problem. For example, I want to apply the traction load on a boundary at time t=0. But later, I want to apply the displacement with a curve-scaled function.

Please let me know the ways to do that.

Thanks
Pavan.

Hi Pavan,

one way to achieve this is to split the simulation into two parts (i.e. separate OGS models/runs): one with the traction load, one with the displacement BC. You might have to be careful to properly transfer the internal state of your material model (if it has one, I’m not sure in your case) from the first to the second simulation.

Another approach is to use Python BCs, see my answer to your other question.

Dear Chleh,

Thank you very much for the clarification.

Are there any examples that show how to transfer the last solution from one study as an initial solution for another study?

Also, how to switch the python boundary from Dirichlet to flux? Is it by using an if condition in the python code?

Thanks
Pavan.

Are there any examples that show how to transfer the last solution from one study as an initial solution for another study?

I’ll try to find an example.

Also, how to switch the python boundary from Dirichlet to flux? Is it by using an if condition in the python code?

Yes, basically with an if condition and the True/False return.

Unfortunately there is no tutorial for restart. There are only some examples. One is this one.
There, the simulation starts from a preceding simulation result:

<mesh>A2_ts_76_t_2764800.000000.vtu</mesh>

Stresses and strains will be set from the <FieldData> of that vtu file:

    <FieldData>
      <DataArray type="Int8" Name="IntegrationPointMetaData" NumberOfTuples="166" format="appended" RangeMin="34"                   RangeMax="125"                  offset="0"                   />
      <DataArray type="Int8" Name="OGS_VERSION" NumberOfTuples="27" format="appended" RangeMin="45"                   RangeMax="121"                  offset="176"                 />
      <DataArray type="Float64" Name="epsilon_ip" NumberOfComponents="6" NumberOfTuples="3375" format="appended" RangeMin="2.7685604482e-19"     RangeMax="0.003117329175"       offset="268"                 />
      <DataArray type="Float64" Name="sigma_ip" NumberOfComponents="6" NumberOfTuples="3375" format="appended" RangeMin="6331629.4687"         RangeMax="27617836.037"         offset="158400"              />
    </FieldData>

It’s not easy to work with <FieldData>. You best set it with an initial simulation.
It’s also not easy to visualize it. This tool might help. We’ll try to improve that situation in the future.

For simulation restart you might have to check the start and end times of the simulations.
Most things are autowired, but simulation restart is an advanced topic and there might be lots of caveats.