[deal.II] How to Set Two Constraints on A Single dof Index on Boundaries? (P=0 and \delta P = 0)

2024-07-22 Thread Lex Lee
Hello Deal.ii Friends,

I want to set 2 constraints (P = 0 and \delta P = 0) on the scalar pressure 
variable on a single point (4, 0.1) at the outlet. Here, \delta P is the 
Newton's iteration update value for P.

I used "constraints_hp_nonzero" to interpolate the real boundary values for 
my physical problem and "constraints_newton_boundary" to interpolate the 
Newton updates values on the boundaries.

I found that one can only set one type of constraint on a singel index. 
Therefore, the following snippet code would generate errors, since I was 
trying to set 2 different constraints simultaneously on the same dof index. 

Point point(4.0, 0.1);
std::set constrained_dofs;
const unsigned int pressure_component = extractor_stokes_pressure.component;
for (const auto &cell : 
dof_handler.active_cell_iterators())
{
if (cell->is_locally_owned() )
{
for (unsigned int v=0; 
v::vertices_per_cell; ++v)
{
if (cell->vertex(v).distance(point) < 1e-8)
{
// get the index 
unsigned int dof_index = 
cell->vertex_dof_index(v,

pressure_component);

if (constrained_dofs.find(dof_index) == 
constrained_dofs.end())
{
pcout << "index" << dof_index << 
std::endl;

//constraints_newton_boundary.add_line(dof_index);


constraints_hp_nonzero.add_line(dof_index);
constrained_dofs.insert(dof_index);
}
}
}
}
}

Back to my problem. 

If I want to successfully impose the 2 constraints: P=0  and delta P=0 on 
point (4,0.1), does it exist a better way? Could you kindly give me some 
hints?


I appreciate any reply to my question here. 


Regards,
Lee

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/259ea4a1-edab-451a-82c4-31f514e0ed5dn%40googlegroups.com.


Re: [deal.II] Error of Installing Deal.ii 9.5.2 on Intel-based Mac Devices

2024-02-26 Thread Lex Lee
Not fixed yet.   -Lex

On Mon, Feb 26, 2024 at 5:14 AM Ester Comellas 
wrote:

> Hi Luca, hi Lex
>
> Has this issue been solved? I'm trying to install deal.II on my macOS
> Sonoma 14.3.1 with an Intel processor using the dmg package
> "dealii-9.5.2-sonoma-intel.dmg" and get an error like the one Lex reported.
> Any help on how to get deal.II running on my laptopt will be appreciated!
>
> Best,
> Ester
>
> El dia dilluns, 5 de febrer del 2024 a les 12:24:57 UTC+1,
> hitl...@gmail.com va escriure:
>
>> Hello Luca,
>>
>>
>> Thank you for your kind reply.
>>
>> I have 2 Intel-based mac devices. MacOS version on these 2 devices:
>> Ventura + Sonoma. Both are installed with deal.ii version 9.5.2 and the
>> latest compatible Xcode version. Unluckily, deal.ii 9.5.2 failed to run on
>> these 2 devices.
>>
>>
>> Best,
>> Lex
>>
>> On Sun, Feb 4, 2024 at 11:56 PM Luca Heltai  wrote:
>>
>>> Dear Lex,
>>>
>>> I see you are using a spack installed version of the dmg package.
>>>
>>> What package version is this? What OS version do you have (i.e., is this
>>> sonoma?). If you upgraded to sonoma, and are still using the old package,
>>> this cannot work, since the compiler has changed with the upgrade.
>>>
>>> If you use the 9.5.2 package, deal.II comes pre-installed. Does that
>>> work for you?
>>>
>>> L.
>>>
>>> > On 3 Feb 2024, at 21:35, Lex Lee  wrote:
>>> >
>>> > I got the following error messages
>>> >
>>> >
>>> > -- Detecting CXX compiler ABI info - failed
>>> > -- Check for working CXX compiler: /Applications/
>>> deal.II.app/Contents/Resources/spack/lib/spack/env/clang/clang++
>>> > -- Check for working CXX compiler: /Applications/
>>> deal.II.app/Contents/Resources/spack/lib/spack/env/clang/clang++ -
>>> broken
>>> > CMake Error at
>>> /usr/local/Cellar/cmake/3.28.2/share/cmake/Modules/CMakeTestCXXCompiler.cmake:60
>>> (message):
>>> >   The C++ compiler
>>> >
>>> > "/Applications/
>>> deal.II.app/Contents/Resources/spack/lib/spack/env/clang/clang++"
>>> >
>>> >   is not able to compile a simple test program.
>>> >
>>> >   It fails with the following output:
>>> >
>>> > Change Dir: '/Applications/
>>> deal.II.app/Contents/Resources/Libraries/share/deal.II/examples/step-32/CMakeFiles/CMakeScratch/TryCompile-Fkp1zK
>>> '
>>> >
>>> > Run Build Command(s): /usr/local/Cellar/cmake/3.28.2/bin/cmake -E
>>> env VERBOSE=1 /usr/bin/make -f Makefile cmTC_e8efc/fast
>>> > /Library/Developer/CommandLineTools/usr/bin/make  -f
>>> CMakeFiles/cmTC_e8efc.dir/build.make CMakeFiles/cmTC_e8efc.dir/build
>>> > Building CXX object CMakeFiles/cmTC_e8efc.dir/testCXXCompiler.cxx.o
>>> > /Applications/
>>> deal.II.app/Contents/Resources/spack/lib/spack/env/clang/clang++-o
>>> CMakeFiles/cmTC_e8efc.dir/testCXXCompiler.cxx.o -c /Applications/
>>> deal.II.app/Contents/Resources/Libraries/share/deal.II/examples/step-32/CMakeFiles/CMakeScratch/TryCompile-Fkp1zK/testCXXCompiler.cxx
>>> > [spack cc] ERROR: Spack compiler must be run from Spack! Input
>>> 'SPACK_ENV_PATH' is missing.
>>> > make[1]: *** [CMakeFiles/cmTC_e8efc.dir/testCXXCompiler.cxx.o]
>>> Error 1
>>> > make: *** [cmTC_e8efc/fast] Error 2
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >   CMake will not be able to correctly generate this project.
>>> > Call Stack (most recent call first):
>>> >   CMakeLists.txt:58 (project)
>>> >
>>> >
>>> > What happened? Thank you for your valuable time.
>>> >
>>> > --
>>> > The deal.II project is located at http://www.dealii.org/
>>> > For mailing list/forum options, see
>>> https://groups.google.com/d/forum/dealii?hl=en
>>> > ---
>>> > You received this message because you are subscribed to the Google
>>> Groups "deal.II User Group" group.
>>> > To unsubscribe from this group and stop receiving emails from it, send
>>> an email to dealii+un...@googlegroups.com.
>>> > To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/dealii/8b2f0f8e-7b7e-4a66-9853-6b2e8b909820n%40googlegroups.com
>>

Re: [deal.II] Error of Installing Deal.ii 9.5.2 on Intel-based Mac Devices

2024-02-05 Thread Lex Lee
Hello Luca,


Thank you for your kind reply.

I have 2 Intel-based mac devices. MacOS version on these 2 devices: Ventura
+ Sonoma. Both are installed with deal.ii version 9.5.2 and the latest
compatible Xcode version. Unluckily, deal.ii 9.5.2 failed to run on these 2
devices.


Best,
Lex

On Sun, Feb 4, 2024 at 11:56 PM Luca Heltai  wrote:

