|
Flow123d
|
#include <darcy_flow_mh_output.hh>

Classes | |
| class | OutputFields |
Public Member Functions | |
| DarcyFlowMHOutput (DarcyFlowMH_Steady *flow, Input::Record in_rec) | |
| ~DarcyFlowMHOutput () | |
| void | output () |
| Calculate values for output. More... | |
Static Public Attributes | |
| static Input::Type::Record | input_type |
Private Member Functions | |
| void | make_side_flux () |
| void | make_element_scalar () |
| void | make_element_vector () |
| void | make_sides_scalar () |
| void | make_node_scalar_param () |
| Calculate nodes scalar, store it in double* node_scalars instead of node->scalar. More... | |
| void | make_node_scalar () |
| void | make_corner_scalar (vector< double > &node_scalar) |
| void | make_neighbour_flux () |
| void | output_internal_flow_data () |
| void | compute_l2_difference () |
| void | water_balance () |
| double | calc_water_balance () |
Private Attributes | |
| DarcyFlowMH_Steady * | darcy_flow |
| Mesh * | mesh_ |
| Input::Record | in_rec_ |
| Accessor to the input record for the DarcyFlow output. More... | |
| vector< double > | corner_pressure |
| vector< double > | ele_pressure |
| vector< double > | ele_piezo_head |
| vector< double > | subdomains |
| vector< double > | ele_flux |
| std::vector< double > | l2_diff_pressure |
| std::vector< double > | l2_diff_velocity |
| std::vector< double > | l2_diff_divergence |
| Vec | vec_corner_pressure |
| DOFHandlerMultiDim * | dh |
| MappingP1< 1, 3 > | map1 |
| MappingP1< 2, 3 > | map2 |
| MappingP1< 3, 3 > | map3 |
| FE_P_disc< 1, 1, 3 > | fe1 |
| FE_P_disc< 1, 2, 3 > | fe2 |
| FE_P_disc< 1, 3, 3 > | fe3 |
| OutputFields | output_fields |
| OutputTime * | output_stream |
| FILE * | balance_output_file |
| Temporary solution for writing balance into separate file. More... | |
| FILE * | raw_output_file |
| Raw data output file. More... | |
Actually this class only collect former code from postprocess.* This code depends on values stored in mesh and has to be changed to use fields or other data provided by interface to darcy_flow. We have to relay on the interface in order to allow different implementation of darcy_flow.
Principal functionalities of current postprocess are:
Further functionality of this class should be:
Definition at line 67 of file darcy_flow_mh_output.hh.
| DarcyFlowMHOutput::DarcyFlowMHOutput | ( | DarcyFlowMH_Steady * | flow, |
| Input::Record | in_rec | ||
| ) |
Definition at line 95 of file darcy_flow_mh_output.cc.
| DarcyFlowMHOutput::~DarcyFlowMHOutput | ( | ) |
Definition at line 170 of file darcy_flow_mh_output.cc.
|
private |
|
private |
Temporary hack. Calculate approximation of L2 norm for: 1) difference between regularized pressure and analytical solution (using FunctionPython) 2) difference between RT velocities and analytical solution 3) difference of divergence
TODO: 1) implement field objects 2) implement DG_P2 finite elements 3) implement pressure postprocessing (result is DG_P2 field) 4) implement calculation of L2 norm for two field (compute the norm and values on individual elements as P0 field)
Definition at line 859 of file darcy_flow_mh_output.cc.

|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Calculate nodes scalar, store it in double* node_scalars instead of node->scalar.
< tmp variable for storing particular distance node –> element, node –> side*/
Iterators
< number of nodes in the mesh */
< index of each node */
< sum elements joined to node */
< sum sides joined to node */
< sum distances to all joined elements */
< Sum distances to all joined sides */
tmp variables, will be replaced by ini keys TODO include them into ini file
< scalar is counted via elements*/
< scalar is counted via sides */
init arrays
first pass - calculate sums (weights)
< get Node pointer from element */
< get nod index from mesh */
< get Node pointer from element */
< get nod index from mesh */
second pass - calculate scalar
< get Node pointer from element */
< get nod index from mesh */
TODO - calculate it again or store it in prior pass
< get Node pointer from element */
< get nod index from mesh */
TODO - calculate it again or store it in prior pass
free memory
Definition at line 318 of file darcy_flow_mh_output.cc.

|
private |
|
private |
| void DarcyFlowMHOutput::output | ( | ) |
Calculate values for output.
Definition at line 195 of file darcy_flow_mh_output.cc.

|
private |
|
private |
Calculate and output water balance over material subdomains and boudary fluxes. Works only for steady flow.
TODO:
Definition at line 567 of file darcy_flow_mh_output.cc.

|
private |
Temporary solution for writing balance into separate file.
Definition at line 200 of file darcy_flow_mh_output.hh.
|
private |
This we need to allow piezo output and nead not to modify all test outputs. It should be replaced by more general scheme, where you can switch every output field on or off.Pressure head (in [m]) interpolated into nodes. Provides P1 approximation. Indexed by node indexes in mesh. Pressure head (in [m]) interpolated into nodes. Provides P1 approximation. Indexed by element-node numbering.
Definition at line 169 of file darcy_flow_mh_output.hh.
|
private |
Definition at line 152 of file darcy_flow_mh_output.hh.
|
private |
Definition at line 187 of file darcy_flow_mh_output.hh.
|
private |
Average flux in barycenter of every element. Indexed as elements in the mesh.
Definition at line 181 of file darcy_flow_mh_output.hh.
|
private |
Piezo-metric head (in [m]) in barycenter of elements (or equivalently mean pressure over every element). Indexed by element indexes in the mesh.
Definition at line 173 of file darcy_flow_mh_output.hh.
|
private |
Pressure head (in [m]) in barycenters of elements (or equivalently mean pressure over every element). Indexed by element indexes in the mesh.
Definition at line 171 of file darcy_flow_mh_output.hh.
|
private |
Definition at line 191 of file darcy_flow_mh_output.hh.
|
private |
Definition at line 192 of file darcy_flow_mh_output.hh.
|
private |
Definition at line 193 of file darcy_flow_mh_output.hh.
|
private |
Accessor to the input record for the DarcyFlow output.
Definition at line 158 of file darcy_flow_mh_output.hh.
|
static |
Definition at line 96 of file darcy_flow_mh_output.hh.
|
private |
Definition at line 184 of file darcy_flow_mh_output.hh.
|
private |
Definition at line 184 of file darcy_flow_mh_output.hh.
|
private |
Definition at line 184 of file darcy_flow_mh_output.hh.
|
private |
Definition at line 188 of file darcy_flow_mh_output.hh.
|
private |
Definition at line 189 of file darcy_flow_mh_output.hh.
|
private |
Definition at line 190 of file darcy_flow_mh_output.hh.
|
private |
Definition at line 153 of file darcy_flow_mh_output.hh.
|
private |
Definition at line 195 of file darcy_flow_mh_output.hh.
|
private |
Definition at line 197 of file darcy_flow_mh_output.hh.
|
private |
Raw data output file.
Definition at line 202 of file darcy_flow_mh_output.hh.
|
private |
have to copy vector<int> provided by Mesh, in order to use FieldElementwise TEMPORARY SOLUTION
Definition at line 176 of file darcy_flow_mh_output.hh.
|
private |
Definition at line 186 of file darcy_flow_mh_output.hh.
1.8.4