Impose steady-state solution as BC for transient evolution #21072
Replies: 3 comments 19 replies
-
|
Hello There are a few options. Then you transfer the output of this integration to a Receiver using these Then you use a PostprocessorDirichletBC if that is how this information is used in the transient solve boundaries. Guillaume |
Beta Was this translation helpful? Give feedback.
-
|
Hi @GiudGiud, I could implement the different points you shared to make a multiApp feeding the steady state solution into the BC of the transient. With a side integral for the moment. I'm running transient_parent.i that uses steady_subapp.i and mesh.e. With cAr.sh which is a -dummy- wrapper for compilation and run, used here with However I get the following error: *** ERROR ***
Unable to locate object: .I found this issue but somehow can't understand because I don't see any Thank you a lot for your help! |
Beta Was this translation helpful? Give feedback.
-
|
Can you paste the transfer and multi app blocks here?
Looks like that s where the problem is.
It might be due to the migration to the to_/from_multiapp parameter let’s check
… Le 9 juin 2022 à 04:05, Adrien Wehrlé ***@***.***> a écrit :
I am unfortunately a bit stuck in the debugging... I use gdb and set a breakpoint on abort, but then don't really know which variables to check.
Here is the gdb log:
*** ERROR ***
Unable to locate object: .
Stack frames: 15
0: libMesh::print_trace(std::ostream&)
1: moose::internal::mooseErrorRaw(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)
2: void mooseError<char const (&) [26], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [2]>(char const (&) [26], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [2])
3: MooseObjectWarehouseBase<MultiApp>::getObject(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int) const
4: FEProblemBase::getMultiApp(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const
5: FEProblemBase::addTransfer(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, InputParameters&)
6: AddTransferAction::act()
7: Action::timedAct()
8: ActionWarehouse::executeActionsWithAction(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
9: ActionWarehouse::executeAllActions()
10: MooseApp::runInputFile()
11: MooseApp::run()
12: /home/guschti/COEBELI/COEBELI_modelling/moose_projects/kiliffak/mastodon-dbg(+0xa7fb) [0x55555555e7fb]
13: __libc_start_main
14: /home/guschti/COEBELI/COEBELI_modelling/moose_projects/kiliffak/mastodon-dbg(+0xa089) [0x55555555e089]
Thread 1 "mastodon-dbg" hit Breakpoint 1, 0x00007fffe65af880 in PMPI_Abort ()
from /home/guschti/mambaforge3/envs/moose/lib/libmpi.so.12
What I understand from the log is the problem is definitely coming from my transfer object trying to link to the subapp but fails, as expected initially.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.
|
Beta Was this translation helpful? Give feedback.



Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi everyone,
Application
simulating the elastic deformation of a material in different situations, I am first applying gravity to my domain at the first step to obtain a steady-state using a control as e.g. here.
My domain is infinitely long so I am using a periodic BC. However, because periodic, as soon as I apply a transient forcing resulting in the propagation of a deformation, this wave gets propagated through the boundary and back. This is expected, but problematic in my transient state because creating some fake deformation!
What I would like to do
I am currently loading my domain with periodic boundary conditions, and would like to use the solution of that steady state at the boundaries as boundary conditions for the rest of the simulation which is transient. And therefore turn off the periodicity after loading to prevent the periodic propagation of waves as described above. With the aim of having boundary conditions that actually makes sense, and that correspond to the loaded steady state.
What I have done so far
I am currently trying to achieve this with what sounds like a bad solution:
In practice, a sort of similar idea as in this Mastodon example where a csv file is used in a
PresetAcceleration.... Except here the solution is nodal and not just a scalar...But still, this solution sounds wrong and bad, writing out of MOOSE to read in again. I feel like there should be a way to extract the solution at a given timestep and given boundary, and preset it as a BC. All of that without I/O external to MOOSE.
Maybe there is something to do with a
ADFunctionDirichletBC-like object but where the extracted time step at the boundary would be passed? Like aPostprocessorDirichletBC? But I can't find a way to extract my time step at boundary...Any help/advice would be much appreciated! Thank you a lot in advance!
Beta Was this translation helpful? Give feedback.
All reactions