> Dear Lex,
>
> I see you are using a spack installed version of the dmg package.
>
> What package version is this? What OS version do you have (i.e., is this
> sonoma?). If you upgraded to sonoma, and are still using the old package,
> this cannot work, since the compiler has changed with the upgrade.
>
> If you use the 9.5.2 package, deal.II comes pre-installed. Does that work
> for you?
>
> L.
>
> > On 3 Feb 2024, at 21:35, Lex Lee  wrote:
> >
> > I got the following error messages
> >
> >
> > -- Detecting CXX compiler ABI info - failed
> > -- Check for working CXX compiler: /Applications/
> deal.II.app/Contents/Resources/spack/lib/spack/env/clang/clang++
> > -- Check for working CXX compiler: /Applications/
> deal.II.app/Contents/Resources/spack/lib/spack/env/clang/clang++ - broken
> > CMake Error at
> /usr/local/Cellar/cmake/3.28.2/share/cmake/Modules/CMakeTestCXXCompiler.cmake:60
> (message):
> >   The C++ compiler
> >
> > "/Applications/
> deal.II.app/Contents/Resources/spack/lib/spack/env/clang/clang++"
> >
> >   is not able to compile a simple test program.
> >
> >   It fails with the following output:
> >
> > Change Dir: '/Applications/
> deal.II.app/Contents/Resources/Libraries/share/deal.II/examples/step-32/CMakeFiles/CMakeScratch/TryCompile-Fkp1zK
> '
> >
> > Run Build Command(s): /usr/local/Cellar/cmake/3.28.2/bin/cmake -E
> env VERBOSE=1 /usr/bin/make -f Makefile cmTC_e8efc/fast
> > /Library/Developer/CommandLineTools/usr/bin/make  -f
> CMakeFiles/cmTC_e8efc.dir/build.make CMakeFiles/cmTC_e8efc.dir/build
> > Building CXX object CMakeFiles/cmTC_e8efc.dir/testCXXCompiler.cxx.o
> > /Applications/
> deal.II.app/Contents/Resources/spack/lib/spack/env/clang/clang++-o
> CMakeFiles/cmTC_e8efc.dir/testCXXCompiler.cxx.o -c /Applications/
> deal.II.app/Contents/Resources/Libraries/share/deal.II/examples/step-32/CMakeFiles/CMakeScratch/TryCompile-Fkp1zK/testCXXCompiler.cxx
> > [spack cc] ERROR: Spack compiler must be run from Spack! Input
> 'SPACK_ENV_PATH' is missing.
> > make[1]: *** [CMakeFiles/cmTC_e8efc.dir/testCXXCompiler.cxx.o] Error
> 1
> > make: *** [cmTC_e8efc/fast] Error 2
> >
> >
> >
> >
> >
> >   CMake will not be able to correctly generate this project.
> > Call Stack (most recent call first):
> >   CMakeLists.txt:58 (project)
> >
> >
> > What happened? Thank you for your valuable time.
> >
> > --
> > The deal.II project is located at http://www.dealii.org/
> > For mailing list/forum options, see
> https://groups.google.com/d/forum/dealii?hl=en
> > ---
> > You received this message because you are subscribed to the Google
> Groups "deal.II User Group" group.
> > To unsubscribe from this group and stop receiving emails from it, send
> an email to dealii+unsubscr...@googlegroups.com.
> > To view this discussion on the web visit
> https://groups.google.com/d/msgid/dealii/8b2f0f8e-7b7e-4a66-9853-6b2e8b909820n%40googlegroups.com
> .
>
> --
> The deal.II project is located at http://www.dealii.org/
> For mailing list/forum options, see
> https://groups.google.com/d/forum/dealii?hl=en
> ---
> You received this message because you are subscribed to a topic in the
> Google Groups "deal.II User Group" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/dealii/3X-tLW7i10k/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> dealii+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/dealii/A95D4F7D-E073-4503-88B7-3DB9C0EB9659%40gmail.com
> .
>

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/CAG0BxGZ%2BMk_VjOfD83eoaSPhQyCYSDWmeJUeMMEkdvosAJHiUg%40mail.gmail.com.


Re: [deal.II] Error of Installing Deal.ii 9.5.2 on Intel-based Mac Devices

2024-02-04 Thread Lex Lee
Hello Prof. Bangerth,

Thanks for your instant reply.

I just use "brew install spack" in the command line.

Previous version of deal.ii app on macos platform can run successfully.
However, the latest version 9.5.2 can not.

Best,
Lex

On Sun, Feb 4, 2024 at 12:40 PM Wolfgang Bangerth 
wrote:

> On 2/3/24 13:35, Lex Lee wrote:
> >The C++ compiler
> >
> >
> >
> > "/Applications/
> deal.II.app/Contents/Resources/spack/lib/spack/env/clang/clang++"
> >
> >
> >is not able to compile a simple test program.
> >
>
> Lex:
> As the error message says, your compiler does not work. How did you
> install
> this compiler?
> Best
>   W.
>
> --
> 
> Wolfgang Bangerth  email: bange...@colostate.edu
> www: http://www.math.colostate.edu/~bangerth/
>
>
> --
> The deal.II project is located at http://www.dealii.org/
> For mailing list/forum options, see
> https://groups.google.com/d/forum/dealii?hl=en
> ---
> You received this message because you are subscribed to a topic in the
> Google Groups "deal.II User Group" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/dealii/3X-tLW7i10k/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> dealii+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/dealii/d8d9d933-0cb5-4544-a93b-9dcd871adf3b%40colostate.edu
> .
>

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/CAG0BxGap-4ZrZxk9CMoYmzKiXzphBPgE37Dv28w6wez2F_K6sQ%40mail.gmail.com.


[deal.II] Error of Installing Deal.ii 9.5.2 on Intel-based Mac Devices

2024-02-03 Thread Lex Lee
 

I got the following error messages



-- Detecting CXX compiler ABI info - failed

-- Check for working CXX compiler: 
/Applications/deal.II.app/Contents/Resources/spack/lib/spack/env/clang/clang++

-- Check for working CXX compiler: 
/Applications/deal.II.app/Contents/Resources/spack/lib/spack/env/clang/clang++ 
- broken

CMake Error at 
/usr/local/Cellar/cmake/3.28.2/share/cmake/Modules/CMakeTestCXXCompiler.cmake:60
 
(message):

  The C++ compiler



"/Applications/deal.II.app/Contents/Resources/spack/lib/spack/env/clang/clang++"


  is not able to compile a simple test program.


  It fails with the following output:


Change Dir: 
'/Applications/deal.II.app/Contents/Resources/Libraries/share/deal.II/examples/step-32/CMakeFiles/CMakeScratch/TryCompile-Fkp1zK'



Run Build Command(s): /usr/local/Cellar/cmake/3.28.2/bin/cmake -E env 
VERBOSE=1 /usr/bin/make -f Makefile cmTC_e8efc/fast

/Library/Developer/CommandLineTools/usr/bin/make  -f 
CMakeFiles/cmTC_e8efc.dir/build.make CMakeFiles/cmTC_e8efc.dir/build

Building CXX object CMakeFiles/cmTC_e8efc.dir/testCXXCompiler.cxx.o


/Applications/deal.II.app/Contents/Resources/spack/lib/spack/env/clang/clang++  
  -o CMakeFiles/cmTC_e8efc.dir/testCXXCompiler.cxx.o -c 
/Applications/deal.II.app/Contents/Resources/Libraries/share/deal.II/examples/step-32/CMakeFiles/CMakeScratch/TryCompile-Fkp1zK/testCXXCompiler.cxx

[spack cc] ERROR: Spack compiler must be run from Spack! Input 
'SPACK_ENV_PATH' is missing.

make[1]: *** [CMakeFiles/cmTC_e8efc.dir/testCXXCompiler.cxx.o] Error 1

make: *** [cmTC_e8efc/fast] Error 2






  


  CMake will not be able to correctly generate this project.

Call Stack (most recent call first):

  CMakeLists.txt:58 (project)



What happened? Thank you for your valuable time.

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/8b2f0f8e-7b7e-4a66-9853-6b2e8b909820n%40googlegroups.com.


Re: [deal.II] Errors in get_function_gradients() using PETSc

2023-10-25 Thread Lex Lee
Refer to the 2 pictures in the first email. 

The compilier tells me.

When an error occurred, it will backtrace the error and output the status 
&& values of something. 

Regarding this function,  get_dof_values(values, local_values.begin(), 
local_values.end());

the compilier says these 3 inputs are not on the locally owned cells. 



Lex
On Wednesday, October 25, 2023 at 12:53:09 PM UTC-7 Wolfgang Bangerth wrote:

>
> On 10/25/23 13:31, Lex Lee wrote:
> > 
> > Actually it is the output error message from the command line.
>
> Then how do you know that the problem happens because you are trying to 
> call get_dof_indices() on a ghost or artificial cell?
>
> Best
> W.
>

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/c06be5d1-9f55-4172-b490-ed9c186c5879n%40googlegroups.com.


Re: [deal.II] Errors in get_function_gradients() using PETSc

2023-10-25 Thread Lex Lee
I suspect this is some output you get from the debugger?

No, not from the debugger. 

Actually it is the output error message from the command line.


Lex


On Wednesday, October 25, 2023 at 12:23:32 PM UTC-7 Wolfgang Bangerth wrote:

>
>
> On 10/25/23 10:52, Lex Lee wrote:
> > 
> > Did you mean what is the thrown error message in the command line?
>
> Yes. What is the error message you see when you run the program on the 
> command line?
>
>
> > input: mpirun -np 2 ./v1.0
> > 
> > output :
> > corrupted double-linked list
> > Decompressing section '.debug_rnglists'...inflated from 6492533 to 
> > 22203369 bytes
>
> I suspect this is some output you get from the debugger?
>
> Best
> W.
>

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/c9bfd594-a228-457b-b4c4-87b8553191e0n%40googlegroups.com.


Re: [deal.II] Errors in get_function_gradients() using PETSc

2023-10-25 Thread Lex Lee

Hello Prof. Bangerth,

Thanks for your reply.

"you show the backtrace, but what is the actual error message you observe?"

Did you mean what is the thrown error message in the command line?

input: mpirun -np 2 ./v1.0

output :
corrupted double-linked list
Decompressing section '.debug_rnglists'...inflated from 6492533 to 22203369 
bytes

it stopped at this line
this->local_assemble_volume(cell, scratch, copy_data);

in the worker function
   auto worker =
  [this](const typename DoFHandler::active_cell_iterator &cell,
  ScratchData & scratch,
  PerTaskData & copy_data) {
this->local_assemble_volume(cell, scratch, copy_data);
  };


Did I understand your question clear?



Lex
On Wednesday, October 25, 2023 at 7:35:05 AM UTC-7 Wolfgang Bangerth wrote:

>
> Lex,
> you show the backtrace, but what is the actual error message you observe?
> Best
> WB
>
> On 10/24/23 23:08, Lex Lee wrote:
> > *** Caution: EXTERNAL Sender ***
> > 
> > Hello deal.ii develpoers,
> > 
> > 
> > In my FSI problem, the parallization code solved 2 sets of equations 
> using the 
> > "workstream" class interfacing with PETSc. Equation 1 will get known 
> values of 
> > variables in equation 2, and so does equation 2.
> > 
> > The solution for equation 2 is initiallized in this way.
> > 
> > hp_index_set = dof_handler.locally_owned_dofs();
> > hp_relevant_set = DoFTools::extract_locally_relevant_dofs(dof_handler);
> > solution.reinit(hp_index_set,
> > hp_relevant_set,
> > mpi_communicator);
> > 
> > 
> > In the "assemble_local" part, I used this line to get parts of the 
> solution 
> > values.
> > fe_values[extractor_displacement].get_function_gradients(solution, 
> grad_u);
> > 
> > 
> > In the "workstream" part, there are worker, copier, and workstream 
> function.
> > 
> > PerTaskData cp;
> > 
> > auto worker =
> >   [this](const typename DoFHandler::active_cell_iterator &cell,
> >   ScratchData & scratch,
> >   PerTaskData &
>  copy_data) {
> > this->local_assemble_volume(cell, scratch, copy_data);
> >   };
> > auto copier = [this](const PerTaskData ©_data) {
> >this->copy_local_to_global_volume(copy_data);
> > };
> > 
> >   WorkStream::run(CellFilter(IteratorFilters::LocallyOwnedCell(),
> >  volume_dof_handler.begin_active()),
> >   CellFilter(IteratorFilters::LocallyOwnedCell(),
> >  volume_dof_handler.end()),
> >   worker,
> >   copier,
> >   sd,
> >   cp);
> >   volume_system_matrix.compress(VectorOperation::add);
> >   volume_system_rhs.compress(VectorOperation::add);
> > 
> > 
> > Note that I used a cell filter to make the code run on locally owned 
> cells, 
> > instead of ghosted cells.However, an error will occur in the "get 
> function 
> > values" line. It failed to call back the function
> > 
> > get_dof_values(values, local_values.begin(), local_values.end());
> > 
> > in the source file. Refer to the picture below.
> > 
> > The reason is deal.ii somehow tries to get values on ghosted cells, 
> ignoring 
> > the cell filter.
> > 
> > Screenshot from 2023-10-24 21-34-45.png
> > 
> > Screenshot from 2023-10-24 21-35-05.png
> > This puzzled me a lot for a long time. Any suggestion?
> > 
> > Regards,
> > Lex
> > 
> > -- 
> > The deal.II project is located at http://www.dealii.org/ 
> > <http://www.dealii.org/>
> > For mailing list/forum options, see 
> > https://groups.google.com/d/forum/dealii?hl=en 
> > <https://groups.google.com/d/forum/dealii?hl=en>
> > ---
> > You received this message because you are subscribed to the Google 
> Groups 
> > "deal.II User Group" group.
> > To unsubscribe from this group and stop receiving emails from it, send 
> an 
> > email to dealii+un...@googlegroups.com 
> > <mailto:dealii+un...@googlegroups.com>.
> > To view this discussion on the web visit 
> > 
> https://groups.google.com/d/msgid/dealii/d408514c-0f75-4448-8279-ac550830c6c1n%40googlegroups.com
>  
> &l

Re: [deal.II] Getting cmake errors compiling programs

2023-10-24 Thread Lex Lee
I hope deal.ii group could release version 9.5.1 that works with intel 
processor on MacOS platform. 

On Monday, October 9, 2023 at 5:19:03 PM UTC-7 deal.II User Group wrote:

> Hello, everyone
>
> I tried the new image in my laptop with M2 processor and the Ventura Mac 
> OS (13.6). It worked (I successfully ran and compiled the step-1 example). 
> Looks like the issue was with clang 15?
>
> However, I am not sure Alexander will be able to test the new image 
> because his processor is Intel.
>
> I will test deal.II with the PRISMS-PF applications and report if I see 
> any issues. 
>
> Thank you for your help, Luca!
>
> David
>
> On Monday, October 9, 2023 at 5:04:25 AM UTC-4 luca@gmail.com wrote:
>
>> Alexander, 
>>
>> can you try out our new dmg image? 
>>
>>
>> https://github.com/dealii/dealii/releases/download/v9.5.1/dealii-9.5.1-sonoma-arm64-clang15.dmg
>>  
>>
>> I’m preparing also a new one, where the compiler is shipped together with 
>> the image. This should be robust to the next upgrades in the OS. 
>>
>> Best, 
>> Luca. 
>>
>> > On 6 Oct 2023, at 06:06, Alexander Mensah  wrote: 
>> > 
>> > If I use the 'step-1' example, I get the same error (mpic++) as with 
>> the program I want to run. 
>> > 
>> >  
>> > 
>> > On Thursday, October 5, 2023 at 11:42:27 PM UTC-4 Alexander Mensah 
>> wrote: 
>> > No luck 
>> > 
>> > 
>> > 
>> > On Thursday, October 5, 2023 at 6:47:07 PM UTC-4 Wolfgang Bangerth 
>> wrote: 
>> > 
>> > On 10/5/23 15:14, Alexander Mensah wrote: 
>> > > 
>> > > Could someone help me fix this? 
>> > 
>> > I believe that you're trying to call cmake (to configure one of the 
>> > example programs) in the directory 
>> > /Applications/deal.II.app/Contents/Resources/Libraries/examples/... 
>> but 
>> > this is a system directory that you can read files in, but not write 
>> to. 
>> > You might have to copy the tutorial program directory you're trying to 
>> > configure into your home directory. 
>> > 
>> > Best 
>> > W. 
>> > 
>> > 
>> > -- 
>> > The deal.II project is located at http://www.dealii.org/ 
>> > For mailing list/forum options, see 
>> https://groups.google.com/d/forum/dealii?hl=en 
>> > --- 
>> > You received this message because you are subscribed to the Google 
>> Groups "deal.II User Group" group. 
>> > To unsubscribe from this group and stop receiving emails from it, send 
>> an email to dealii+un...@googlegroups.com. 
>> > To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/dealii/3f5e1911-92a1-4c0c-b5e5-42d0b8dc4f7en%40googlegroups.com.
>>  
>>
>> >  
>>
>>

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/845ec702-0f23-4fc1-a711-d10d22ffe255n%40googlegroups.com.


Re: [deal.II] Difference between 2 Wasy to Initialize System Matrix in MPI World

2023-09-28 Thread Lex Lee
Hello Timo, 

Thanks for your reply and suggestion. Now, I know what the difference is.

Since  I'm using "make_flux_sparsity_pattern" function and have to input 
the coupling dofs table -- ''cell coupling" + "face coupling". It seems 
that I have no choice but to use "constraints.condense(dsp)" after 
"make_flux_sparsity_pattern" implementation.  

There are 4 template member functions for "make_flux_sparsity_pattern" in 
this 
link: https://www.dealii.org/current/doxygen/deal.II/group__constraints.html
In my opinion, only #3 is suitable for my case.  

Any better idea?


Again, thanks a lot for sharing your ideas with me. 


Best,
Lex
On Thursday, September 28, 2023 at 1:22:49 PM UTC-7 Timo Heister wrote:

> Lex,
>
> I would strongly advice against using AffineConstraints::condense() in an 
> MPI parallel computation. It is inefficient and also likely incorrect if 
> you run it before distribute_sparsity_pattern().
> Instead, use distribute_local_to_global during assembly (see step-40 for 
> an example).
>
> --
> Timo Heister
> http://www.math.clemson.edu/~heister/
> --
> *From:* dea...@googlegroups.com  on behalf of 
> Lex Lee 
> *Sent:* Wednesday, September 27, 2023 8:15:14 PM
> *To:* deal.II User Group 
> *Subject:* [deal.II] Difference between 2 Wasy to Initialize System 
> Matrix in MPI World 
>  
>
> *This Message Is From An External Sender:* Use caution when opening links 
> or attachments if you do not recognize the sender. 
> Hello all, 
>
>
> Previously, I initialized my system matrix in this way (option A) 
>
> DoFTools::make_flux_sparsity_pattern(dof_handler,
> dsp,
> cell_coupling,
> face_coupling);
> constraints_newton_update.condense(dsp);
> SparsityTools::distribute_sparsity_pattern(dsp,
>hp_index_set,
>mpi_communicator,
>hp_relevant_set);
> system_matrix.reinit(hp_index_set,
>  hp_index_set,
>  dsp,
>  mpi_communicator);
>
> However, the generated system matrix is singular. I was stuck by the 
> singular matrix problem for about 2 weeks.
>
>
> Then, I initialized the matrix with option B, which generates a full rank 
> matrix. Although, I don't see the difference between these 2 ways.  Can 
> someone explain this to me? Thans in advance.
>
> DoFTools::make_flux_sparsity_pattern(dof_handler,
>  dsp,
>  cell_coupling,
>  face_coupling);
> constraints_newton_update.condense(dsp);
> sparsity_pattern.copy_from(dsp);
> system_matrix.reinit(hp_index_set,
>  sparsity_pattern,
>  mpi_communicator);
>
> -- 
> The deal.II project is located at http://www.dealii.org/
> For mailing list/forum options, see 
> https://groups.google.com/d/forum/dealii?hl=en
> --- 
> You received this message because you are subscribed to the Google Groups 
> "deal.II User Group" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to dealii+un...@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/dealii/abecb5ba-e894-47eb-bc0d-1ef5590ba14cn%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/dealii/abecb5ba-e894-47eb-bc0d-1ef5590ba14cn%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/81544eab-000a-4638-9c36-111bb92887c7n%40googlegroups.com.


[deal.II] Re: Difference between 2 Wasy to Initialize System Matrix in MPI World

2023-09-28 Thread Lex Lee
Hi Abbas, thanks for the reply. I did debug with option A, but no error 
reported/no exception is thrown. To me, option A is the same as option B. 
However, the two generated system matrixs in the code are not the same. 

On Thursday, September 28, 2023 at 10:27:17 AM UTC-7 abbas.b...@gmail.com 
wrote:

> Did you try to run in Debug? If not give it a try and see if an exception 
> is thrown. 
>
> Abbas
>
> On Thursday, September 28, 2023 at 3:15:14 AM UTC+2 hitl...@gmail.com 
> wrote:
>
>> Hello all, 
>>
>>
>> Previously, I initialized my system matrix in this way (option A)
>>
>> DoFTools::make_flux_sparsity_pattern(dof_handler,
>> dsp,
>> cell_coupling,
>> face_coupling);
>> constraints_newton_update.condense(dsp);
>> SparsityTools::distribute_sparsity_pattern(dsp,
>>hp_index_set,
>>mpi_communicator,
>>hp_relevant_set);
>> system_matrix.reinit(hp_index_set,
>>  hp_index_set,
>>  dsp,
>>  mpi_communicator);
>>
>> However, the generated system matrix is singular. I was stuck by the 
>> singular matrix problem for about 2 weeks.
>>
>>
>> Then, I initialized the matrix with option B, which generates a full rank 
>> matrix. Although, I don't see the difference between these 2 ways.  Can 
>> someone explain this to me? Thans in advance.
>>
>> DoFTools::make_flux_sparsity_pattern(dof_handler,
>>  dsp,
>>  cell_coupling,
>>  face_coupling);
>> constraints_newton_update.condense(dsp);
>> sparsity_pattern.copy_from(dsp);
>> system_matrix.reinit(hp_index_set,
>>  sparsity_pattern,
>>  mpi_communicator);
>>
>

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/fdcd61c9-ca93-4de7-b644-4b396defe09dn%40googlegroups.com.


[deal.II] Suggestions on PETSc SNES Nonlinear Solver?

2023-09-27 Thread Lex Lee
Hello all, 


In my FSI problem, there are 4 vector-valued variables + 3 scalar 
variables. Most of them are strongly coupled with each other. It's hard to 
decouple the system and design a good preconditoner. Previously, I solved 
the whole system with the direct solver (UMFPACK)  + Newton's iteration 
method. 

Several days ago, I added deal.ii's new nonlinear solver (SNES) into my 
code, and now its default method is jacobian-free newton-krylov. However, 
it behaves bad and never get converged in my case. Maybe I am using it in a 
wrong way, as I heard that SNES solver is powerful.

Do you have the experience in using this nonlinear solver? If yes, could 
you kindly give me some advice for multiple-variable problem? Do I need to 
create block containers for the matrix, solution and right-hand-side ?

Thanks a lot

Lex  

constraints_hp.distribute(dis_current_solution);
current_solution = dis_current_solution;

const double target_tolerance = 1.e-8;
PETScWrappers::NonlinearSolverData additional_data;
additional_data.absolute_tolerance = target_tolerance;
additional_data.snes_linesearch_type = "basic";
//additional_data.snes_type = "ngmres" ;

NonlinearSolver nonlinear_solver(additional_data,mpi_communicator);
nonlinear_solver.residual = [&](const VectorType &evaluation_point,
VectorType & residual){
compute_hp_residual(evaluation_point, residual);
};

bool user_control = false;
if (user_control)
{
nonlinear_solver.setup_jacobian =
[&](const VectorType ¤t_u) {
compute_jacobian_and_initialize_preconditioner(current_u);
};
nonlinear_solver.solve_with_jacobian = [&](const VectorType &rhs,
VectorType &dst) {
this->solve(rhs, dst);
};
//nonlinear_solver.set_matrix(jacobian_matrix);
}
else //jacobian-free newton-krylov
{
nonlinear_solver.set_matrix(jacobian_matrix);
nonlinear_solver.jacobian =
[&](const VectorType ¤t_u, MatrixType &, MatrixType &P) {
Assert(P == jacobian_matrix, ExcInternalError());
compute_hp_jacobian_matrix(current_u);
(void)P;
};
}
nonlinear_solver.monitor =
[&](const VectorType &, unsigned int step, double gnorm) {
pcout << step << " norm=" << gnorm << std::endl;
};

nonlinear_solver.solve(dis_current_solution);
constraints_hp.distribute(dis_current_solution);
current_solution = dis_current_solution;



-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/45f5da23-e270-4bc8-9323-c83a86f3abf6n%40googlegroups.com.


[deal.II] Difference between 2 Wasy to Initialize System Matrix in MPI World

2023-09-27 Thread Lex Lee
Hello all, 


Previously, I initialized my system matrix in this way (option A)

DoFTools::make_flux_sparsity_pattern(dof_handler,
dsp,
cell_coupling,
face_coupling);
constraints_newton_update.condense(dsp);
SparsityTools::distribute_sparsity_pattern(dsp,
   hp_index_set,
   mpi_communicator,
   hp_relevant_set);
system_matrix.reinit(hp_index_set,
 hp_index_set,
 dsp,
 mpi_communicator);

However, the generated system matrix is singular. I was stuck by the 
singular matrix problem for about 2 weeks.


Then, I initialized the matrix with option B, which generates a full rank 
matrix. Although, I don't see the difference between these 2 ways.  Can 
someone explain this to me? Thans in advance.

DoFTools::make_flux_sparsity_pattern(dof_handler,
 dsp,
 cell_coupling,
 face_coupling);
constraints_newton_update.condense(dsp);
sparsity_pattern.copy_from(dsp);
system_matrix.reinit(hp_index_set,
 sparsity_pattern,
 mpi_communicator);

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/abecb5ba-e894-47eb-bc0d-1ef5590ba14cn%40googlegroups.com.


Re: [deal.II] Is It Possible to Make Step-46 Run in Parallel?

2023-09-14 Thread Lex Lee
"You record constraints in an AffineConstraints object,
and that continues to be the work in parallel as well" 

Thanks a lot, Prof. Bangerth.  I may misunderstand the error messages. I 
will try to debug on other parts and keep this topic updated.  

Best,
Lex

On Wednesday, September 13, 2023 at 10:58:12 PM UTC-7 Wolfgang Bangerth 
wrote:

>
> Lex:
>
> > I developed my FSI code based on the FENothing framework used in 
> step-46. 
> > Step-46 shows how to identify the interface between the fluid and solid 
> > domain. Also it shows how to set constraints on variables and how to 
> assemble 
> > terms on the interface. I just used the same logic in my FSI code.
> > 
> > In step-46, the interface handling part gets access to the cells, 
> > cell->neighbours, neighbour of neighbour and global index of the face 
> grids on 
> > the interface. However, things are much different and difficult in 
> parallel 
> > mode, as a cell is locally owned but its neighbour may be not (ghost 
> cells). 
> > In a ghost cell, values are only readable. Therefore, it seems 
> impossible to 
> > set constraints / write values on index of neighbour cells.
>
> No, that is not true. You record constraints in an AffineConstraints 
> object, 
> and that continues to be the work in parallel as well -- see step-40, for 
> example.
>
>
> > I have tried many ways to fix this problem but failed. Do you guys have 
> the 
> > similiar experience on this problem? If yes, how to fix it? Any 
> suggestion?
> You need to be specific about how you tried to fix the problem, and what 
> the 
> error message (or other way of failure) is.
>
> Best
> W.
>
> -- 
> 
> Wolfgang Bangerth email: bang...@colostate.edu
> www: http://www.math.colostate.edu/~bangerth/
>
>
>

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/4b58b234-b7bf-418c-9006-fbc4f1e7d4c5n%40googlegroups.com.


[deal.II] Is It Possible to Make Step-46 Run in Parallel?

2023-09-11 Thread Lex Lee
Hello all,


I developed my FSI code based on the FENothing framework used in step-46. 
Step-46 shows how to identify the interface between the fluid and solid 
domain. Also it shows how to set constraints on variables and how to 
assemble terms on the interface. I just used the same logic in my FSI code.

In step-46, the interface handling part gets access to the cells, 
cell->neighbours, neighbour of neighbour and global index of the face grids 
on the interface. However, things are much different and difficult in 
parallel mode, as a cell is locally owned but its neighbour may be not 
(ghost cells). In a ghost cell, values are only readable. Therefore, it 
seems impossible to set constraints / write values on index of neighbour 
cells. 

I have tried many ways to fix this problem but failed. Do you guys have the 
similiar experience on this problem? If yes, how to fix it? Any suggestion? 

I appreciate any feedback/help from you. 


Lex




-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/2ec98476-f9e0-4a56-9192-3dc59a90c61en%40googlegroups.com.


[deal.II] Request of Step-77-snes.cc File

2023-08-06 Thread Lex Lee
Hello Deal.ii main developers,

I noticed the webpage for tutorial step-77 here 
(https://www.dealii.org/current/doxygen/deal.II/step_77.html) writes:  "let 
us point out that a version of this program that uses SNES instead of 
KINSOL is available as part of the test suite, in the file 
tests/petsc/step-77-snes.cc."

It seems that there exits a code file with no bugs called step-77-snes.cc. 
I checked a lot on my local computer and I am pretty sure there is no such 
files. Does this file really exists? If yes, could you kindly share me the 
complete code file? 

I am learing Jacobian-free Newton Krylov method, and want to play with 
PETSc(snes) library. Thanks a lot.

Best,

Lex Lee


-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/02115ae8-2ecf-4e31-b7cb-618cfc9470c7n%40googlegroups.com.


[deal.II] Connect UMFPACK with Trilinos in deal.II

2023-02-08 Thread Lex Lee
Hello all,


I am using UMFPACK to directly solve my large system equation Ax=b. The 
solver process is very slow, as only one core of CPU is involved while 
running. I am trying to connect UMFPACK with Trilinos, I mean, solve the 
equation in multithread / parallel mode in deal.II. I know some tutorials 
in deal.II library talking about parallel computing, however, it looks like 
not that relevant to my case.

Can someone give me some hints about playing with UMFPACK and Trilinos 
together in deal.II?


Best,
Lex 


-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/ad30ba88-6077-4625-bbbe-36a233aa57bdn%40googlegroups.com.


Re: [deal.II] How to transform points on faces from unit cells to real cells?

2020-06-22 Thread Lex Lee
Doug, thanks for sharing me your ideas and the discussion. -Lex


On Monday, June 22, 2020 at 2:13:25 PM UTC-7, Doug Shi-Dong wrote:
>
> Agreed. Sorry for the confusion. Looked back at my code and it's probably 
> the most straightforward way.
>
> For some other unrelated reason I didn't want to use FEValues and directly 
> deal with the Mapping class.
>
> Doug
>
> On Monday, June 22, 2020 at 5:05:57 PM UTC-4, Simon Sticko wrote:
>>
>> Hi,
>>
>> Lex, given your previous question:
>>
>> https://groups.google.com/forum/#!topic/dealii/xghVE7Km78o
>>
>> If you are already using an FEFaceValues object with a dummy-quadrature 
>> (created from FiniteElement::get_unit_face_support_points())
>> then you can use one of the following functions on FEFaceValues to get 
>> the location of the support points in real space:
>>
>> quadrature_point()
>> get_quadrature_points()
>>
>> Best,
>> Simon
>>
>> On Monday, June 22, 2020 at 10:53:10 PM UTC+2, Lex Lee wrote:
>>>
>>> Hello Doug,
>>>
>>>
>>> Thanks for your help.
>>>
>>> However, I need to say, I just had done exactly what you described 
>>> before I posted this question.
>>>
>>> "FiniteElement::get_unit_face_support_points()” returns Points;
>>>
>>> “transform_unit_to_real_cell()” requires Point as input.
>>>
>>> The dimensions of points in cells is different from that on faces. 
>>> That’s one of the reasons why I posted this question.
>>>
>>>
>>> If I misunderstand you, please kindly let me know.
>>>
>>>
>>>
>>> Regards,
>>> Lex 
>>>
>>>
>>> On Jun 21, 2020, at 7:05 PM, Doug Shi-Dong  wrote:
>>>
>>> Hello Lex,
>>>
>>> transform_unit_to_real_cell() takes a point as unit cell's point an 
>>> input and returns the physical point location. Therefore, you can give the 
>>> unit face support points from the 
>>> FiniteElement::get_unit_face_support_points() (assuming your FiniteElement 
>>> has support points). And pass it to transform_unit_to_real_cell().
>>>
>>> Doug
>>>
>>> On Sunday, June 21, 2020 at 8:10:30 PM UTC-4, Lex Lee wrote:
>>>>
>>>> Hello Doug,
>>>>
>>>> Thanks for your kind help.
>>>>
>>>> I am trying to understand your suggestion in the original email.
>>>>
>>>> Are you suggesting me using the member function 
>>>> "transform_unit_to_real_cell()" to get all support points in a unit cell? 
>>>> In the step, sort out the face points I need? Am I correct?
>>>>
>>>>
>>>> Regards,
>>>>
>>>> Lex
>>>>
>>>> On Sunday, June 21, 2020 at 5:00:35 PM UTC-7, Doug Shi-Dong wrote:
>>>>>
>>>>> Hello Lex,
>>>>>
>>>>> You were close.
>>>>>
>>>>>
>>>>> https://www.dealii.org/current/doxygen/deal.II/classMapping.html#ae5df63553eb8ed170c3b90524853dd48
>>>>>
>>>>> The project_real_point_to_unit_point_on_face() is useful is you take a 
>>>>> "volume" point within the cell. Since you are mapping from unit to real, 
>>>>> you would always know whether your point is on the face or not.
>>>>>
>>>>> Therefore, transform_unit_to_real_cell() should do the trick. Unless 
>>>>> you somehow actually need to project a "volume" point, but projecting 
>>>>> within unit cell is easy, which you would then follow with 
>>>>> transform_unit_to_real_cell().
>>>>>
>>>>> Best regards,
>>>>>
>>>>> Doug
>>>>>
>>>>> On Saturday, June 20, 2020 at 8:16:22 PM UTC-4, Lex Lee wrote:
>>>>>>
>>>>>> Hello Deal.II Users,
>>>>>>
>>>>>>
>>>>>> I want to get the physical (geometry) coordinates for support points 
>>>>>> on cell faces. Also I know that there are such member functions that can 
>>>>>> me 
>>>>>> map points between reference and real cells in this link: 
>>>>>> https://www.dealii.org/current/doxygen/deal.II/classMapping.html . 
>>>>>>
>>>>>> However, via the link mentioned above, I only find a member function 
>>>>>> called project_real_p

Re: [deal.II] How to transform points on faces from unit cells to real cells?

2020-06-22 Thread Lex Lee
Thousands of thanks, Simon, again you helped me a lot. -Lex

On Monday, June 22, 2020 at 2:05:57 PM UTC-7, Simon Sticko wrote:
>
> Hi,
>
> Lex, given your previous question:
>
> https://groups.google.com/forum/#!topic/dealii/xghVE7Km78o
>
> If you are already using an FEFaceValues object with a dummy-quadrature 
> (created from FiniteElement::get_unit_face_support_points())
> then you can use one of the following functions on FEFaceValues to get the 
> location of the support points in real space:
>
> quadrature_point()
> get_quadrature_points()
>
> Best,
> Simon
>
> On Monday, June 22, 2020 at 10:53:10 PM UTC+2, Lex Lee wrote:
>>
>> Hello Doug,
>>
>>
>> Thanks for your help.
>>
>> However, I need to say, I just had done exactly what you described before 
>> I posted this question.
>>
>> "FiniteElement::get_unit_face_support_points()” returns Points;
>>
>> “transform_unit_to_real_cell()” requires Point as input.
>>
>> The dimensions of points in cells is different from that on faces. That’s 
>> one of the reasons why I posted this question.
>>
>>
>> If I misunderstand you, please kindly let me know.
>>
>>
>>
>> Regards,
>> Lex 
>>
>>
>> On Jun 21, 2020, at 7:05 PM, Doug Shi-Dong  wrote:
>>
>> Hello Lex,
>>
>> transform_unit_to_real_cell() takes a point as unit cell's point an input 
>> and returns the physical point location. Therefore, you can give the unit 
>> face support points from the FiniteElement::get_unit_face_support_points() 
>> (assuming your FiniteElement has support points). And pass it to 
>> transform_unit_to_real_cell().
>>
>> Doug
>>
>> On Sunday, June 21, 2020 at 8:10:30 PM UTC-4, Lex Lee wrote:
>>>
>>> Hello Doug,
>>>
>>> Thanks for your kind help.
>>>
>>> I am trying to understand your suggestion in the original email.
>>>
>>> Are you suggesting me using the member function 
>>> "transform_unit_to_real_cell()" to get all support points in a unit cell? 
>>> In the step, sort out the face points I need? Am I correct?
>>>
>>>
>>> Regards,
>>>
>>> Lex
>>>
>>> On Sunday, June 21, 2020 at 5:00:35 PM UTC-7, Doug Shi-Dong wrote:
>>>>
>>>> Hello Lex,
>>>>
>>>> You were close.
>>>>
>>>>
>>>> https://www.dealii.org/current/doxygen/deal.II/classMapping.html#ae5df63553eb8ed170c3b90524853dd48
>>>>
>>>> The project_real_point_to_unit_point_on_face() is useful is you take a 
>>>> "volume" point within the cell. Since you are mapping from unit to real, 
>>>> you would always know whether your point is on the face or not.
>>>>
>>>> Therefore, transform_unit_to_real_cell() should do the trick. Unless 
>>>> you somehow actually need to project a "volume" point, but projecting 
>>>> within unit cell is easy, which you would then follow with 
>>>> transform_unit_to_real_cell().
>>>>
>>>> Best regards,
>>>>
>>>> Doug
>>>>
>>>> On Saturday, June 20, 2020 at 8:16:22 PM UTC-4, Lex Lee wrote:
>>>>>
>>>>> Hello Deal.II Users,
>>>>>
>>>>>
>>>>> I want to get the physical (geometry) coordinates for support points 
>>>>> on cell faces. Also I know that there are such member functions that can 
>>>>> me 
>>>>> map points between reference and real cells in this link: 
>>>>> https://www.dealii.org/current/doxygen/deal.II/classMapping.html . 
>>>>>
>>>>> However, via the link mentioned above, I only find a member function 
>>>>> called project_real_point_to_unit_point_on_face 
>>>>> <https://www.dealii.org/current/doxygen/deal.II/classMapping.html#a078f4e617fdb287e1dc7a5efa227b0ae>
>>>>>  (real 
>>>>> to unit) , no functions like project_unit_point_to_real_point_on_face 
>>>>> (unit to real).  
>>>>>
>>>>> Could someone kindly tell me how I can solve this problem?  
>>>>>
>>>>>
>>>>> Regards,
>>>>>
>>>>> Lex
>>>>>
>>>>
>> -- 
>> The deal.II project is located at http://www.dealii.org/
>> For mailing list/forum options, see 
>> https://groups.google.com/d/forum/dealii?hl=en
>> --- 
>> You received this message because you are subscribed to a topic in the 
>> Google Groups "deal.II User Group" group.
>> To unsubscribe from this topic, visit 
>> https://groups.google.com/d/topic/dealii/uglzE4d4Flo/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to 
>> dea...@googlegroups.com.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/dealii/fd8f078d-f0d4-4319-8977-a9a8e4672fb5o%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/dealii/fd8f078d-f0d4-4319-8977-a9a8e4672fb5o%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>>
>>

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/71053a29-057d-4318-a31c-d418000d92ffo%40googlegroups.com.


Re: [deal.II] How to transform points on faces from unit cells to real cells?

2020-06-22 Thread Lex Lee
Hello Doug,


Thanks for your help.

However, I need to say, I just had done exactly what you described before I 
posted this question.

"FiniteElement::get_unit_face_support_points()” returns Points;

“transform_unit_to_real_cell()” requires Point as input.

The dimensions of points in cells is different from that on faces. That’s one 
of the reasons why I posted this question.


If I misunderstand you, please kindly let me know.



Regards,
Lex 


> On Jun 21, 2020, at 7:05 PM, Doug Shi-Dong  wrote:
> 
> Hello Lex,
> 
> transform_unit_to_real_cell() takes a point as unit cell's point an input and 
> returns the physical point location. Therefore, you can give the unit face 
> support points from the FiniteElement::get_unit_face_support_points() 
> (assuming your FiniteElement has support points). And pass it to 
> transform_unit_to_real_cell().
> 
> Doug
> 
> On Sunday, June 21, 2020 at 8:10:30 PM UTC-4, Lex Lee wrote:
> Hello Doug,
> 
> Thanks for your kind help.
> 
> I am trying to understand your suggestion in the original email.
> 
> Are you suggesting me using the member function 
> "transform_unit_to_real_cell()" to get all support points in a unit cell? In 
> the step, sort out the face points I need? Am I correct?
> 
> 
> Regards,
> 
> Lex
> 
> On Sunday, June 21, 2020 at 5:00:35 PM UTC-7, Doug Shi-Dong wrote:
> Hello Lex,
> 
> You were close.
> 
> https://www.dealii.org/current/doxygen/deal.II/classMapping.html#ae5df63553eb8ed170c3b90524853dd48
>  
> <https://www.dealii.org/current/doxygen/deal.II/classMapping.html#ae5df63553eb8ed170c3b90524853dd48>
> 
> The project_real_point_to_unit_point_on_face() is useful is you take a 
> "volume" point within the cell. Since you are mapping from unit to real, you 
> would always know whether your point is on the face or not.
> 
> Therefore, transform_unit_to_real_cell() should do the trick. Unless you 
> somehow actually need to project a "volume" point, but projecting within unit 
> cell is easy, which you would then follow with transform_unit_to_real_cell().
> 
> Best regards,
> 
> Doug
> 
> On Saturday, June 20, 2020 at 8:16:22 PM UTC-4, Lex Lee wrote:
> Hello Deal.II Users,
> 
> 
> I want to get the physical (geometry) coordinates for support points on cell 
> faces. Also I know that there are such member functions that can me map 
> points between reference and real cells in this link: 
> https://www.dealii.org/current/doxygen/deal.II/classMapping.html 
> <https://www.dealii.org/current/doxygen/deal.II/classMapping.html> . 
> 
> However, via the link mentioned above, I only find a member function called 
> project_real_point_to_unit_point_on_face 
> <https://www.dealii.org/current/doxygen/deal.II/classMapping.html#a078f4e617fdb287e1dc7a5efa227b0ae>
>  (real to unit) , no functions like project_unit_point_to_real_point_on_face 
> (unit to real).  
> 
> Could someone kindly tell me how I can solve this problem?  
> 
> 
> Regards,
> 
> Lex
> 
> -- 
> The deal.II project is located at http://www.dealii.org/ 
> <http://www.dealii.org/>
> For mailing list/forum options, see 
> https://groups.google.com/d/forum/dealii?hl=en 
> <https://groups.google.com/d/forum/dealii?hl=en>
> --- 
> You received this message because you are subscribed to a topic in the Google 
> Groups "deal.II User Group" group.
> To unsubscribe from this topic, visit 
> https://groups.google.com/d/topic/dealii/uglzE4d4Flo/unsubscribe 
> <https://groups.google.com/d/topic/dealii/uglzE4d4Flo/unsubscribe>.
> To unsubscribe from this group and all its topics, send an email to 
> dealii+unsubscr...@googlegroups.com 
> <mailto:dealii+unsubscr...@googlegroups.com>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/dealii/fd8f078d-f0d4-4319-8977-a9a8e4672fb5o%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/dealii/fd8f078d-f0d4-4319-8977-a9a8e4672fb5o%40googlegroups.com?utm_medium=email&utm_source=footer>.

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/6DAFD35C-FD5F-4E41-B879-4C902CAF6E3F%40gmail.com.


[deal.II] Re: How to transform points on faces from unit cells to real cells?

2020-06-21 Thread Lex Lee
Hello Doug,

Thanks for your kind help.

I am trying to understand your suggestion in the original email.

Are you suggesting me using the member function 
"transform_unit_to_real_cell()" to get all support points in a unit cell? 
In the step, sort out the face points I need? Am I correct?


Regards,

Lex

On Sunday, June 21, 2020 at 5:00:35 PM UTC-7, Doug Shi-Dong wrote:
>
> Hello Lex,
>
> You were close.
>
>
> https://www.dealii.org/current/doxygen/deal.II/classMapping.html#ae5df63553eb8ed170c3b90524853dd48
>
> The project_real_point_to_unit_point_on_face() is useful is you take a 
> "volume" point within the cell. Since you are mapping from unit to real, 
> you would always know whether your point is on the face or not.
>
> Therefore, transform_unit_to_real_cell() should do the trick. Unless you 
> somehow actually need to project a "volume" point, but projecting within 
> unit cell is easy, which you would then follow with 
> transform_unit_to_real_cell().
>
> Best regards,
>
> Doug
>
> On Saturday, June 20, 2020 at 8:16:22 PM UTC-4, Lex Lee wrote:
>>
>> Hello Deal.II Users,
>>
>>
>> I want to get the physical (geometry) coordinates for support points on 
>> cell faces. Also I know that there are such member functions that can me 
>> map points between reference and real cells in this link: 
>> https://www.dealii.org/current/doxygen/deal.II/classMapping.html . 
>>
>> However, via the link mentioned above, I only find a member function 
>> called project_real_point_to_unit_point_on_face 
>> <https://www.dealii.org/current/doxygen/deal.II/classMapping.html#a078f4e617fdb287e1dc7a5efa227b0ae>
>>  (real 
>> to unit) , no functions like project_unit_point_to_real_point_on_face 
>> (unit to real).  
>>
>> Could someone kindly tell me how I can solve this problem?  
>>
>>
>> Regards,
>>
>> Lex
>>
>

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/afddc2e8-69fe-4df5-913e-66829dab3195o%40googlegroups.com.


[deal.II] How to transform points on faces from unit cells to real cells?

2020-06-20 Thread Lex Lee
Hello Deal.II Users,


I want to get the physical (geometry) coordinates for support points on 
cell faces. Also I know that there are such member functions that can me 
map points between reference and real cells in this link: 
https://www.dealii.org/current/doxygen/deal.II/classMapping.html . 

However, via the link mentioned above, I only find a member function called 
project_real_point_to_unit_point_on_face 

 (real 
to unit) , no functions like project_unit_point_to_real_point_on_face (unit 
to real).  

Could someone kindly tell me how I can solve this problem?  


Regards,

Lex

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/49ae17a3-0baa-4b5e-bbde-d127eda40cabo%40googlegroups.com.


[deal.II] Re: How to get normal / tangential vectors at nodes, not at quadrature points?

2020-06-05 Thread Lex Lee
Brilliant! Thanks a lot. -Lei Li

On Friday, June 5, 2020 at 4:49:56 AM UTC-7, Simon Sticko wrote:
>
> Hi,
> I suspect that the condition you have would be easier to enforce weakly by 
> adding terms to the weak formulation, as is done in e.g. discontinuous 
> Galerkin.
>
> Nevertheless, if you still want the normals at the nodes you can create a 
> "dummy" quadrature which has the nodes on the face as quadrature points:
>
> const FiniteElement &fe = ... // some element 
>
> const Quadrature quadrature(fe.get_unit_face_support_points());
>
> You can then use this quadrature in FEFaceValues to get the normals. Here, 
> the weights of the dummy quadrature are inf, but if the normals are 
> everything you need that isn't a problem.
>
> Best,
> Simon
>
> On Thursday, June 4, 2020 at 8:09:08 PM UTC+2, Lex Lee wrote:
>>
>> Hello Deal.II Users,
>>
>>
>> I am working on setting a constraint: (V - v_s ) \cdot n =  \phi_f (v_f - 
>> v_s) \cdot n  on three vector variables at the interface with affine 
>> constraint class in Deal.II's library.
>>
>> (Where, V, v_s, and v_f are velocity vectors on two different domains,  
>> and they are coupled with each other at the interface; n is the normal 
>> vector; \phi_f is the volume fraction.)
>>
>>
>> I decided to constrain either V_x= -(...) / n_x  or  V_y= -(...) / n_y 
>> depending on the absolute values of n_x or n_y (n_x and n_y are the 
>> components at x, y directions of the normal vector n).
>>
>> Now, I have a problem with getting the normal vectors *at nodes *when 
>> playing with affine constraint within the fe_nothing and hp:finite element 
>> framework. The relevant function/class I have found in Deal.II's library 
>> all return the normal vector *at quadrature points,* not at nodes.
>>
>> Have you ever encountered a problem like this? Could you kindly share me 
>> your idea of handling this problem? Thousand of thanks. 
>>
>>
>> Best,
>>
>> Lei Li
>>
>>
>>

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/a2a816d5-2cf1-483f-a0c6-967992b10a20o%40googlegroups.com.


[deal.II] How to get normal / tangential vectors at nodes, not at quadrature points?

2020-06-04 Thread Lex Lee
Hello Deal.II Users,


I am working on setting a constraint: (V - v_s ) \cdot n =  \phi_f (v_f - 
v_s) \cdot n  on three vector variables at the interface with affine 
constraint class in Deal.II's library.

(Where, V, v_s, and v_f are velocity vectors on two different domains,  and 
they are coupled with each other at the interface; n is the normal vector; 
\phi_f is the volume fraction.)


I decided to constrain either V_x= -(...) / n_x  or  V_y= -(...) / n_y 
depending on the absolute values of n_x or n_y (n_x and n_y are the 
components at x, y directions of the normal vector n).

Now, I have a problem with getting the normal vectors *at nodes *when 
playing with affine constraint within the fe_nothing and hp:finite element 
framework. The relevant function/class I have found in Deal.II's library 
all return the normal vector *at quadrature points,* not at nodes.

Have you ever encountered a problem like this? Could you kindly share me 
your idea of handling this problem? Thousand of thanks. 


Best,

Lei Li


-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/d0e78c60-d0d0-4748-8252-de28d7ef5a8co%40googlegroups.com.


[deal.II] How to simplify a 2D complex problem to a '1D-like' problem?

2020-04-24 Thread Lex Lee
Hello Deal.II Users,


I am using Deal.II to try to simplify/reduce my complex 2D problem to a 
1D-like problem, namely, let the component values at x-direction of all 
vectors be zero. (for example, V=[v_x,  v_y]' = [0, v_y]') . 
Moreover,  given that the governing equations, boundary conditions and 
geometry stay the same, operators like gradient or divergence applying on 
the variables will not alter the values at x-direction during the process. 
I tried, however, I have no idea how to make it in Deal.II. 

I hope you can kindly share your coding experience or give me some hints 
regarding this problem. Thanks.


Best,
Lex




-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/cacdd8d7-a5f0-4a3b-89b6-f782b8a4cfd0%40googlegroups.com.


[deal.II] Debug to identify pairs of DoFs that are co-lated and correspond to the components.

2020-04-05 Thread Lex Lee
 

Hello all,


I designed a coupled Laplace problem to play with ConstraintMatrix for 
coupled components.  On face \Gamma_4 and \Gamma_2, I let u=0.5v-0.5, 
v=2u+1, respectively .

 


[image: Screen Shot 2020-04-05 at 4.14.41 PM.png]

Both u and v use the same finite element: FE_Q<*dim*>(1), 1, and 
'block_component (2, 0)' is used to store the relevant scalar values. 


Below is the pieces of incompleted codes for my trying to identify pairs of 
DoFs that are coupled and correspond to u and v components. 


However, this part doesn't work. 


Could you kindly help me check some lines? Thanks!






*for* (*const* *auto* &cell : dof_handler.active_cell_iterators())

  {

  *for* (*unsigned* *int* face_number = 0; face_number < GeometryInfo<
*dim*>::faces_per_cell; ++face_number)

  {

  *if* (cell->face(face_number)->at_boundary() &&

  ( cell->face(face_number)->boundary_id() == 4 ) )

  {


  std::vector<*unsigned* *int*> local_face_dof_indices (fe.dofs_per_face
);

  //unsigned int n_nodes=fe.dofs_per_face/2.0;//n_node=1 dofs=u,v

  {

  cell->face(face_number)->get_dof_indices (local_face_dof_indices);

  std::vector<*unsigned* *int*> u_i(fe.dofs_per_face),v_i(fe.
dofs_per_face);

  *unsigned* *int* component;

  {

  *for* (*unsigned* *int* i=0; ihttp://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/1d7faba0-ae5b-428a-8b40-4701551732cc%40googlegroups.com.


[deal.II] How to set up constraints for several different variables at the boundary?

2020-03-27 Thread Lex Lee
Hello all, 


In order to handle the constraint : (v-v_s) \times n=\phi (v_f -v_s) \times 
n at the boundary in my research problem, I designed the following test 
problem to play with ConstraintsMatrix in deal.ii.
 (n is the normal vector, and v, v_s, v_f are the velocities of three 
phases. They and their test functions satisfy the constraints mentioned 
above at the boundary)

Back to the designed problem below. My question is how to set up 
constraints on both u and v at the boundary form Gamma_1 to Gamma_4 in the 
picture? Can someone give me some hints? 

Many thanks in advance.

[image: elohllkbicdofljg.png]



Best,

Lex

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/de4e6d16-2b4a-4833-9113-ff0689d070cf%40googlegroups.com.


Re: [deal.II] How to Make Test Functions Satisfy Certain Constraints

2020-02-17 Thread Lex Lee
Yeah, Daniel, thank you for your kind reply. However, I don't think 
tutorial 1-6 will be helpful/useful to me.

On Monday, February 17, 2020 at 7:04:38 AM UTC-8, Daniel Arndt wrote:
>
> Lex,
>
> Just look at the first six tutorials at 
> https://www.dealii.org/current/doxygen/deal.II/Tutorial.html.
>
> Best,
> Daniel
>
> Am So., 16. Feb. 2020 um 23:45 Uhr schrieb Lex Lee  >:
>
>> Hello all,
>>
>>
>> To numerically solve the governing equations I am studying now, I notice 
>> that the chosen three test functions should satisfy one of the boundary 
>> conditions. Namely, I need to set constraints for the test functions when 
>> developing the codes. I am wondering if I can do it in deal.ii. If so, can 
>> anyone give me some hints, I mean, study/reading material? 
>>
>>
>> Best,
>>
>> Lex Lee
>>
>> -- 
>> The deal.II project is located at http://www.dealii.org/
>> For mailing list/forum options, see 
>> https://groups.google.com/d/forum/dealii?hl=en
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "deal.II User Group" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to dea...@googlegroups.com .
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/dealii/40fa19df-509d-4b78-a98c-db24ab1b2c66%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/dealii/40fa19df-509d-4b78-a98c-db24ab1b2c66%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/c7c4f83c-7a90-4975-bef8-f7141b713423%40googlegroups.com.


[deal.II] How to Make Test Functions Satisfy Certain Constraints

2020-02-16 Thread Lex Lee
Hello all,


To numerically solve the governing equations I am studying now, I notice 
that the chosen three test functions should satisfy one of the boundary 
conditions. Namely, I need to set constraints for the test functions when 
developing the codes. I am wondering if I can do it in deal.ii. If so, can 
anyone give me some hints, I mean, study/reading material? 


Best,

Lex Lee

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/40fa19df-509d-4b78-a98c-db24ab1b2c66%40googlegroups.com.